Index: firmware/App/Controllers/BloodLeak.c =================================================================== diff -u -rc68065fe2cfcfee46eae9d8a8af68b42b662661c -r06fc887b00bc2ff2398074e7ee1a2c264b6a2809 --- firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision c68065fe2cfcfee46eae9d8a8af68b42b662661c) +++ firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision 06fc887b00bc2ff2398074e7ee1a2c264b6a2809) @@ -728,7 +728,8 @@ else if ( TRUE == bloodLeakEmbModeHasZeroBeenRqustd ) { // Check whether zeroing the sensor has been requested or not if yes, transition to zero command state otherwise, stay in this state - state = BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE; + bloodLeakEmbModeHasZeroBeenRqustd = FALSE; + state = BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE; } return state; @@ -1064,7 +1065,7 @@ if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_BLOOD_LEAK_COMM_ERROR ) ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_BLOOD_LEAK_FPGA_FAULT, MAX_BLOOD_LEAK_COMM_FAILURES, (U32)MAX_BLOOD_LEAK_COMM_FAILURES_WINDOW_MS ) + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_BLOOD_LEAK_FPGA_FAULT, MAX_BLOOD_LEAK_COMM_FAILURES, (U32)MAX_BLOOD_LEAK_COMM_FAILURES_WINDOW_MS ) } } @@ -1281,6 +1282,7 @@ data.bloodLeakStatus = (U32)getBloodLeakStatus(); data.bloodLeakState = (U32)bloodLeakState; data.bloodLeakPersistentCounter = bloodLeakPersistenceCtr; + data.bloodLeakSerialCommState = bloodLeakEmbModeSubstate; bloodLeakDataPublicationCounter = 0; broadcastData( MSG_ID_HD_BLOOD_LEAK_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( BLOOD_LEAK_DATA_T ) ); @@ -1503,7 +1505,7 @@ static void enqueueInfoEmbModeCmds( void ) { if ( ( TRUE == didTimeout( bloodLeakEmbModeInfoCmdEnqLastTimeStamp, BLOOD_LEAK_EMB_MODE_INFO_CMD_TIMOUE_MS ) ) && - ( bloodLeakState >= BLOOD_LEAK_INIT_STATE ) ) + ( bloodLeakState >= BLOOD_LEAK_INIT_STATE ) && ( bloodLeakState != BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE ) ) { // Enqueue the next command. Make sure the blood leak state is greater than init state since in the post state and // check for set point, other commands are being enqueued for checking