You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(diag): byte 66 bit 7 is a mode flag, not a fault
Engaging 8 C frost-guard heat made `faults` report FAULT(S) PRESENT on a
perfectly healthy unit.
Byte 66 bit 7 sets while frost-guard is engaged and clears when it is released,
observed on hardware during the t_8heat bring-up. Byte 66 is mapped as fault
group 0x33, and HisenseFaults.any deliberately ORs the RAW bytes so that an
unnamed bit still counts as a fault. That rule is right, but it made a mode flag
read as a fault.
Masked with HISENSE_FAULT_NONFAULT_PROTECT, and the console's unnamed-bit
reporting aligned to match.
The mask is deliberately narrow: ONLY bits proven not to be faults belong in it.
Unnamed bits stay counted, because a bit we cannot name is still the A/C
reporting something, and answering 'healthy' because we lack a name for it is
the worst failure a diagnostics feature can have. This is an exception to that
rule, not a relaxation of it, and the tests pin that distinction: bit 7 alone
does not raise a fault, bit 4 still does, the two together still do, and any
OTHER unnamed bit in the same byte still does.
Worth noting how this was caught: the frame-diff tool prints UNNAMED for bits it
has no name for rather than ignoring them. A tool that reported only known bits
would have hidden it, and the false alarm would have shipped.
Tests: 316 codec (was 310).
Assisted-by: AI
0 commit comments