Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -r61716bc97ecca8af1ec560333844a8cf602eccb0 -raa4db7d76566ad7473f896e543f71fdbbc921ea9 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision 61716bc97ecca8af1ec560333844a8cf602eccb0) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision aa4db7d76566ad7473f896e543f71fdbbc921ea9) @@ -30,9 +30,11 @@ #include "ModeInitPOST.h" #include "NVDataMgmt.h" #include "OperationModes.h" +#include "reg_crc.h" #include "RTC.h" #include "SafetyShutdown.h" #include "SyringePump.h" +#include "system.h" #include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Valves.h" @@ -185,7 +187,7 @@ postState = handlePOSTStatus( testStatus ); break; - case POST_STATE_DIALYSATE_FLOW: + case POST_STATE_DIALYSATE_INLET_FLOW: testStatus = execDialInFlowTest(); postState = handlePOSTStatus( testStatus ); break; @@ -431,12 +433,16 @@ // when the event data can be sent if ( ++startPOSTDelayCounter > START_POST_DELAY_COUNT ) { + U32 resetReason = systemREG1->SYSESR | crcREG->PSA_SIGREGL1; // power-on reset bit preserved in an unused CRC register + + systemREG1->SYSESR = systemREG1->SYSESR; // clear reset bit(s) after logging event so subsequent resets can be properly identified as not being power-on resets. + sendUIVersionRequest(); // Send the startup event - SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, systemREG1->SYSESR, systemREG1->GBLSTAT ) // log startup event w/ reset reason(s) bits - systemREG1->SYSESR &= ~((U32)0x00008000); // clear power-on reset bit after logging event so subsequent resets can be properly identified as not being power-on resets. - SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, systemREG1->DEV, 0x12345678 ) // log startup event w/ device ID bits + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, resetReason, systemREG1->GBLSTAT ) // log startup event w/ reset reason(s) bits + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_STARTUP, systemREG1->DEV, 0x12345678 ) // log startup event w/ device ID bits + // Send the first submode change event. It is the mode Init and it does not start from a previous // mode previous and current are both published as Init SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_OP_MODE_CHANGE, MODE_INIT, MODE_INIT )