Index: firmware/App/Monitors/Pressure.c =================================================================== diff -u -re0102a0a08c0d83bcc8e959551079063e2e60d9f -r6f961c6e113a4076ba9d5f97e078a398a8976d7c --- firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision e0102a0a08c0d83bcc8e959551079063e2e60d9f) +++ firmware/App/Monitors/Pressure.c (.../Pressure.c) (revision 6f961c6e113a4076ba9d5f97e078a398a8976d7c) @@ -28,12 +28,11 @@ */ // ********** private definitions ********** + #define PRESSURES_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Interval (ms/task time) at which the pressures data is published on the CAN bus. #define DATA_PUBLISH_COUNTER_START_COUNT ( 5 ) ///< Data publish counter start count. #define PRESSURE_SAMPLE_FILTER_MS ( 50 ) ///< Filter pressure data for given time -#define PRESSURE_TEMP_SAMPLE_FILTER_MS ( 50 ) -//#define PRESSURE_SAMPLE_FILTER_MS ( 200 ) ///< Filter pressure data for given time -//#define PRESSURE_TEMP_SAMPLE_FILTER_MS ( 200 ) ///< Filter temperature data for given time +#define PRESSURE_TEMP_SAMPLE_FILTER_MS ( 50 ) ///< Filter temperature data for given time #define SIZE_OF_PRESSURE_ROLLING_AVG ( PRESSURE_SAMPLE_FILTER_MS / TASK_PRIORITY_INTERVAL ) ///< Filtered pressure moving average. #define SIZE_OF_PRESSURETEMP_ROLLING_AVG ( PRESSURE_TEMP_SAMPLE_FILTER_MS / TASK_PRIORITY_INTERVAL ) ///< Filtered pressure temprature w/ 1 second moving average. #define MMHG_TO_PSI_CONVERSION 0.0193368F ///< MMHG to PSI conversion. @@ -54,41 +53,42 @@ /// Defined states for the pressures monitor state machine. typedef enum PresMonitor_States { - PRESSURE_INIT_STATE = 0, ///< Initialization state. - PRESSURE_CONTINUOUS_READ_STATE, ///< Continuous read sensors state. - NUM_OF_PRESSURE_STATES ///< Number of pressure monitor states. + PRESSURE_INIT_STATE = 0, ///< Initialization state. + PRESSURE_CONTINUOUS_READ_STATE, ///< Continuous read sensors state. + NUM_OF_PRESSURE_STATES ///< Number of pressure monitor states. } PRESSURE_STATE_T; /// Filter pressure reading. typedef struct { - F32 pressureReadings[ SIZE_OF_PRESSURE_ROLLING_AVG ]; ///< Holds pressure sample rolling average. - U32 pressureReadingsIdx; ///< Index for next sample in rolling average array. - F32 pressureReadingsTotal; ///< Rolling total - used to calc average. - U32 pressureReadingsCount; ///< Number of samples in rolling average buffer + F32 pressureReadings[ SIZE_OF_PRESSURE_ROLLING_AVG ]; ///< Holds pressure sample rolling average. + U32 pressureReadingsIdx; ///< Index for next sample in rolling average array. + F32 pressureReadingsTotal; ///< Rolling total - used to calc average. + U32 pressureReadingsCount; ///< Number of samples in rolling average buffer }FILTER_PRESSURE_READINGS_T; /// Filter pressuretemperature reading. typedef struct { - F32 pressureTempReadings[ SIZE_OF_PRESSURETEMP_ROLLING_AVG ]; ///< Holds pressure temperature sample rolling average. - U32 pressureTempReadingsIdx; ///< Index for next sample in rolling average array. - F32 pressureTempReadingsTotal; ///< Rolling total - used to calc average. - U32 pressureTempReadingsCount; ///< Number of samples in rolling average buffer + F32 pressureTempReadings[ SIZE_OF_PRESSURETEMP_ROLLING_AVG ]; ///< Holds pressure temperature sample rolling average. + U32 pressureTempReadingsIdx; ///< Index for next sample in rolling average array. + F32 pressureTempReadingsTotal; ///< Rolling total - used to calc average. + U32 pressureTempReadingsCount; ///< Number of samples in rolling average buffer }FILTER_PRESSURE_TEMPERATURE_READINGS_T; // ********** private data ********** -static OVERRIDE_F32_T filteredcurrentPressureReadings[ NUM_OF_PRESSURE_SENSORS ]; ///< filtered current pressure sensor pressure readings (overrideable). -static OVERRIDE_F32_T filteredcurrentPresTempReadings[ NUM_OF_PRESSURE_SENSORS ]; ///< filtered current pressure sensor temperature readings (overrideable). -//static DD_PRES_SENSORS_CAL_RECORD_T pressuresCalRecord; ///< Pressures calibration record. +static OVERRIDE_F32_T filteredcurrentPressureReadings[ NUM_OF_PRESSURE_SENSORS ]; ///< filtered current pressure sensor pressure readings (overrideable). +static OVERRIDE_F32_T filteredcurrentPresTempReadings[ NUM_OF_PRESSURE_SENSORS ]; ///< filtered current pressure sensor temperature readings (overrideable). +//static DD_PRES_SENSORS_CAL_RECORD_T pressuresCalRecord; ///< Pressures calibration record. -static FILTER_PRESSURE_READINGS_T filteredPressureReadings[NUM_OF_PRESSURE_SENSORS]; ///< Filtered pressure reading for pressure sensors. -static FILTER_PRESSURE_TEMPERATURE_READINGS_T filteredPressureTempReadings[NUM_OF_PRESSURE_SENSORS]; ///< Filtered pressure reading for pressure sensors. -static PRESSURE_STATE_T pressuresState; ///< current state of pressure monitor state machine. -static U32 pressuresDataPublicationTimerCounter; ///< used to schedule pressure data publication to CAN bus. -static OVERRIDE_U32_T pressuresDataPublishInterval = { PRESSURES_DATA_PUB_INTERVAL, - PRESSURES_DATA_PUB_INTERVAL, 0, 0 }; ///< Pressure data publish interval. +static FILTER_PRESSURE_READINGS_T filteredPressureReadings[NUM_OF_PRESSURE_SENSORS]; ///< Filtered pressure reading for pressure sensors. +static FILTER_PRESSURE_TEMPERATURE_READINGS_T filteredPressureTempReadings[NUM_OF_PRESSURE_SENSORS]; ///< Filtered pressure reading for pressure sensors. +static PRESSURE_STATE_T pressuresState; ///< current state of pressure monitor state machine. +static U32 ddPressuresDataPublicationTimerCounter; ///< used to schedule DD pressure data publication to CAN bus. +static U32 fpPressuresDataPublicationTimerCounter; ///< used to schedule FP pressure data publication to CAN bus. +static OVERRIDE_U32_T ddPressuresDataPublishInterval; ///< DD Pressure data publish interval. +static OVERRIDE_U32_T fpPressuresDataPublishInterval; ///< FP Pressure data publish interval. // ********** private function prototypes ********** @@ -111,13 +111,14 @@ { U32 i; - pressuresState = PRESSURE_INIT_STATE; - pressuresDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; + pressuresState = PRESSURE_INIT_STATE; + ddPressuresDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; + fpPressuresDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; initPressureSensor(); // Initialize override structures for each pressure sensor - for ( i = (U32)PRESSURE_SENSOR_FIRST; i < (U32)NUM_OF_PRESSURE_SENSORS; i++ ) + for ( i = (U32)FIRST_DD_PRESSURE_SENSOR; i < (U32)NUM_OF_PRESSURE_SENSORS; i++ ) { filteredcurrentPressureReadings[ i ].data = 0.0F; filteredcurrentPressureReadings[ i ].ovData = 0.0F; @@ -137,6 +138,16 @@ filteredPressureTempReadings[i].pressureTempReadingsIdx = 0; filteredPressureTempReadings[i].pressureTempReadingsTotal = 0.0F; } + + ddPressuresDataPublishInterval.data = PRESSURES_DATA_PUB_INTERVAL; + ddPressuresDataPublishInterval.ovData = PRESSURES_DATA_PUB_INTERVAL; + ddPressuresDataPublishInterval.ovInitData = 0; + ddPressuresDataPublishInterval.override = OVERRIDE_RESET; + + fpPressuresDataPublishInterval.data = PRESSURES_DATA_PUB_INTERVAL; + fpPressuresDataPublishInterval.ovData = PRESSURES_DATA_PUB_INTERVAL; + fpPressuresDataPublishInterval.ovInitData = 0; + fpPressuresDataPublishInterval.override = OVERRIDE_RESET; } /*********************************************************************//** @@ -260,22 +271,22 @@ *************************************************************************/ static void filterPressureSensorReadings( void ) { - PRESSURE_SENSORS_T i; + PRESSURE_SENSORS_T sensor; - for ( i = PRESSURE_SENSOR_FIRST; i < NUM_OF_PRESSURE_SENSORS; i++ ) + for ( sensor = FIRST_DD_PRESSURE_SENSOR; sensor < NUM_OF_PRESSURE_SENSORS; sensor++ ) { - F32 pressureinPSI = getPressure( i ); - F32 pressure = getConvertedPressure( i, pressureinPSI ); + F32 pressureinPSI = getPressure( sensor ); + F32 pressure = getConvertedPressure( sensor, pressureinPSI ); - if ( filteredPressureReadings[i].pressureReadingsCount >= SIZE_OF_PRESSURE_ROLLING_AVG ) + if ( filteredPressureReadings[sensor].pressureReadingsCount >= SIZE_OF_PRESSURE_ROLLING_AVG ) { - filteredPressureReadings[i].pressureReadingsTotal -= filteredPressureReadings[i].pressureReadings[ filteredPressureReadings[i].pressureReadingsIdx ]; + filteredPressureReadings[sensor].pressureReadingsTotal -= filteredPressureReadings[sensor].pressureReadings[ filteredPressureReadings[sensor].pressureReadingsIdx ]; } - filteredPressureReadings[i].pressureReadings[ filteredPressureReadings[i].pressureReadingsIdx ] = pressure; - filteredPressureReadings[i].pressureReadingsTotal += pressure; - filteredPressureReadings[i].pressureReadingsIdx = INC_WRAP( filteredPressureReadings[i].pressureReadingsIdx, 0, SIZE_OF_PRESSURE_ROLLING_AVG - 1 ); - filteredPressureReadings[i].pressureReadingsCount = INC_CAP( filteredPressureReadings[i].pressureReadingsCount, SIZE_OF_PRESSURE_ROLLING_AVG ); - filteredcurrentPressureReadings[i].data = filteredPressureReadings[i].pressureReadingsTotal / (F32)filteredPressureReadings[i].pressureReadingsCount; + filteredPressureReadings[sensor].pressureReadings[ filteredPressureReadings[sensor].pressureReadingsIdx ] = pressure; + filteredPressureReadings[sensor].pressureReadingsTotal += pressure; + filteredPressureReadings[sensor].pressureReadingsIdx = INC_WRAP( filteredPressureReadings[sensor].pressureReadingsIdx, 0, SIZE_OF_PRESSURE_ROLLING_AVG - 1 ); + filteredPressureReadings[sensor].pressureReadingsCount = INC_CAP( filteredPressureReadings[sensor].pressureReadingsCount, SIZE_OF_PRESSURE_ROLLING_AVG ); + filteredcurrentPressureReadings[sensor].data = filteredPressureReadings[sensor].pressureReadingsTotal / (F32)filteredPressureReadings[sensor].pressureReadingsCount; } } @@ -289,21 +300,21 @@ *************************************************************************/ static void filterPressureSensorTemperatureReadings( void ) { - PRESSURE_SENSORS_T i; + PRESSURE_SENSORS_T sensor; - for ( i = PRESSURE_SENSOR_FIRST; i < NUM_OF_PRESSURE_SENSORS; i++ ) + for ( sensor = FIRST_DD_PRESSURE_SENSOR; sensor < NUM_OF_PRESSURE_SENSORS; sensor++ ) { - F32 pressureTemperature = getPressureSensorTemperature( i ); + F32 pressureTemperature = getPressureSensorTemperature( sensor ); - if ( filteredPressureTempReadings[i].pressureTempReadingsCount >= SIZE_OF_PRESSURETEMP_ROLLING_AVG ) + if ( filteredPressureTempReadings[sensor].pressureTempReadingsCount >= SIZE_OF_PRESSURETEMP_ROLLING_AVG ) { - filteredPressureTempReadings[i].pressureTempReadingsTotal -= filteredPressureTempReadings[i].pressureTempReadings[ filteredPressureTempReadings[i].pressureTempReadingsIdx ]; + filteredPressureTempReadings[sensor].pressureTempReadingsTotal -= filteredPressureTempReadings[sensor].pressureTempReadings[ filteredPressureTempReadings[sensor].pressureTempReadingsIdx ]; } - filteredPressureTempReadings[i].pressureTempReadings[ filteredPressureTempReadings[i].pressureTempReadingsIdx ] = pressureTemperature; - filteredPressureTempReadings[i].pressureTempReadingsTotal += pressureTemperature; - filteredPressureTempReadings[i].pressureTempReadingsIdx = INC_WRAP( filteredPressureTempReadings[i].pressureTempReadingsIdx, 0, SIZE_OF_PRESSURETEMP_ROLLING_AVG - 1 ); - filteredPressureTempReadings[i].pressureTempReadingsCount = INC_CAP( filteredPressureTempReadings[i].pressureTempReadingsCount, SIZE_OF_PRESSURETEMP_ROLLING_AVG ); - filteredcurrentPresTempReadings[i].data = filteredPressureTempReadings[i].pressureTempReadingsTotal / (F32)filteredPressureTempReadings[i].pressureTempReadingsCount; + filteredPressureTempReadings[sensor].pressureTempReadings[ filteredPressureTempReadings[sensor].pressureTempReadingsIdx ] = pressureTemperature; + filteredPressureTempReadings[sensor].pressureTempReadingsTotal += pressureTemperature; + filteredPressureTempReadings[sensor].pressureTempReadingsIdx = INC_WRAP( filteredPressureTempReadings[sensor].pressureTempReadingsIdx, 0, SIZE_OF_PRESSURETEMP_ROLLING_AVG - 1 ); + filteredPressureTempReadings[sensor].pressureTempReadingsCount = INC_CAP( filteredPressureTempReadings[sensor].pressureTempReadingsCount, SIZE_OF_PRESSURETEMP_ROLLING_AVG ); + filteredcurrentPresTempReadings[sensor].data = filteredPressureTempReadings[sensor].pressureTempReadingsTotal / (F32)filteredPressureTempReadings[sensor].pressureTempReadingsCount; } } @@ -319,8 +330,6 @@ *************************************************************************/ static F32 getConvertedPressure( PRESSURE_SENSORS_T sensor, F32 pressure ) { - F32 baroPressurePSI = getPressure( BARO_PRES ) * MMHG_TO_PSI_CONVERSION; - // calibrated pressure //F32 calPressure = getCalibrationAppliedPressure( sensor, pressure ); @@ -383,37 +392,45 @@ /*********************************************************************//** * @brief - * The publishPressuresData function publishes DD pressures data at a set interval. - * @details \b Inputs: pressuresDataPublicationTimerCounter - * @details \b Outputs: pressuresDataPublicationTimerCounter - * @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 publishPressuresData( void ) { - // publish pressure/occlusion data on interval - if ( ++pressuresDataPublicationTimerCounter >= getU32OverrideValue( &pressuresDataPublishInterval ) ) + // publish DD pressure/occlusion data on interval + if ( ++ddPressuresDataPublicationTimerCounter >= getU32OverrideValue( &ddPressuresDataPublishInterval ) ) { - PRESSURE_TEMP_DATA_T data; + PRESSURE_DD_DATA_T data; - data.m1Pressure = getFilteredPressure( M1_PRES ); - data.m3Pressure = getFilteredPressure( M3_PRES ); 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.m1PresTemp = getFilteredPressureSensorTemperature( M1_PRES ); - data.m3PresTemp = getFilteredPressureSensorTemperature( M3_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 ); - pressuresDataPublicationTimerCounter = 0; + ddPressuresDataPublicationTimerCounter = 0; - broadcastData( MSG_ID_DD_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( PRESSURE_TEMP_DATA_T ) ); + broadcastData( MSG_ID_DD_PRESSURES_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( PRESSURE_DD_DATA_T ) ); } + // publish FP pressure/occlusion data on interval + if ( ++fpPressuresDataPublicationTimerCounter >= getU32OverrideValue( &fpPressuresDataPublishInterval ) ) + { + 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_FP_DATA_T ) ); + fpPressuresDataPublicationTimerCounter = 0; + } } @@ -424,53 +441,118 @@ /*********************************************************************//** * @brief - * The testPressureSensorDataPublishIntervalOverride function overrides the - * pressure sensor data publish interval. + * The testDDPressureSensorDataPublishIntervalOverride function overrides the + * DD pressure sensor data publish interval. * @details \b Inputs: none - * @details \b Outputs: pressuresDataPublishInterval + * @details \b Outputs: ddPressuresDataPublishInterval * @param message Override message from Dialin which includes the value - * that override valves states publish interval with (in ms) + * that override DD pressure data publish interval with (in ms) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ) +BOOL testDDPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ) { - BOOL result = u32BroadcastIntervalOverride( message, &pressuresDataPublishInterval, TASK_PRIORITY_INTERVAL ); + BOOL result = u32BroadcastIntervalOverride( message, &ddPressuresDataPublishInterval, TASK_PRIORITY_INTERVAL ); return result; } /*********************************************************************//** * @brief - * The testPressureSensorFilteredReadingsOverride function overrides the - * filtered value of the specified pressure sensor with a given value. + * 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 IOFP pressure data publish interval with (in ms) + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testIOFPPressureSensorDataPublishIntervalOverride( MESSAGE_T *message ) +{ + BOOL result = u32BroadcastIntervalOverride( message, &fpPressuresDataPublishInterval, TASK_PRIORITY_INTERVAL ); + + return result; +} + +/*********************************************************************//** + * @brief + * The testDDPressureSensorFilteredReadingsOverride function overrides the + * filtered value of the specified DD 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 pressure sensor. + * ID and override value of the DD pressure sensor. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testPressureSensorFilteredReadingsOverride( MESSAGE_T *message ) +BOOL testDDPressureSensorFilteredReadingsOverride( MESSAGE_T *message ) { - BOOL result = f32ArrayOverride( message, &filteredcurrentPressureReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + BOOL result = f32ArrayOverride( message, &filteredcurrentPressureReadings[0], LAST_DD_PRESSURE_SENSOR ); return result; } /*********************************************************************//** * @brief - * The testPressureSensorFilteredTemperatureReadingsOverride function overrides the - * value of the specified pressure sensor filtered temperature with a given value. + * The testDDPressureSensorFilteredTemperatureReadingsOverride function overrides the + * value of the specified DD pressure sensor filtered temperature with a given value. * @details \b Inputs: none * @details \b Outputs: currentPresTempReadings[] * @param message Override message from Dialin which includes an sensor - * ID and override value of the pressure sensor temperature. + * ID and override value of the DD pressure sensor temperature. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testPressureSensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ) +BOOL testDDPressureSensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ) { - BOOL result = f32ArrayOverride( message, &filteredcurrentPresTempReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + BOOL result = f32ArrayOverride( message, &filteredcurrentPresTempReadings[0], LAST_DD_PRESSURE_SENSOR ); return result; } +/*********************************************************************//** + * @brief + * 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 IOFP pressure sensor. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testIOFPPressureSensorFilteredReadingsOverride( MESSAGE_T *message ) +{ + 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 ) ) + { + result = f32ArrayOverride( message, &filteredcurrentPressureReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + } + + return result; +} + +/*********************************************************************//** + * @brief + * 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 IOFP pressure sensor temperature. + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +BOOL testIOFPPressureSensorFilteredTemperatureReadingsOverride( MESSAGE_T *message ) +{ + 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 ) ) + { + result = f32ArrayOverride( message, &filteredcurrentPresTempReadings[0], NUM_OF_PRESSURE_SENSORS - 1 ); + } + + return result; +} + /**@}*/