48 lines
1.5 KiB
NASM
48 lines
1.5 KiB
NASM
; ***************************************************************************
|
|
; copyright : (C) 2026 by Martin Preuss
|
|
; email : martin@libchipcard.de
|
|
;
|
|
; ***************************************************************************
|
|
; * This file is part of the project "AqHome". *
|
|
; * Please see toplevel file COPYING of that project for license details. *
|
|
; ***************************************************************************
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; @routine LedSimple_OnPacketReceived @global
|
|
;
|
|
; @clobbers any, -X
|
|
|
|
LedSimple_OnPacketReceived:
|
|
adiw xh:xl, NETMSG_OFFS_CMD ; command
|
|
ld r16, X
|
|
sbiw xh:xl, NETMSG_OFFS_CMD
|
|
cpi r16, NETMSG_CMD_VALUE_SET
|
|
breq LedSimple_OnPacketReceived_set
|
|
clc ; unexpected msg
|
|
ret
|
|
LedSimple_OnPacketReceived_set:
|
|
rcall NETMSG_ValueRead ; (none)
|
|
cpi r17, VALUE_ID_LEDSIMPLE_TIMING
|
|
breq LedSimple_OnPacketReceived_setTiming
|
|
clc
|
|
ret
|
|
LedSimple_OnPacketReceived_setTiming:
|
|
tst r18
|
|
breq LedSimple_OnPacketReceived_setDefaultTiming
|
|
ldi r20, 60
|
|
rcall LedSimple_SetTiming
|
|
rjmp LedSimple_OnPacketReceived_sendAck
|
|
LedSimple_OnPacketReceived_setDefaultTiming:
|
|
rcall LedSimple_SetDefaultTiming
|
|
LedSimple_OnPacketReceived_sendAck:
|
|
push xl
|
|
push xh
|
|
ldi r23, NETMSG_CMD_VALUE_SET_ACK
|
|
rcall Main_SendValueResponse
|
|
pop xh
|
|
pop xl
|
|
sec
|
|
ret
|
|
; @end
|