Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -r3024c73fd79f1590c89b183089b85b46a3b3eb1a -r9093348fe61cd6ec3d83fe58807f71aea7632b88 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 3024c73fd79f1590c89b183089b85b46a3b3eb1a) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 9093348fe61cd6ec3d83fe58807f71aea7632b88) @@ -188,6 +188,9 @@ MSG_ID_TD_RECIRCULATE_RESPONSE = 0xA7 MSG_ID_TD_RECIRCULATE_DATA = 0xA8 + MSG_ID_TD_WATER_SAMPLE_RESULT_RESPONSE = 0xAB + MSG_ID_TD_WATER_SAMPLE_DATA = 0xAC + MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 MSG_ID_TD_TESTER_LOGIN_REQUEST = 0x8000 Index: leahi_dialin/ui/td_messaging.py =================================================================== diff -u -rbc48fc613a98360e723ed057a23f2635326b5fe2 -r9093348fe61cd6ec3d83fe58807f71aea7632b88 --- leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision bc48fc613a98360e723ed057a23f2635326b5fe2) +++ leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 9093348fe61cd6ec3d83fe58807f71aea7632b88) @@ -557,6 +557,50 @@ self.can_interface.send(message, 0) + + def td_water_sample( self, valve : int , + timeout : int ): + """ + Broadcasts the current TD Water Sample data (Msg ID: 0xAB) + Args: + @param valve (int) : water sample valve that is openend + @param timeout (int) : water sample timeout + @return: None + """ + if not self.can_enabled: + raise ValueError("CAN Interface is not enabled") + + + payload = conversions.unsigned_integer_to_bytearray (valve ) + payload += conversions.unsigned_integer_to_bytearray (timeout ) + + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.td_sync_broadcast_ch_id, + message_id=msg_ids.MsgIds.MSG_ID_TD_WATER_SAMPLE_DATA.value, + payload=payload) + self.can_interface.send(message, 0) + + + def td_water_sample_result_response(self, vAccepted : int , + vRejectionReason : int , + vValue : float ): + """ + the water sample result response message method(Msg ID: 0xXX, XXX) + Args: + None + @return: None + """ + payload = conversions.integer_to_bytearray (vAccepted ) + payload += conversions.integer_to_bytearray (vRejectionReason) + payload += conversions.float_to_bytearray (vValue ) + + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.td_to_ui_ch_id, + message_id=msg_ids.MsgIds.MSG_ID_TD_WATER_SAMPLE_RESULT_RESPONSE.value, + payload=payload) + self.can_interface.send(message, 0) + + def td_param_ranges(self, min_tx_time_s : int, max_tx_time_s : int,