Index: Accel.c =================================================================== diff -u -r68e2d83acc5a4a88c9d70cf2325372b9f6352be3 -r9d3bfb1c6da333e9e058666efbbcb79cdc1316be --- Accel.c (.../Accel.c) (revision 68e2d83acc5a4a88c9d70cf2325372b9f6352be3) +++ Accel.c (.../Accel.c) (revision 9d3bfb1c6da333e9e058666efbbcb79cdc1316be) @@ -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;