Index: Accel.c =================================================================== diff -u -rf0e04691367769926254704486af9a52fe6badca -rfb8624ceee3a122412c9fc18811ce927001d727f --- Accel.c (.../Accel.c) (revision f0e04691367769926254704486af9a52fe6badca) +++ Accel.c (.../Accel.c) (revision fb8624ceee3a122412c9fc18811ce927001d727f) @@ -150,7 +150,7 @@ /*********************************************************************//** * @brief * The execAccel function executes the accelerometer monitor state machine. - * @details Inputs: accelState + * @details Inputs: accelState, accelSelfTestState * @details Outputs: accelState, alarm if software fault happened * @return none *************************************************************************/ @@ -164,8 +164,15 @@ switch ( accelState ) { - case ACCELEROMETER_START_STATE: - accelState = ACCELEROMETER_MONITOR_STATE; + case ACCELEROMETER_START_STATE: + /* Once accelerometer self test completed as part of InitandPost Mode, begin accelerometer monitor state. + * This helps to makes sure that the calibration records has been read from Non Volatile memory + * during power up and applied in to accelerometer readings. + */ + if ( ACCELEROMETER_SELF_TEST_STATE_COMPLETE == accelSelfTestState ) + { + accelState = ACCELEROMETER_MONITOR_STATE; + } break; case ACCELEROMETER_MONITOR_STATE: