mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
170ad4f5db
* - disable device when error indecates that the problem is not solvable on reconnect
- introduce a preOpenDelay of 2 seconds (currently value is hardcoded)
* rs232:
- make preOpenDelay available via webui
- fix preOpenDelay
- add basic usb serial detection
* - revert 3819ae7
- fix schema files
* make json checks compat with utf8+bom
* make shutdown effect a bit more flexible
55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
import hyperion, time, subprocess
|
|
|
|
def setPixel(x,y,rgb):
|
|
global imageData, width
|
|
offset = y*width*3 + x*3
|
|
if offset+2 < len(imageData):
|
|
imageData[offset] = rgb[0]
|
|
imageData[offset+1] = rgb[1]
|
|
imageData[offset+2] = rgb[2]
|
|
|
|
# Initialize the led data and args
|
|
sleepTime = float(hyperion.args.get('speed', 1.0))*0.5
|
|
alarmColor = hyperion.args.get('alarm-color', (255,0,0))
|
|
postColor = hyperion.args.get('post-color', (255,174,11))
|
|
off = bool(hyperion.args.get('shutdown-enabled', False))
|
|
initialBlink = bool(hyperion.args.get('initial-blink', True))
|
|
setPostColor = bool(hyperion.args.get('set-post-color', True))
|
|
|
|
width = 12
|
|
height = 10
|
|
|
|
imageData = bytearray(height * width * (0,0,0))
|
|
|
|
# Start the write data loop
|
|
if initialBlink:
|
|
for i in range(6):
|
|
if hyperion.abort():
|
|
off = False
|
|
break
|
|
if i % 2:
|
|
hyperion.setColor(alarmColor[0], alarmColor[1], alarmColor[2])
|
|
else:
|
|
hyperion.setColor(0, 0, 0)
|
|
time.sleep(sleepTime)
|
|
|
|
for y in range(height,0,-1):
|
|
if hyperion.abort():
|
|
off = False
|
|
break
|
|
for x in range(width):
|
|
setPixel(x, y-1, alarmColor)
|
|
hyperion.setImage(width, height, imageData)
|
|
time.sleep(sleepTime)
|
|
time.sleep(1)
|
|
|
|
if setPostColor:
|
|
for y in range(height):
|
|
for x in range(width):
|
|
setPixel(x, y, postColor)
|
|
hyperion.setImage(width, height, imageData)
|
|
time.sleep(2)
|
|
|
|
if off and not hyperion.abort():
|
|
subprocess.call("halt")
|