Index: leahi_dialin/fp/modules/valves.py =================================================================== diff -u -rd089b54d2fde7f8c36acce41a47d7acee4ef5da6 -r85af425612b38183f788af2120cec58b37cf9dc3 --- leahi_dialin/fp/modules/valves.py (.../valves.py) (revision d089b54d2fde7f8c36acce41a47d7acee4ef5da6) +++ leahi_dialin/fp/modules/valves.py (.../valves.py) (revision 85af425612b38183f788af2120cec58b37cf9dc3) @@ -236,3 +236,31 @@ override_text = str(state), logger = self.logger, can_interface = self.can_interface) + + def cmd_set_valve_recovery_config(self, recovery_state: int) -> int: + """ + Constructs and sends the FP valve recovery command + Constraints: + Must be logged into FP. + Given valve ID must be one of the recovery valve IDs listed below. + NO_RECOVERY = 0, ///< NO recovery + MEDIUM_RECOVERY, ///< Medium recovery + MAX_RECOVERY, ///< Maximum recovery + NUM_OF_RECOVERY_STATES ///< Number of recovery states + @param recovery_state: int + @return: 1 if successful, zero otherwise + """ + rcv = integer_to_bytearray(recovery_state) + payload = rcv + + + return cmd_generic_override( + payload = payload, + reset = 0, + channel_id = DenaliChannels.dialin_to_fp_ch_id, + msg_id = MsgIds.MSG_ID_FP_SET_RECOVERY_VALVES_REQUEST, + entity_name = f'FP Recovery Valve set', + override_text = str(recovery_state), + logger = self.logger, + can_interface = self.can_interface) +