Index: leahi_dialin/td/modules/air_pump.py =================================================================== diff -u -r43f69b19f03145572d88f5f3c0cc739503c6d647 -r862daa5b6357ddaba02aa7d1fb9d0952e4a16e6f --- leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision 43f69b19f03145572d88f5f3c0cc739503c6d647) +++ leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision 862daa5b6357ddaba02aa7d1fb9d0952e4a16e6f) @@ -151,3 +151,27 @@ override_text = f'{power_value}', logger = self.logger, can_interface = self.can_interface) + + + def cmd_air_pump_rpm_override(self, rpm: int, reset: int=NO_RESET) -> int: + """ + Constructs and sends the air pump RPM override command. + + Constraints: + Must be logged into TD. + @param rpm: (Integer) The desired RPM value + @return: 1 if successful, zero otherwise + """ + rst = integer_to_bytearray(reset) + spd = integer_to_bytearray(rpm) + payload = rst + spd + + return cmd_generic_override( + payload = payload, + reset = NO_RESET, + channel_id = CanChannels.dialin_to_td_ch_id, + msg_id = MsgIds.MSG_ID_TD_AIR_PUMP_RPM_OVERRIDE_REQUEST, + entity_name = f'TD Air Pump RPM', + override_text = f'{rpm}', + logger = self.logger, + can_interface = self.can_interface)