def _translate_data(self, last_message_parameters): if len(last_message_parameters) != Constants.MESSAGE_SIZE - 3: raise CommunicationException("Tried to process a message that was not the right size") self._capacitor_voltage = ByteUtils.converts_two_bytes_to_int(ByteUtils.group_bytes_in_pairs(last_message_parameters[0:2])) self._secret_code = ByteUtils.converts_bytes_to_char(last_message_parameters[2]) self._treasure_completion = ByteUtils.convert_bytes_to_int(last_message_parameters[3], signed = False) self._motor_1_setpoint_completion = ByteUtils.convert_bytes_to_int(last_message_parameters[4], signed = False) self._motor_2_setpoint_completion = ByteUtils.convert_bytes_to_int(last_message_parameters[5], signed = False) self._motor_3_setpoint_completion = ByteUtils.convert_bytes_to_int(last_message_parameters[6], signed = False) self._motor_4_setpoint_completion = ByteUtils.convert_bytes_to_int(last_message_parameters[7], signed = False)
def _verify_checksum(self): checksum = 0 for i in range(0, 10): checksum += ByteUtils.convert_bytes_to_int(self.messages_buffer[i], signed = False) return (checksum % 256) == 0