Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r1a36e9bd718b40ceaee21dd12eca2da353828e30 -rf3d625e2593ced120c4a98b9ed7e28b132445642 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 1a36e9bd718b40ceaee21dd12eca2da353828e30) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision f3d625e2593ced120c4a98b9ed7e28b132445642) @@ -364,7 +364,7 @@ } else { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED, (U32)valve ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED1, (U32)valve ); } return result; @@ -393,19 +393,20 @@ } else { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED, (U32)valve ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED2, (U32)valve ); } return result; } /*********************************************************************//** * @brief - * The getValvePosition function returns the current position of a valve. + * The getValvePosition function returns the current position of a + * given valve. * @details Inputs: none * @details Outputs: valvesStatus - * @param valve that the position is requested - * @return returns the current position of the valve in enum + * @param valve Valve to get the position of + * @return returns the current position of the given valve *************************************************************************/ VALVE_POSITION_T getValvePosition( VALVE_T valve ) { @@ -417,14 +418,39 @@ } else { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED, (U32)valve ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED3, (U32)valve ); } return position; } /*********************************************************************//** * @brief + * The getSetValvePosition function returns the commanded position of a + * given valve. + * @details Inputs: none + * @details Outputs: valvesStatus + * @param valve Valve to get the commanded position of + * @return returns the current commanded position of the given valve + *************************************************************************/ +VALVE_POSITION_T getSetValvePosition( VALVE_T valve ) +{ + VALVE_POSITION_T position = VALVE_POSITION_NOT_IN_POSITION; + + if ( valve < NUM_OF_VALVES ) + { + position = valvesStatus[ valve ].commandedPosition; + } + else + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED4, (U32)valve ); + } + + return position; +} + +/*********************************************************************//** + * @brief * The getValveCurrent function returns the current of a valve. * @details Inputs: valvesStatus * @details Outputs: valvesStatus @@ -1122,7 +1148,7 @@ break; default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED, (U32)valve ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED5, (U32)valve ); break; } } @@ -1443,7 +1469,7 @@ break; default: - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED, (U32)valve ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_VALVES_INVALID_VALVE_SELECTED6, (U32)valve ); break; } }