sk6812: added SetValueType.

This commit is contained in:
Martin Preuss
2026-03-25 20:46:15 +01:00
parent 0c810a7842
commit f1d67027fa

View File

@@ -27,44 +27,62 @@ sk6812SetValueRGBW:
rcall SK6812_Trigger
ldi r18, 1
rcall sk6812SetState
rjmp sk6812SetValueReturn
rjmp sk6812SetValueACK
; @end
sk6812SetValueNumLeds:
sts sk6812NumLeds, r18
rjmp sk6812SetValueReturn
rjmp sk6812SetValueACK
; @end
sk6812SetValueState:
rcall SK6812_SetState ; value is in R18 (r16, r17, r18, r19, r20, r21, r23, r24, r25)
rjmp sk6812SetValueReturn
rjmp sk6812SetValueACK
; @end
sk6812SetValueMode:
rcall SK6812_SetMode ; value is in R18 (r16, r17, r18, r19, r20, r21, r23, r24, r25)
rjmp sk6812SetValueReturn
rjmp sk6812SetValueACK
; @end
sk6812SetValueReturn:
sk6812SetValueType:
cpi r18, SK6812_TYPE_NUM
brcc sk6812SetValueNACK
sts sk6812Type, r18
rjmp sk6812SetValueACK
; @end
sk6812SetValueACK:
ldi r23, NETMSG_CMD_VALUE_SET_ACK
sec
ret
; @end
sk6812SetValueNACK:
ldi r23, NETMSG_CMD_VALUE_SET_NACK
sec
ret
; @end
sk6812MsgTable:
.db NETMSG_CMD_VALUE_SET, VALUE_ID_LED_RGBW_VALUE, LOW(sk6812SetValueRGBW), HIGH(sk6812SetValueRGBW)
.db NETMSG_CMD_VALUE_SET, VALUE_ID_LED_NUMLEDS, LOW(sk6812SetValueNumLeds), HIGH(sk6812SetValueNumLeds)
.db NETMSG_CMD_VALUE_SET, VALUE_ID_LED_STATE, LOW(sk6812SetValueState), HIGH(sk6812SetValueState)
.db NETMSG_CMD_VALUE_SET, VALUE_ID_LED_MODE, LOW(sk6812SetValueMode), HIGH(sk6812SetValueMode)
.db NETMSG_CMD_VALUE_SET, VALUE_ID_LED_TYPE, LOW(sk6812SetValueType), HIGH(sk6812SetValueType)
.db 0, 0, 0, 0