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;