Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r9864b14f76782f1e68bf266dcd843451748715a0 -rfef7e8ec54aea7e7dc447b6240796013cc086604 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 9864b14f76782f1e68bf266dcd843451748715a0) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision fef7e8ec54aea7e7dc447b6240796013cc086604) @@ -52,7 +52,7 @@ #pragma pack(pop) const ALARM_T alarmTable[ NUM_OF_ALARM_IDS ] = -{ // Priority Esc Escalate To Fault Stops NoClr NoRes NoRin NoEnd NoNew Bypass +{ // Priority Escalate In Escalate To Fault Stops NoClr NoRes NoRin NoEnd NoNew Bypass { ALARM_PRIORITY_NONE, 0, ALARM_ID_NO_ALARM, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_NO_ALARM { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_SOFTWARE_FAULT { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_STUCK_BUTTON_TEST_FAILED @@ -76,11 +76,12 @@ { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_RTC_CONFIG_ERROR { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_DG_COMM_TIMEOUT { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, TRUE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE }, // ALARM_ID_UI_COMM_TIMEOUT - { ALARM_PRIORITY_HIGH, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, TRUE, TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_COMM_TOO_MANY_BAD_CRCS + { ALARM_PRIORITY_HIGH, 0, ALARM_ID_BLOOD_SITTING_WARNING, TRUE, TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_COMM_TOO_MANY_BAD_CRCS { ALARM_PRIORITY_LOW, ALM_ESC_4_MIN, ALARM_ID_BLOOD_SITTING_WARNING, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_TREATMENT_STOPPED_BY_USER { ALARM_PRIORITY_MEDIUM, ALM_ESC_1_MIN, ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_WARNING { ALARM_PRIORITY_MEDIUM, ALM_ESC_5_MIN, ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK, FALSE, TRUE , FALSE, TRUE, FALSE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME { ALARM_PRIORITY_HIGH, 0, ALARM_ID_NO_ALARM, FALSE, TRUE , FALSE, TRUE, TRUE, FALSE, FALSE, FALSE }, // ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK + { ALARM_PRIORITY_HIGH, 0, ALARM_ID_BLOOD_SITTING_WARNING, TRUE, TRUE , TRUE, TRUE, TRUE, TRUE, TRUE, FALSE }, // ALARM_ID_CAN_MESSAGE_NOT_ACKED }; const ALARM_DATA_T blankAlarmData = { ALARM_DATA_TYPE_NONE, 0 }; Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r9864b14f76782f1e68bf266dcd843451748715a0 -rfef7e8ec54aea7e7dc447b6240796013cc086604 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 9864b14f76782f1e68bf266dcd843451748715a0) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision fef7e8ec54aea7e7dc447b6240796013cc086604) @@ -49,6 +49,7 @@ ALARM_ID_BLOOD_SITTING_WARNING, // 25 ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME, ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK, + ALARM_ID_CAN_MESSAGE_NOT_ACKED, NUM_OF_ALARM_IDS } ALARM_ID_T; Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r9864b14f76782f1e68bf266dcd843451748715a0 -rfef7e8ec54aea7e7dc447b6240796013cc086604 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 9864b14f76782f1e68bf266dcd843451748715a0) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision fef7e8ec54aea7e7dc447b6240796013cc086604) @@ -957,7 +957,10 @@ } else { - // TODO - fault + U16 msgID; + + memcpy( &msgID, &pendingAckList[ i ].msg[ sizeof( U08 ) + sizeof( U16) ], sizeof( U16 ) ); + SET_ALARM_WITH_1_U32_DATA( ALARM_ID_CAN_MESSAGE_NOT_ACKED, (U32)msgID ); } } } Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r9864b14f76782f1e68bf266dcd843451748715a0 -rfef7e8ec54aea7e7dc447b6240796013cc086604 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 9864b14f76782f1e68bf266dcd843451748715a0) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision fef7e8ec54aea7e7dc447b6240796013cc086604) @@ -101,9 +101,10 @@ // set sequence # and ACK bit #ifdef ACK_IMPLEMENTED + // thread protect next sequence # access & increment _disable_IRQ(); - msg.hdr.seqNo = nextSeqNo; - nextSeqNo = INC_WRAP( nextSeqNo, MIN_MSG_SEQ_NO, MAX_MSG_SEQ_NO ); + msg.hdr.seqNo = nextSeqNo; + nextSeqNo = INC_WRAP( nextSeqNo, MIN_MSG_SEQ_NO, MAX_MSG_SEQ_NO ); _enable_IRQ(); if ( TRUE == ackReq ) {