avr: use HWSTATE instead of STATE for reports (reflects real actor state).

This commit is contained in:
Martin Preuss
2026-08-31 13:39:28 +02:00
parent 5a0a7e415a
commit 0fc89acb98
4 changed files with 7 additions and 3 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -39,6 +39,7 @@
.equ HTIM_FLAGBIT_ACTIVE = 7
.equ HTIM_FLAGBIT_ACTORENABLED = 6
.equ HTIM_FLAGBIT_STATE = 5
.equ HTIM_FLAGBIT_HWSTATE = 4

View File

@@ -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