Index: firmware/App/Drivers/PressureSensor.c =================================================================== diff -u -rabba5986eed8c2f702ca1ed70afd735a7f31db2a -r0ac32b16df2334a48c964d976ba0c846830a5f4c --- firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision abba5986eed8c2f702ca1ed70afd735a7f31db2a) +++ firmware/App/Drivers/PressureSensor.c (.../PressureSensor.c) (revision 0ac32b16df2334a48c964d976ba0c846830a5f4c) @@ -207,7 +207,7 @@ *************************************************************************/ U32 getPressureSensorReadCount( PRESSURE_SENSORS_T sensor ) { - U08 result = 0; + U32 result = 0; if ( sensor < NUM_OF_PRESSURE_SENSORS ) { @@ -237,7 +237,7 @@ *************************************************************************/ U32 getPressureSensorErrorCount( PRESSURE_SENSORS_T sensor ) { - U08 result = 0; + U32 result = 0; if ( sensor < NUM_OF_PRESSURE_SENSORS ) { @@ -254,5 +254,55 @@ return result; } + + +/************************************************************************* + * TEST SUPPORT FUNCTIONS + *************************************************************************/ + + +/*********************************************************************//** + * @brief + * The testPressureSensorOverride function overrides the pressure reading + * for a given pressure sensor. + * @details \b Inputs: none + * @details \b Outputs: currentPressureReadings[] + * @param message Override message from Dialin which includes an ID of + * the sensor to override and the state to override the sensor to. + * @return TRUE if override request is successful, FALSE if not + *************************************************************************/ +BOOL testPressureSensorOverride( MESSAGE_T *message ) +{ + BOOL result = FALSE; + TEST_OVERRIDE_ARRAY_PAYLOAD_T override; + OVERRIDE_TYPE_T ovType = getOverrideArrayPayloadFromMessage( message, &override ); + + // Verify tester has logged in with TD and override type is valid + if ( ( TRUE == isTestingActivated() ) && ( ovType != OVERRIDE_INVALID ) && ( ovType < NUM_OF_OVERRIDE_TYPES ) ) + { + U32 sensor = override.index; + + // Verify pressure sensor index of override + if ( sensor < NUM_OF_PRESSURE_SENSORS ) + { + result = TRUE; + + if ( OVERRIDE_OVERRIDE == ovType ) + { + F32 value = override.state.f32; + + currentPressureReadings[ sensor ].ovData = value; + currentPressureReadings[ sensor ].override = OVERRIDE_KEY; + } + else + { + currentPressureReadings[ sensor ].override = OVERRIDE_RESET; + currentPressureReadings[ sensor ].ovData = currentPressureReadings[ sensor ].ovInitData; + } + } + } + + return result; +} /**@}*/