Index: Accel.c =================================================================== diff -u -rc1881f60c442c55ec04b54b8ee9000d2ac9dca8d -r402bbbc95f44a454c013d301c6ca84e95aa2cd4f --- Accel.c (.../Accel.c) (revision c1881f60c442c55ec04b54b8ee9000d2ac9dca8d) +++ Accel.c (.../Accel.c) (revision 402bbbc95f44a454c013d301c6ca84e95aa2cd4f) @@ -29,16 +29,20 @@ */ // ********** private definitions ********** - -#define ACCEL_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Interval (ms/task time) at which the accelerometer data is published on the CAN bus -#define SIZE_OF_ROLLING_AVG ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Vector for tilt is filtered w/ moving average -#define G_PER_LSB ( 0.00390625 ) ///< Conversion from counts (LSB) to gravities -#define NO_NEW_ACCEL_SAMPLES_TIMEOUT ( 100 / TASK_PRIORITY_INTERVAL ) ///< Maximum time w/o new accelerometer sample from FPGA + +/// Interval (ms/task time) at which the accelerometer data is published on the CAN bus +#define ACCEL_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) +/// Vector for tilt is filtered w/ moving average +#define SIZE_OF_ROLLING_AVG ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) +#define G_PER_LSB ( 0.00390625 ) ///< Conversion from counts (LSB) to gravities +/// Maximum time w/o new accelerometer sample from FPGA +static const U32 NO_NEW_ACCEL_SAMPLES_TIMEOUT = ( 100 / TASK_PRIORITY_INTERVAL ); #define NOMINAL_ACCEL_VECTOR_LENGTH ( 1.0 ) ///< Expect unit vector length when system is stable #define MAX_ACCEL_VECTOR_LENGTH_ERROR ( 0.1 ) ///< POST test looks at vector length at presumably stable moment - should be 1 +/- 0.1 #define MAX_TILT_ANGLE ( 7.0 ) ///< Maximum tilt of system before alarm -#define MAX_TILT_ANGLE_TO_CLEAR_ALARM ( 5.0 ) ///< Maximum tilt of system before alarm is cleared -#define MAX_TILT_PERSISTENCE ( 1 * MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Maximum time (in task intervals) that a tilt in excess of limit can persist before alarm +#define MAX_TILT_ANGLE_TO_CLEAR_ALARM ( 5.0 ) ///< Maximum tilt of system before alarm is cleared +/// Maximum time (in task intervals) that a tilt in excess of limit can persist before alarm +static const U32 MAX_TILT_PERSISTENCE = ( 1 * MS_PER_SECOND / TASK_PRIORITY_INTERVAL ); #define MAX_SHOCK_ACCELERATION ( 5.0 ) ///< 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)