Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -re7bc9d045b2da257ac8034a1d406525b8040a5d7 -rcca326f2741163d8626ed764f4f673bdf453e7d9 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision e7bc9d045b2da257ac8034a1d406525b8040a5d7) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision cca326f2741163d8626ed764f4f673bdf453e7d9) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file Valves.c * -* @author (last) Sean Nash -* @date (last) 12-Feb-2024 +* @author (last) Dara Navaei +* @date (last) 29-Apr-2026 * * @author (original) Dara Navaei * @date (original) 07-Aug-2020 @@ -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; } } @@ -1446,7 +1472,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; } }