Index: leahi_dialin/td/modules/air_pump.py =================================================================== diff -u -r1f2bf6d939eb4033dbedb7d7005494cc12fccbc6 -r2d1aa1133cbaac4adbf4b6f7b2512f6b9255063f --- leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision 1f2bf6d939eb4033dbedb7d7005494cc12fccbc6) +++ leahi_dialin/td/modules/air_pump.py (.../air_pump.py) (revision 2d1aa1133cbaac4adbf4b6f7b2512f6b9255063f) @@ -139,3 +139,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)