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