Index: Accel.c =================================================================== diff -u -rf853004049bc4701d911701e48768cd17189faea -r2548ee1da65c508852ba445a572bc804f7d5540d --- Accel.c (.../Accel.c) (revision f853004049bc4701d911701e48768cd17189faea) +++ Accel.c (.../Accel.c) (revision 2548ee1da65c508852ba445a572bc804f7d5540d) @@ -47,7 +47,8 @@ #define MAX_SHOCK_ACCELERATION ( 2.5 ) ///< Maximum shock (acceleration) measured on any axis before alarm. #define MAX_SHOCK_TO_CLEAR_ALARM ( 1.0 ) ///< Maximum shock (acceleration) measured on any axis in order to clear alarm. #define MAX_TILT_G ( 1.0 ) ///< Maximum tilt (in g). -#define MAX_TILT_ANGLE_DEG ( 90.0 ) ///< Maximum tilt angle (in degrees). +#define MAX_TILT_ANGLE_DEG ( 90.0 ) ///< Maximum tilt angle (in degrees). +#define DATA_PUBLISH_COUNTER_START_COUNT 30 ///< Data publish counter start count. /// Enumeration of accelerometer monitor states. typedef enum Accelerometer_States @@ -69,7 +70,7 @@ // ********** private data ********** static ACCEL_STATE_T accelState = ACCELEROMETER_START_STATE; ///< current state of accelerometer monitor state machine. -static U32 accelDataPublicationTimerCounter = 0; ///< used to schedule accelerometer data publication to CAN bus. +static U32 accelDataPublicationTimerCounter; ///< used to schedule accelerometer data publication to CAN bus. static OVERRIDE_U32_T accelDataPublishInterval = { ACCEL_DATA_PUB_INTERVAL, ACCEL_DATA_PUB_INTERVAL, 0, 0 }; ///< interval (in ms/task interval) at which to publish accelerometer data to CAN bus. @@ -136,8 +137,9 @@ accelMaxs[ axis ].override = OVERRIDE_RESET; } - tiltErrorDetected = FALSE; - shockErrorDetected = FALSE; + tiltErrorDetected = FALSE; + shockErrorDetected = FALSE; + accelDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; } /*********************************************************************//** @@ -387,7 +389,7 @@ #endif // Reset publication timer counter - accelDataPublicationTimerCounter = 0; + accelDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; // Reset max axes accelMaxs[ ACCEL_AXIS_X ].data = 0.0; accelMaxs[ ACCEL_AXIS_Y ].data = 0.0; Index: NVDataMgmt.c =================================================================== diff -u -r58e321f3c730e0d302ed479d6939ef9ac2a753d0 -r2548ee1da65c508852ba445a572bc804f7d5540d --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 58e321f3c730e0d302ed479d6939ef9ac2a753d0) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 2548ee1da65c508852ba445a572bc804f7d5540d) @@ -3385,11 +3385,13 @@ // Recalculate the CRC with the default values dgServiceGroup.dgServiceRecord.crc = crc16 ( (U08*)&dgServiceGroup.dgServiceRecord, sizeof(DG_SERVICE_RECORD_T) - sizeof(U16) ); +#ifndef DISABLE_SERVICE_RECORD // Service record failure is also considered as RTC RAM failure - //activateAlarmNoData( ALARM_ID_DG_INVALID_SERVICE_RECORD_CRC ); // TODO DEBUG_DENALI + activateAlarmNoData( ALARM_ID_DG_INVALID_SERVICE_RECORD_CRC ); // Set the to FALSE since the record is not valid - //status = FALSE; // TODO DEBUG_DENALI + status = FALSE; +#endif } return status;