Index: Accel.c =================================================================== diff -u -rcfa1142455dbcebceda091ae61e5d1f5e889fa6e -rdbb3d68d1b3a4070ad3dd63c1fc8404f9b414456 --- Accel.c (.../Accel.c) (revision cfa1142455dbcebceda091ae61e5d1f5e889fa6e) +++ Accel.c (.../Accel.c) (revision dbb3d68d1b3a4070ad3dd63c1fc8404f9b414456) @@ -18,7 +18,8 @@ #include #include "Accel.h" -#include "FPGA.h" +#include "FPGA.h" +#include "MessageSupport.h" #include "NVDataMgmt.h" #include "SystemCommMessages.h" #include "TaskPriority.h" @@ -363,18 +364,27 @@ { // 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 data; - broadcastAccelData( x, y, z, xm, ym, zm, xt, yt, zt ); + data.x = accelAvgVector[ ACCEL_AXIS_X ]; + data.y = accelAvgVector[ ACCEL_AXIS_Y ]; + data.z = accelAvgVector[ ACCEL_AXIS_Z ]; + data.xMax = getMaxAccelAxis( ACCEL_AXIS_X ); + data.yMax = getMaxAccelAxis( ACCEL_AXIS_Y ); + data.zMax = getMaxAccelAxis( ACCEL_AXIS_Z ); + data.xTilt = accelTilt[ ACCEL_AXIS_X ]; + data.yTilt = accelTilt[ ACCEL_AXIS_Y ]; + data.zTilt = accelTilt[ ACCEL_AXIS_Z ]; + +#ifdef _DG_ + broadcastData( MSG_ID_DG_ACCELEROMETER_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( ACCEL_DATA_PAYLOAD_T ) ); +#endif + +#ifdef _HD_ + broadcastData( MSG_ID_HD_ACCELEROMETER_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( ACCEL_DATA_PAYLOAD_T ) ); +#endif + // Reset publication timer counter accelDataPublicationTimerCounter = 0; // Reset max axes