sk6812: store current state (not used for now).

This commit is contained in:
Martin Preuss
2026-05-04 10:26:14 +02:00
parent 9613157753
commit 10fcb053a0

View File

@@ -32,6 +32,7 @@
.dseg
sk6812DataBegin:
sk6812State: .byte 1 ; 0=off, other values: on
sk6812NumLeds: .byte 1
sk6812Pattern: .byte 5*SK6812_PATTERN_NUM ; 1 byte num leds, 4 bytes colour (RGBW)
sk6812RGBW: .byte 4 ; current RGBW value
@@ -282,6 +283,7 @@ sk6812SetState:
lds r21, sk6812RGBW+3
rcall sk6812SetAllColor ; (r16, r17, r23, r24, r25)
ldi r18, 1
sts sk6812State, r18
rjmp sk6812ReportState
sk6812SetState_off:
clr r18
@@ -290,6 +292,7 @@ sk6812SetState_off:
clr r21
rcall sk6812SetAllColor ; (r16, r17, r23, r24, r25)
ldi r18, 0
sts sk6812State, r18
rjmp sk6812ReportState ; (R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, X)
; @end
@@ -308,7 +311,7 @@ sk6812SetState_off:
sk6812SendPattern:
sk6812SendPattern_loop1:
ld r23, X+ ; num leds
tst r23
tst r23
brne sk6812SendPattern_readandset
ret ; no leds, done
sk6812SendPattern_readandset: