Exemplo n.º 1
0
    def _read(self):
        self.ack_flag = KaitaiStream.resolve_enum(
            SelfDefinedMessageProtocol.AckFlags, self._io.read_bits_int_be(1))
        self.option_flag = KaitaiStream.resolve_enum(
            SelfDefinedMessageProtocol.OptionFlags,
            self._io.read_bits_int_be(1))
        self.reserved = self._io.read_bits_int_be(6)
        self._io.align_to_byte()
        self.service_type = KaitaiStream.resolve_enum(
            SelfDefinedMessageProtocol.ServiceTypes, self._io.read_u1())
        self.message_length = self._io.read_u2be()
        if self.option_flag.value == 1:
            self.option_field_len = self._io.read_u2be()

        self.request_id = self._io.read_u4be()
        self.destination_ip = radio_ip.RadioIp(self._io)
        if self.is_ack_service != True:
            self.source_ip = radio_ip.RadioIp(self._io)

        if self.is_ack_service == True:
            self.result = KaitaiStream.resolve_enum(
                SelfDefinedMessageProtocol.ResultCodes, self._io.read_u1())

        if (self.is_ack_service == False) and (self.is_work_order == True):
            self.work_order = SelfDefinedMessageProtocol.WorkOrder(
                self._io, self, self._root)

        if (self.is_ack_service == False) and (self.is_short_data == True):
            self.short_data = (self._io.read_bytes_term(
                0, False, True, True)).decode(u"UTF16-LE")

        if self.option_flag.value == 1:
            self.option_field = (self._io.read_bytes(
                self.option_field_len)).decode(u"UTF16-LE")
 def _read(self):
     self.source_ip = radio_ip.RadioIp(self._io)
     self.target_ip = radio_ip.RadioIp(self._io)
     self.pc_flag = KaitaiStream.resolve_enum(self._root.PcFlagTypes,
                                              self._io.read_u1())
     self.call_type = KaitaiStream.resolve_enum(self._root.CallTypes,
                                                self._io.read_u1())
     self.vio_select = self._io.read_bytes(1)
 def _read(self):
     self.source_ip = radio_ip.RadioIp(self._io)
     self.target_ip = radio_ip.RadioIp(self._io)
     self.pc_flag = KaitaiStream.resolve_enum(self._root.PcFlagTypes,
                                              self._io.read_u1())
     self.call_type = KaitaiStream.resolve_enum(self._root.CallTypes,
                                                self._io.read_u1())
     self.vio_select = self._io.read_bytes(1)
     self.result_messages = self._root.VioExtendedStatus(
         self._io, self, self._root)
Exemplo n.º 4
0
 def _read(self):
     self.source_ip = radio_ip.RadioIp(self._io)
     self.target_ip = radio_ip.RadioIp(self._io)
     self.pc_flag = KaitaiStream.resolve_enum(
         TelemetryProtocol.PcFlagTypes, self._io.read_u1())
     self.call_type = KaitaiStream.resolve_enum(
         TelemetryProtocol.CallTypes, self._io.read_u1())
     self.vio_select = self._io.read_bytes(1)
     self.result = KaitaiStream.resolve_enum(
         TelemetryProtocol.ResultTypes, self._io.read_u1())
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.trigger_type = KaitaiStream.resolve_enum(
         self._root.TriggerTypes, self._io.read_u1())
     self.result = KaitaiStream.resolve_enum(self._root.ResultCodes,
                                             self._io.read_u2be())
Exemplo n.º 6
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.cmd_type = KaitaiStream.resolve_enum(
         LocationProtocol.CmdTypes, self._io.read_u1())
     self.result = KaitaiStream.resolve_enum(
         LocationProtocol.ResultCodes, self._io.read_u2be())
Exemplo n.º 7
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.cmd_type = KaitaiStream.resolve_enum(
         LocationProtocol.CmdTypes, self._io.read_u1())
     if self.cmd_type == LocationProtocol.CmdTypes.start_request:
         self.quick_gps_payload = LocationProtocol.QuickGpsPayload(
             self._io, self, self._root)
Exemplo n.º 8
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.trigger_type = self._io.read_u1()
     self.distance = self._io.read_u4be()
     self.start_time = datetimestring.Datetimestring(self._io)
     self.stop_time = datetimestring.Datetimestring(self._io)
     self.interval = intervalstring.Intervalstring(self._io)
     self.max_interval = intervalstring.Intervalstring(self._io)
 def _read(self):
     self.reserved = self._io.read_bytes(1)
     self.state_type = KaitaiStream.resolve_enum(self._root.StateTypes,
                                                 self._io.read_u1())
     self.message_length = self._io.read_u2be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.protocol_opcode = self._io.read_u2be()
     self.result = KaitaiStream.resolve_enum(self._root.Results,
                                             self._io.read_u1())
Exemplo n.º 10
0
    def _read(self):
        self.ack_flag = KaitaiStream.resolve_enum(
            TextMessageProtocol.AckFlags, self._io.read_bits_int_be(1)
        )
        self.option_flag = KaitaiStream.resolve_enum(
            TextMessageProtocol.OptionFlags, self._io.read_bits_int_be(1)
        )
        self.reserved = self._io.read_bits_int_be(6)
        self._io.align_to_byte()
        self.service_type = KaitaiStream.resolve_enum(
            TextMessageProtocol.ServiceTypes, self._io.read_u1()
        )
        self.message_length = self._io.read_u2be()
        if self.option_flag.value == 1:
            self.option_field_len = self._io.read_u2be()

        self.request_id = self._io.read_u4be()
        self.destination_ip = radio_ip.RadioIp(self._io)
        if self.service_type != TextMessageProtocol.ServiceTypes.send_group_message_ack:
            self.source_ip = radio_ip.RadioIp(self._io)

        if (
            self.service_type
            == TextMessageProtocol.ServiceTypes.send_private_message_ack
        ) or (
            self.service_type == TextMessageProtocol.ServiceTypes.send_group_message_ack
        ):
            self.result = KaitaiStream.resolve_enum(
                TextMessageProtocol.ResultCodes, self._io.read_u1()
            )

        if (
            self.service_type == TextMessageProtocol.ServiceTypes.send_private_message
        ) or (self.service_type == TextMessageProtocol.ServiceTypes.send_group_message):
            self.tmdata = (self._io.read_bytes_term(0, False, True, True)).decode(
                u"UTF16-LE"
            )

        if self.option_flag.value == 1:
            self.option_field = (self._io.read_bytes(self.option_field_len)).decode(
                u"UTF16-LE"
            )
Exemplo n.º 11
0
    def _read(self):
        self.opcode = self._io.ensure_fixed_contents(b"\x00")
        self.rrs_type = KaitaiStream.resolve_enum(self._root.RrsTypes,
                                                  self._io.read_u1())
        self.message_length = self._io.read_u2le()
        self.radio_ip = radio_ip.RadioIp(self._io)
        if (self.rrs_type == self._root.RrsTypes.registration_ack) or (
                self.rrs_type == self._root.RrsTypes.online_check_ack):
            self.result = self._io.read_u1()

        if self.rrs_type == self._root.RrsTypes.registration_ack:
            self.valid_time = self._io.read_u4be()
Exemplo n.º 12
0
    def _read(self):
        self.opcode = self._io.read_bytes(1)
        if not self.opcode == b"\x00":
            raise kaitaistruct.ValidationNotEqualError(b"\x00", self.opcode,
                                                       self._io, u"/seq/0")
        self.rrs_type = KaitaiStream.resolve_enum(
            RadioRegistrationService.RrsTypes, self._io.read_u1())
        self.message_length = self._io.read_u2le()
        self.radio_ip = radio_ip.RadioIp(self._io)
        if (self.rrs_type == RadioRegistrationService.RrsTypes.registration_ack
            ) or (self.rrs_type
                  == RadioRegistrationService.RrsTypes.online_check_ack):
            self.result = self._io.read_u1()

        if self.rrs_type == RadioRegistrationService.RrsTypes.registration_ack:
            self.valid_time = self._io.read_u4be()
Exemplo n.º 13
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.gpsdata = gpsdata.Gpsdata(self._io)
Exemplo n.º 14
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
Exemplo n.º 15
0
 def _read(self):
     self.destination_ip = radio_ip.RadioIp(self._io)
     self.source_ip = radio_ip.RadioIp(self._io)
Exemplo n.º 16
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.time_remaining = intervalstring.Intervalstring(self._io)
     self.gpsdata = gpsdata.Gpsdata(self._io)
Exemplo n.º 17
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.start_time = datetimestring.Datetimestring(self._io)
     self.stop_time = datetimestring.Datetimestring(self._io)
     self.interval = intervalstring.Intervalstring(self._io)
Exemplo n.º 18
0
 def _read(self):
     self.request_id = self._io.read_u4be()
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.result = KaitaiStream.resolve_enum(
         LocationProtocol.ResultCodes, self._io.read_u2be())
     self.gpsdata = gpsdata.Gpsdata(self._io)
Exemplo n.º 19
0
 def _read(self):
     self.radio_ip = radio_ip.RadioIp(self._io)
     self.emergency_type = self._io.read_u1()
     self.gpsdata = gpsdata.Gpsdata(self._io)
Exemplo n.º 20
0
 def _read(self):
     self.destination_ip = radio_ip.RadioIp(self._io)
     self.source_ip = radio_ip.RadioIp(self._io)
     self.block_number = self._io.read_u2be()
     self.file_data = self._io.read_bytes(
         (self._parent.message_length - 10))
Exemplo n.º 21
0
 def _read(self):
     self.destination_ip = radio_ip.RadioIp(self._io)
     self.source_ip = radio_ip.RadioIp(self._io)
     self.file_size = self._io.read_u2be()
     self.file_name = (self._io.read_bytes(
         (self._parent.message_length - 10))).decode(u"UTF16-LE")
Exemplo n.º 22
0
 def _read(self):
     self.destination_ip = radio_ip.RadioIp(self._io)
     self.source_ip = radio_ip.RadioIp(self._io)
     self.block_number = self._io.read_u2be()
     self.result = KaitaiStream.resolve_enum(self._root.Results,
                                             self._io.read_u1())
Exemplo n.º 23
0
 def _read(self):
     self.destination_ip = radio_ip.RadioIp(self._io)
     self.source_ip = radio_ip.RadioIp(self._io)
     self.result = KaitaiStream.resolve_enum(
         DataTransmitProtocol.Results, self._io.read_u1())