Index: leahi_dialin/ui/td_messaging.py =================================================================== diff -u -rd0d61f13cca978f73a2fc2f628a6f5e8ff4e2018 -r64744c14a4ab6b2b665cff84edf70b1be861b2ef --- leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision d0d61f13cca978f73a2fc2f628a6f5e8ff4e2018) +++ leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 64744c14a4ab6b2b665cff84edf70b1be861b2ef) @@ -269,28 +269,56 @@ self.can_interface.send(message, 0) - def td_versions(self, firmware: str, FPGA: str, compatibility: str, serial: str): + def td_versions(self, major: int, minor: int, micro: int, build: int, + fpga_id: int, fpga_major: int, fpga_minor: int, fpga_lab: int, + compatibility_rev: int): """ Broadcasts the current TD Version Data - @param firmware : TD firmware version - @param FPGA : TD FPGA version - @param compatibility: Firmware compatibility - @param serial : TD Serial Number + @param major: (uint) - Major version number + @param minor: (uint) - Minor version number + @param micro: (uint) - Micro version number + @param build: (uint) - Build version number + @param fpga_id: (int) - FPGA id version number + @param fpga_major: (int) - FPGA Major version number + @param fpga_minor: (int) - FPGA Minor version number + @param fpga_lab: (int) - FPGA Lab version number + @param compatibility_rev: (uint) - The FWs/UI compatibility revision @return: None """ # TODO: Place holder for versions, not all information for versions may be in the same message so structure will vary if not self.can_enabled: raise ValueError("CAN Interface is not enabled") - - payload = conversions.integer_to_bytearray(firmware ) - payload += conversions.integer_to_bytearray(FPGA ) - payload += conversions.integer_to_bytearray(compatibility ) - payload += conversions.integer_to_bytearray(serial ) + payload = conversions.unsigned_byte_to_bytearray (major ) + payload += conversions.unsigned_byte_to_bytearray (minor ) + payload += conversions.unsigned_byte_to_bytearray (micro ) + payload += conversions.unsigned_short_to_bytearray (build ) + payload += conversions.unsigned_byte_to_bytearray (fpga_id ) + payload += conversions.unsigned_byte_to_bytearray (fpga_major ) + payload += conversions.unsigned_byte_to_bytearray (fpga_minor ) + payload += conversions.unsigned_byte_to_bytearray (fpga_lab ) + payload += conversions.unsigned_integer_to_bytearray(compatibility_rev) message = CAN.DenaliMessage.build_message( channel_id=CAN.DenaliChannels.td_sync_broadcast_ch_id, message_id=msg_ids.MsgIds.MSG_ID_TD_VERSION_REPONSE.value, payload=payload) + self.can_interface.send(message, 0) + + + def cmd_send_serial_td_data(self, serial: str): + """ + the td version serial response message method + @param serial: serial number + @return: None + """ + # TODO: replace with proper payload and message ID once message is defined + payload = bytes(serial, 'ascii') + b'\x00' + + message = CAN.DenaliMessage.build_message( + channel_id=CAN.DenaliChannels.td_to_ui_ch_id, + message_id=0x95, + payload=payload) + self.can_interface.send(message, 0) \ No newline at end of file