def parse(s): channel_header = ChannelHeader.parse(s) channel_index = s.read("uint:16") rx_level = s.read("int:8") link_budget = s.read("uint:8") target_rx_level = s.read("uint:8") nls = s.read("bool") missed = s.read("bool") retry = s.read("bool") unicast = s.read("bool") _ = s.read("pad:4") fifo_token = s.read("uint:8") seq_nr = s.read("uint:8") response_to = CT.parse(s) addressee = Addressee.parse(s) return Status(channel_header=channel_header, channel_index=channel_index, rx_level=rx_level, link_budget=link_budget, target_rx_level=target_rx_level, nls=nls, missed=missed, retry=retry, unicast=unicast, fifo_token=fifo_token, seq_nr=seq_nr, response_to=response_to, addressee=addressee)
def parse_alp_interface_status_d7asp(self, s): channel_header = s.read("uint:8") # TODO parse channel_index = struct.unpack(">h", s.read("bytes:2"))[0] rx_level = s.read("int:8") link_budget = s.read("uint:8") target_rx_level = s.read("uint:8") nls = s.read("bool") missed = s.read("bool") retry = s.read("bool") unicast = s.read("bool" ) _ = s.read("pad:4") fifo_token = s.read("uint:8") seq_nr = s.read("uint:8") response_to = CT.parse(s) addressee = Addressee.parse(s) status = Status(channel_header=channel_header, channel_index=channel_index, rx_level=rx_level, link_budget=link_budget, target_rx_level=target_rx_level, nls=nls, missed=missed, retry=retry, unicast=unicast, fifo_token=fifo_token, seq_nr=seq_nr, response_to=response_to, addressee=addressee) return InterfaceStatus( operand=InterfaceStatusOperand(interface_id=0xd7, interface_status=status) )
def parse_alp_interface_status_d7asp(self, s): channel_header = ChannelHeader.parse(s) channel_index = struct.unpack(">h", s.read("bytes:2"))[0] rx_level = s.read("int:8") link_budget = s.read("uint:8") target_rx_level = s.read("uint:8") nls = s.read("bool") missed = s.read("bool") retry = s.read("bool") unicast = s.read("bool") _ = s.read("pad:4") fifo_token = s.read("uint:8") seq_nr = s.read("uint:8") response_to = CT.parse(s) addressee = Addressee.parse(s) status = Status(channel_header=channel_header, channel_index=channel_index, rx_level=rx_level, link_budget=link_budget, target_rx_level=target_rx_level, nls=nls, missed=missed, retry=retry, unicast=unicast, fifo_token=fifo_token, seq_nr=seq_nr, response_to=response_to, addressee=addressee) return InterfaceStatus(operand=InterfaceStatusOperand( interface_id=0xd7, interface_status=status))
def parse_indirect_forward_action(self, b7, b6, s): interface_file_id = int(s.read("uint:8")) overload = b7 overload_config = None if overload: # TODO we are assuming D7ASP interface here overload_config = Addressee.parse(s) return IndirectForwardAction( overload=overload, resp=b6, operation=IndirectForward(operand=IndirectInterfaceOperand( interface_file_id=interface_file_id, interface_configuration_overload=overload_config)))
def parse(s): qos = QoS.parse(s) dorm_to = CT.parse(s) addressee = Addressee.parse(s) return Configuration(qos=qos, dorm_to=dorm_to, addressee=addressee)