Refine blink feature
This commit is contained in:
+35
-8
@@ -136,7 +136,10 @@ async def setColor(request):
|
||||
|
||||
__setBusyLightColor(color, blBrightness)
|
||||
|
||||
return {'status': blStatus}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
@app.route('/api/status/<status>', methods=['GET', 'POST'])
|
||||
async def setStatus(request, status):
|
||||
@@ -154,7 +157,10 @@ async def setStatus(request, status):
|
||||
else:
|
||||
return {'error': 'unknown /api/status/' + lStatus + ' route'}, 404
|
||||
|
||||
return {'status': blStatus}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
async def __blinkTask(color, brightness, frequency, duration):
|
||||
global blBlinking, blStatus, blColor, blBrightness
|
||||
@@ -181,7 +187,10 @@ async def __blinkTask(color, brightness, frequency, duration):
|
||||
async def blinkStop(request):
|
||||
global blBlinking
|
||||
blBlinking = False
|
||||
return {'status': blStatus}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
@app.post('/api/blink')
|
||||
async def setBlink(request):
|
||||
@@ -215,7 +224,13 @@ async def setBlink(request):
|
||||
# Launch blink task
|
||||
asyncio.create_task(__blinkTask(savedColor, savedBrightness, frequency, duration))
|
||||
|
||||
return {'status': 'blinking', 'frequency': frequency, 'duration': duration}
|
||||
elapsed = time.ticks_diff(time.ticks_ms(), blBlinkStartTime) / 1000.0
|
||||
remains = max(0.0, blBlinkDuration - elapsed)
|
||||
isblinking = True
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
@app.get('/api/blink')
|
||||
async def getBlink(request):
|
||||
@@ -226,7 +241,7 @@ async def getBlink(request):
|
||||
remains = 0.0
|
||||
|
||||
return {
|
||||
'isblinking': blBlinking,
|
||||
'blinking': blBlinking,
|
||||
'frequency': blBlinkFrequency,
|
||||
'duration': blBlinkDuration,
|
||||
'remains': remains
|
||||
@@ -240,13 +255,22 @@ async def getColor(request):
|
||||
|
||||
@app.get('/api/status')
|
||||
async def getStatus(request):
|
||||
return {'status': blStatus}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
@app.get('/api/debug')
|
||||
async def getDebugInfo(request):
|
||||
r, g, b = blColor
|
||||
dr, dg, db = neoPixelStrip.__getitem__(0)
|
||||
return {'status': blStatus, 'brightness': blBrightness, 'color': {'r': r, 'g': g, 'b': b}, 'dimColor': {'r': dr, 'g': dg, 'b': db}}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking,
|
||||
'brightness': blBrightness,
|
||||
'color': {'r': r, 'g': g, 'b': b},
|
||||
'dimColor': {'r': dr, 'g': dg, 'b': db}
|
||||
}
|
||||
|
||||
@app.post('/api/mutedeck-webhook')
|
||||
async def mutedeckWebhook(request):
|
||||
@@ -270,7 +294,10 @@ async def mutedeckWebhook(request):
|
||||
else:
|
||||
__setBusyLightStatus('available')
|
||||
|
||||
return {'status': blStatus}
|
||||
return {
|
||||
'status': blStatus,
|
||||
'blinking': blBlinking
|
||||
}
|
||||
|
||||
|
||||
@app.post('/shutdown')
|
||||
|
||||
Reference in New Issue
Block a user