it would take one state cycle ( 50ms ) to do that. The air pump can't drive the fluid level that fast. We can keep it for redundancy but the system would have much bigger problems going on for that to happen.
This is the only position where its unassigned (changed due to revert below). The counter itself is more controller level than driver level as the persistence counter may be different in other modes of operation. This counter is specifically here to hold the air pump on 100ms after upper level is detecting air. Should this check be moved to airpump.c?
Are there any other ways to exit this state without zeroing this counter (e.g. going to manual control in first if above)? Generally difficult to get all of the places where exiting a state. Safer to reset things on entry (i.e. line 359 above).
Safer to zero this when you turn the pump on (could be done in one place in setAirPumpState function) - that way you don't have to worry about zeroing it everywhere you stop the pump.
Compiler will align structures to 32-bits by default. Use "#pragma pack(push,1)" above structure declaration and "#pragma pack(pop)" below declaration to tell the compiler to pack/compress structures to 1 byte (8-bit) alignment.
// When alarm status 0 is sent from HD to clear/hide the AlarmDialog, it comes with priority 0 // priority 0 has no clear definition; therefore, UI will set the coloring to the default system theme: blue. // The blue color is confusing users, so we skip this coloring.
You are running release
CR4.8.14
FE4.8.14
(20240111091859 2024-01-11 09:20),
please report your release number when reporting bugs.