Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r1f1b53030a930c542646d9d88c7db0c3a945f150 -r237bd674ddef86d5137221163e74162cd12e4fb9 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 1f1b53030a930c542646d9d88c7db0c3a945f150) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 237bd674ddef86d5137221163e74162cd12e4fb9) @@ -52,6 +52,11 @@ #define MSG_NOT_ACKED_MAX_RETRIES 3 ///< maximum number of times a message that requires ACK that was not ACK'd can be re-sent before alarm #define PENDING_ACK_LIST_SIZE 25 ///< maximum number of Delanli messages that can be pending ACK at any given time +//#define MAX_FPGA_CLOCK_SPEED_ERRORS 3 ///< maximum number of FPGA clock speed errors within window period before alarm - // DN-16SEPT2022 TOSO: uncomment this line. +#define MAX_FPGA_CLOCK_SPEED_ERRORS 1 ///< maximum number of FPGA clock speed errors within window period before alarm - // ToDO: remove this line. DN-16SEPT2022 +//#define MAX_FPGA_CLOCK_SPEED_ERROR_WINDOW_MS (10 * SEC_PER_MIN * MS_PER_SECOND) ///< FPGA clock speed error window - // TODO: uncomment it - DN-19SEPT2022 +#define MAX_FPGA_CLOCK_SPEED_ERROR_WINDOW_MS (1 * SEC_PER_MIN * MS_PER_SECOND) ///< FPGA clock speed error window - // TODO: Force 1 minute for testing ONLY. remove it - DN-19SEPT2022 + #pragma pack(push, 1) /// Record for transmitted message that is pending acknowledgement from receiver. @@ -136,6 +141,9 @@ // initialize bad message CRC time windowed count initTimeWindowedCount( TIME_WINDOWED_COUNT_BAD_MSG_CRC, MAX_COMM_CRC_FAILURES, MAX_COMM_CRC_FAILURE_WINDOW_MS ); + // initialize FPGA clock speed error time windowed count + initTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_CLOCK_SPEED_ERROR, MAX_FPGA_CLOCK_SPEED_ERRORS, MAX_FPGA_CLOCK_SPEED_ERROR_WINDOW_MS); + // initialize pending ACK list for ( i = 0; i < PENDING_ACK_LIST_SIZE; i++ ) {