mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
ed5455458b
* Handle Exceptions in main & Pythoninit * Have SSDPDiscover generic again * Have SSDPDiscover generic again * Change Info- to Debug logs as technical service messages * Nanoleaf - When switched on, ensure UDP mode * Include SQL Database in Cross-Compile instructions * Fix Clazy (QT code checker) and clang Warnings * Stop LedDevice:write for disabled device * Nanoleaf: Fix uint printfs * NanoLeaf: Fix indents to tabs * NanoLeaf - Add debug verbosity switches * Device switchability support, FileDevice with timestamp support * Nanoleaf Light Panels now support External Control V2 * Enhance LedDeviceFile by Timestamp + fix readyness * Stop color stream, if LedDevice disabled * Nanoleaf - remove switchability * Fix MultiColorAdjustment, if led-range is greater lednum * Fix logging * LedFileDevice/LedDevice - add testing support * New "Led Test" effect * LedDeviceFile - Add chrono include + Allow Led rewrites for testing * Stabilize Effects for LedDevices where latchtime = 0 * Update LedDeviceFile, allow latchtime = 0 * Distangle LinearColorSmoothing and LEDDevice, Fix Effect configuration updates * Updates LedDeviceFile - Initialize via Open * Updates LedDeviceNanoleaf - Initialize via Open, Remove throwing exceptions * Updates ProviderUDP - Remove throwing exceptions * Framebuffer - Use precise timer * TestSpi - Align to LedDevice updates * Pretty Print CrossCompileHowTo as markdown-file * Ensure that output is only written when LedDevice is ready * Align APA102 Device to new device staging * Logger - Remove clang warnings on extra semicolon * Devices SPI - Align to Device stages and methods * Fix cppcheck and clang findings * Add Code-Template for new Devices * Align devices to stages and methods, clean-up some code * Allow to reopen LedDevice without restart * Revert change "Remove Connect (PriorityMuxer::visiblePriorityChanged -> Hyperion::update) due to double writes" * Remove visiblePriorityChanged from LedDevice to decouple LedDevice from hyperion logic * Expose LedDevice getLedCount and align signedness
61 lines
1.3 KiB
Python
61 lines
1.3 KiB
Python
# testleds can be :
|
|
# "all" to test all the leds
|
|
# a single led number, a list of led numbers
|
|
|
|
import hyperion
|
|
import time
|
|
#import colorsys
|
|
|
|
# Get parameters
|
|
sleepTime = float(hyperion.args.get('sleepTime', 0.2))
|
|
testleds = hyperion.args.get('testleds', "all")
|
|
ledlist = hyperion.args.get('ledlist', "1")
|
|
|
|
testlist = ()
|
|
if (testleds == "list") and (type(ledlist) is str):
|
|
for s in ledlist.split(','):
|
|
i = int(s)
|
|
if (i<hyperion.ledCount):
|
|
testlist += (i,)
|
|
elif (testleds == "list") and (type(ledlist) is list):
|
|
for s in (ledlist):
|
|
i = int(s)
|
|
if (i<hyperion.ledCount):
|
|
testlist += (i,)
|
|
else:
|
|
testlist = range(hyperion.ledCount)
|
|
|
|
def TestRgb( iteration ):
|
|
|
|
switcher = {
|
|
0: (255, 0, 0),
|
|
1: (0, 255, 0),
|
|
2: (0, 0, 255),
|
|
3: (255, 255, 255),
|
|
4: (0, 0, 0),
|
|
}
|
|
|
|
return switcher.get(iteration, (127,127,127) )
|
|
|
|
ledData = bytearray(hyperion.ledCount * (0,0,0) )
|
|
i = 0
|
|
while not hyperion.abort():
|
|
j = i % 5
|
|
if (testleds == "all"):
|
|
for lednum in testlist:
|
|
rgb = TestRgb( j )
|
|
ledData[3*lednum+0] = rgb[0]
|
|
ledData[3*lednum+1] = rgb[1]
|
|
ledData[3*lednum+2] = rgb[2]
|
|
else:
|
|
for lednum in testlist:
|
|
rgb = TestRgb( j )
|
|
ledData[3*lednum+0] = rgb[0]
|
|
ledData[3*lednum+1] = rgb[1]
|
|
ledData[3*lednum+2] = rgb[2]
|
|
|
|
hyperion.setColor (ledData)
|
|
i += 1
|
|
time.sleep(sleepTime)
|
|
|