Index: firmware/App/Monitors/Pressure.c =================================================================== diff -u -r9b9ab4a5135966c607c657eb18fe368c30247113 -rfd42b31a0572ab85c862ebf94997766f27dd8e97 --- firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 9b9ab4a5135966c607c657eb18fe368c30247113) +++ firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision fd42b31a0572ab85c862ebf94997766f27dd8e97) @@ -99,8 +99,7 @@ static F32 getConvertedPressure( PRESSURE_SENSORS_T sensor, F32 pressure ); static PRESSURE_STATE_T handlePressuresInitState( void ); static PRESSURE_STATE_T handlePressuresContReadState( void ); -static void publishDDPressuresData( void ); -static void publishFPPressuresData( void ); +static void publishPressuresData( void ); /*********************************************************************//** * @brief @@ -260,8 +259,7 @@ } // publish pressure/occlusion data on interval - publishDDPressuresData(); - publishFPPressuresData(); + publishPressuresData(); } /*********************************************************************//** @@ -398,57 +396,43 @@ /*********************************************************************//** * @brief - * The publishDDPressuresData function publishes DD pressures data at a set interval. - * @details \b Inputs: ddPressuresDataPublicationTimerCounter - * @details \b Outputs: ddPressuresDataPublicationTimerCounter - * @details \b Message \b Sent: MSG_ID_DD_PRESSURES_DATA to publish pressure data. + * The publishPressuresData function publishes pressures data at a set interval. + * @details \b Inputs: ddPressuresDataPublicationTimerCounter, + * fpPressuresDataPublicationTimerCounter + * @details \b Outputs: ddPressuresDataPublicationTimerCounter, + * fpPressuresDataPublicationTimerCounter + * @details \b Message \b Sent: MSG_ID_DD_PRESSURES_DATA, MSG_ID_FP_PRESSURES_DATA + * to publish pressure data. * @return none *************************************************************************/ -static void publishDDPressuresData( void ) +static void publishPressuresData( void ) { - // publish pressure/occlusion data on interval + // publish DD pressure/occlusion data on interval if ( ++ddPressuresDataPublicationTimerCounter >= getU32OverrideValue( &ddPressuresDataPublishInterval ) ) { - PRESSURE_TEMP_DD_DATA_T data; + PRESSURE_DD_DATA_T data; data.d9Pressure = getFilteredPressure( D9_PRES ); data.d66Pressure = getFilteredPressure( D66_PRES ); data.d51Pressure = getFilteredPressure( D51_PRES ); data.d18Pressure = getFilteredPressure( D18_PRES ); data.d41Pressure = getFilteredPressure( D41_PRES ); -// data.d9PresTemp = getFilteredPressureSensorTemperature( D9_PRES ); -// data.d66PresTemp = getFilteredPressureSensorTemperature( D66_PRES ); -// data.d51PresTemp = getFilteredPressureSensorTemperature( D51_PRES ); -// data.d18PresTemp = getFilteredPressureSensorTemperature( D18_PRES ); -// data.d41PresTemp = getFilteredPressureSensorTemperature( D41_PRES ); ddPressuresDataPublicationTimerCounter = 0; - broadcastData( MSG_ID_DD_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_DD_DATA_T ) ); + broadcastData( MSG_ID_DD_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( PRESSURE_DD_DATA_T ) ); } -} - -/*********************************************************************//** - * @brief - * The publishFPPressuresData function publishes FP pressures data at a set interval. - * @details \b Inputs: fpPressuresDataPublicationTimerCounter - * @details \b Outputs: fpPressuresDataPublicationTimerCounter - * @details \b Message \b Sent: MSG_ID_FP_PRESSURES_DATA to publish pressure data. - * @return none - *************************************************************************/ -static void publishFPPressuresData( void ) -{ - // publish pressure/occlusion data on interval + // publish FP pressure/occlusion data on interval if ( ++fpPressuresDataPublicationTimerCounter >= getU32OverrideValue( &fpPressuresDataPublishInterval ) ) { - PRESSURE_TEMP_FP_DATA_T data; + PRESSURE_FP_DATA_T data; data.m1Pressure = getFilteredPressure( M1_PRES ); data.m3Pressure = getFilteredPressure( M3_PRES ); data.p8Pressure = getFilteredPressure( P8_PRES ); data.p13Pressure = getFilteredPressure( P13_PRES ); data.p17Pressure = getFilteredPressure( P17_PRES ); - broadcastData( MSG_ID_FP_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_FP_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_FP_DATA_T ) ); + broadcastData( MSG_ID_FP_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_FP_BROADCAST, (U08*)&data, sizeof( PRESSURE_FP_DATA_T ) ); fpPressuresDataPublicationTimerCounter = 0; } } @@ -478,15 +462,15 @@ /*********************************************************************//** * @brief - * The testFPPressureSensorDataPublishIntervalOverride function overrides the - * FP pressure sensor data publish interval. + * The testIOFPPressureSensorDataPublishIntervalOverride function overrides the + * IOFP pressure sensor data publish interval. * @details \b Inputs: none * @details \b Outputs: fpPressuresDataPublishInterval * @param message Override message from Dialin which includes the value - * that override FP pressure data publish interval with (in ms) + * that override IOFP pressure data publish interval with (in ms) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testFPPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ) +BOOL testIOFPPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ) { BOOL result = u32BroadcastIntervalOverride( message, &fpPressuresDataPublishInterval, TASK_PRIORITY_INTERVAL ); @@ -529,35 +513,49 @@ /*********************************************************************//** * @brief - * The testFPPressureSensorFilteredReadingsOverride function overrides the - * filtered value of the specified FP pressure sensor with a given value. + * The testIOFPPressureSensorFilteredReadingsOverride function overrides the + * filtered value of the specified IOFP pressure sensor with a given value. * @details \b Inputs: none * @details \b Outputs: filteredcurrentPressureReadings[] * @param message Override message from Dialin which includes an sensor - * ID and override value of the FP pressure sensor. + * ID and override value of the IOFP pressure sensor. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testFPPressureSensorFilteredReadingsOverride( MESSAGE_T *message ) +BOOL testIOFPPressureSensorFilteredReadingsOverride( MESSAGE_T *message ) { - BOOL result = f32ArrayOverride( message, &filteredcurrentPressureReadings[FIRST_IO_PRESSURE_SENSOR], NUM_OF_PRESSURE_SENSORS - 1 ); + BOOL result = FALSE; + TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; + OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &payload ); + if ( ( payload.index >= FIRST_IO_PRESSURE_SENSOR ) && ( payload.index <= LAST_FP_PRESSURE_SENSOR ) ) + { + BOOL result = f32ArrayOverride( message, &filteredcurrentPressureReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + } + return result; } /*********************************************************************//** * @brief - * The testFPPressureSensorFilteredTemperatureReadingsOverride function overrides the - * value of the specified FP pressure sensor filtered temperature with a given value. + * The testIOFPPressureSensorFilteredTemperatureReadingsOverride function overrides the + * value of the specified IOFP pressure sensor filtered temperature with a given value. * @details \b Inputs: none * @details \b Outputs: filteredcurrentPresTempReadings[] * @param message Override message from Dialin which includes a sensor - * ID and override value of the FP pressure sensor temperature. + * ID and override value of the IOFP pressure sensor temperature. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testFPPressureSensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ) +BOOL testIOFPPressureSensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ) { - BOOL result = f32ArrayOverride( message, &filteredcurrentPresTempReadings[FIRST_IO_PRESSURE_SENSOR], NUM_OF_PRESSURE_SENSORS - 1 ); + BOOL result = FALSE; + TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; + OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &payload ); + if ( ( payload.index >= FIRST_IO_PRESSURE_SENSOR ) && ( payload.index <= LAST_FP_PRESSURE_SENSOR ) ) + { + BOOL result = f32ArrayOverride( message, &filteredcurrentPresTempReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + } + return result; }