Index: Accel.c =================================================================== diff -u -rcfa1142455dbcebceda091ae61e5d1f5e889fa6e -r343d278eb0278c79e00dee6151fb9ef21d2fda9c --- Accel.c (.../Accel.c) (revision cfa1142455dbcebceda091ae61e5d1f5e889fa6e) +++ Accel.c (.../Accel.c) (revision 343d278eb0278c79e00dee6151fb9ef21d2fda9c) @@ -363,18 +363,24 @@ { // publish accelerometer data on interval if ( ++accelDataPublicationTimerCounter >= getPublishAccelDataInterval() ) - { - F32 x = accelAvgVector[ ACCEL_AXIS_X ]; - F32 y = accelAvgVector[ ACCEL_AXIS_Y ]; - F32 z = accelAvgVector[ ACCEL_AXIS_Z ]; - F32 xm = getMaxAccelAxis( ACCEL_AXIS_X ); - F32 ym = getMaxAccelAxis( ACCEL_AXIS_Y ); - F32 zm = getMaxAccelAxis( ACCEL_AXIS_Z ); - F32 xt = accelTilt[ ACCEL_AXIS_X ]; - F32 yt = accelTilt[ ACCEL_AXIS_Y ]; - F32 zt = accelTilt[ ACCEL_AXIS_Z ]; + { + ACCEL_DATA_PAYLOAD_T accData; - broadcastAccelData( x, y, z, xm, ym, zm, xt, yt, zt ); + accData.x = accelAvgVector[ ACCEL_AXIS_X ]; + accData.y = accelAvgVector[ ACCEL_AXIS_Y ]; + accData.z = accelAvgVector[ ACCEL_AXIS_Z ]; + accData.xMax = getMaxAccelAxis( ACCEL_AXIS_X ); + accData.yMax = getMaxAccelAxis( ACCEL_AXIS_Y ); + accData.zMax = getMaxAccelAxis( ACCEL_AXIS_Z ); + accData.xTilt = accelTilt[ ACCEL_AXIS_X ]; + accData.yTilt = accelTilt[ ACCEL_AXIS_Y ]; + accData.zTilt = accelTilt[ ACCEL_AXIS_Z ]; + +#ifdef _DG_ + broadcastData( MSG_ID_DG_ACCELEROMETER_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&accData, sizeof( ACCEL_DATA_PAYLOAD_T ) ); +#else + broadcastData( MSG_ID_HD_ACCELEROMETER_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&accData, sizeof( ACCEL_DATA_PAYLOAD_T ) ); +#endif // Reset publication timer counter accelDataPublicationTimerCounter = 0; // Reset max axes @@ -486,14 +492,6 @@ SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_EXCESSIVE_TILT, x, y ) #endif } - } - else if ( ( TRUE == tiltErrorDetected ) && ( ( fabs( x ) > MAX_TILT_ANGLE_TO_CLEAR_ALARM ) || ( fabs( y ) > MAX_TILT_ANGLE_TO_CLEAR_ALARM ) ) ) - { -#ifdef _DG_ - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_EXCESSIVE_TILT, x, y ) -#else - SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_EXCESSIVE_TILT, x, y ) -#endif } else if ( ( TRUE == tiltErrorDetected ) && ( ( fabs( x ) > MAX_TILT_ANGLE_TO_CLEAR_ALARM ) || ( fabs( y ) > MAX_TILT_ANGLE_TO_CLEAR_ALARM ) ) ) { @@ -502,7 +500,7 @@ #else SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_EXCESSIVE_TILT, x, y ) #endif - } + } else if ( ( fabs( x ) <= MAX_TILT_ANGLE_TO_CLEAR_ALARM ) && ( fabs( y ) <= MAX_TILT_ANGLE_TO_CLEAR_ALARM ) ) { accelTiltErrorTimerCounter = 0;