avr: improved module SK6812 and app MA_LIGHT.

- RGBW values are now only set by SK6812
- MA_LIGHT can now also take into account a brightness value reported
  by any node to switch on light only after dawn
This commit is contained in:
Martin Preuss
2025-09-22 15:09:45 +02:00
parent 42e477098c
commit 666e7690a6
15 changed files with 354 additions and 78 deletions

View File

@@ -28,17 +28,29 @@ SK6812_OnPacketReceived_set:
breq SK6812_OnPacketReceived_setRGBW
cpi r17, VALUE_ID_LED_NUMLEDS
breq SK6812_OnPacketReceived_setNumLeds
cpi r17, VALUE_ID_LED_STATE
breq SK6812_OnPacketReceived_setState
clc
ret
SK6812_OnPacketReceived_setRGBW:
push r17
push r24
push r25
rcall SK6812_SetAllColor ; value is in R18-R21 (r16, r17, r23, r24, r25)
rcall SK6812_SetRGBW ; value is in R18-R21 (R16, R17, X)
pop r25
pop r24
pop r17
rjmp SK6812_OnPacketReceived_sendAck
SK6812_OnPacketReceived_setState:
push r17
push r24
push r25
rcall SK6812_SetState ; value is in R18 (r16, r17, r18, r19, r20, r21, r23, r24, r25)
pop r25
pop r24
pop r17
rjmp SK6812_OnPacketReceived_sendAck
SK6812_OnPacketReceived_setNumLeds:
sts sk6812NumLeds, r18
SK6812_OnPacketReceived_sendAck: