avr: use HWSTATE instead of STATE for reports (reflects real actor state).
This commit is contained in:
@@ -31,7 +31,7 @@ AppFanControl_ReportState:
|
||||
|
||||
ldd r16, Y+HTIM_RAM_OFFS_FLAGS
|
||||
clr r18
|
||||
sbrc r16, HTIM_FLAGBIT_STATE
|
||||
sbrc r16, HTIM_FLAGBIT_HWSTATE
|
||||
inc r18
|
||||
ldi r17, VALUE_ID_FANCTRL_STATE
|
||||
clr r19
|
||||
|
||||
@@ -31,7 +31,7 @@ AppLightControl_ReportState:
|
||||
|
||||
ldd r16, Y+HTIM_RAM_OFFS_FLAGS
|
||||
clr r18
|
||||
sbrc r16, HTIM_FLAGBIT_STATE
|
||||
sbrc r16, HTIM_FLAGBIT_HWSTATE
|
||||
inc r18
|
||||
ldi r17, VALUE_ID_LIGHTCONTROL_STATE
|
||||
clr r19
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
.equ HTIM_FLAGBIT_ACTIVE = 7
|
||||
.equ HTIM_FLAGBIT_ACTORENABLED = 6
|
||||
.equ HTIM_FLAGBIT_STATE = 5
|
||||
.equ HTIM_FLAGBIT_HWSTATE = 4
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -230,6 +230,9 @@ htimCallActorOn:
|
||||
mov r16, r18
|
||||
or r16, r19
|
||||
breq htimCallActorOn_ret
|
||||
|
||||
sbr r17, (1<<HTIM_FLAGBIT_HWSTATE)
|
||||
std Y+HTIM_RAM_OFFS_FLAGS, r17
|
||||
push r18 ; jmp via stack
|
||||
push r19
|
||||
htimCallActorOn_ret:
|
||||
@@ -247,7 +250,7 @@ htimCallActorOn_ret:
|
||||
|
||||
htimCallActorOff:
|
||||
ldd r17, Y+HTIM_RAM_OFFS_FLAGS
|
||||
cbr r17, (1<<HTIM_FLAGBIT_STATE)
|
||||
cbr r17, (1<<HTIM_FLAGBIT_STATE) | (1<<HTIM_FLAGBIT_HWSTATE)
|
||||
std Y+HTIM_RAM_OFFS_FLAGS, r17
|
||||
|
||||
adiw zh:zl, HTIM_FLASH_OFFS_OFF_PTR_LO
|
||||
|
||||
Reference in New Issue
Block a user