diff --git a/modem/arq_session_iss.py b/modem/arq_session_iss.py index 07dfe205..9dfaa4e2 100644 --- a/modem/arq_session_iss.py +++ b/modem/arq_session_iss.py @@ -51,7 +51,7 @@ class ARQSessionISS(arq_session.ARQSession): def connect(self): self.state = self.STATE_CONNECTING - connect_frame = self.frame_factory.build_arq_session_connect(True, self.dxcall, self.id) + connect_frame = self.frame_factory.build_arq_session_connect(self.dxcall, self.id) retries = self.RETRIES_CONNECT while retries > 0: diff --git a/modem/data_frame_factory.py b/modem/data_frame_factory.py index 2bb86826..b6a9041d 100644 --- a/modem/data_frame_factory.py +++ b/modem/data_frame_factory.py @@ -109,8 +109,7 @@ class DataFrameFactory: "session_id": 1, } # arq connect frames - self.template_list[FR_TYPE.ARQ_SESSION_OPEN_N.value] = arq_session_open - self.template_list[FR_TYPE.ARQ_SESSION_OPEN_W.value] = arq_session_open + self.template_list[FR_TYPE.ARQ_SESSION_OPEN.value] = arq_session_open # same structure for narrow and wide types arq_session_open_ack = { @@ -120,10 +119,7 @@ class DataFrameFactory: "arq_protocol_version": 1 } # arq connect ack frames - self.template_list[FR_TYPE.ARQ_SESSION_OPEN_ACK_N.value] = arq_session_open_ack - self.template_list[FR_TYPE.ARQ_SESSION_OPEN_ACK_W.value] = arq_session_open_ack - - + self.template_list[FR_TYPE.ARQ_SESSION_OPEN_ACK.value] = arq_session_open_ack # arq data frame # register n frames @@ -325,7 +321,7 @@ class DataFrameFactory: test_frame[:1] = bytes([FR_TYPE.TEST_FRAME.value]) return test_frame - def build_arq_session_connect(self, isWideband, destination, session_id): + def build_arq_session_connect(self, destination, session_id): payload = { "destination_crc": helpers.get_crc_24(destination), @@ -333,10 +329,10 @@ class DataFrameFactory: "origin": helpers.callsign_to_bytes(self.myfullcall), "session_id": session_id.to_bytes(1, 'big'), } - channel_type = FR_TYPE.ARQ_SESSION_OPEN_W if isWideband else FR_TYPE.ARQ_SESSION_OPEN_N + channel_type = FR_TYPE.ARQ_SESSION_OPEN return self.construct(channel_type, payload) - def build_arq_session_connect_ack(self, isWideband, session_id, speed_level,arq_protocol_version): + def build_arq_session_connect_ack(self, session_id, speed_level,arq_protocol_version): #connection_frame = bytearray(self.length_sig0_frame) #connection_frame[:1] = frametype @@ -350,7 +346,7 @@ class DataFrameFactory: "arq_protocol_version": bytes([arq_protocol_version]), } - channel_type = FR_TYPE.ARQ_SESSION_OPEN_ACK_W if isWideband else FR_TYPE.ARQ_SESSION_OPEN_ACK_N + channel_type = FR_TYPE.ARQ_SESSION_OPEN_ACK return self.construct(channel_type, payload) def build_arq_data_frame(self, session_id: bytes, n_frames_per_burst: int, max_size: int, n_frame: int, frame_payload: bytes): diff --git a/modem/frame_dispatcher.py b/modem/frame_dispatcher.py index f43b8a16..5b342f95 100644 --- a/modem/frame_dispatcher.py +++ b/modem/frame_dispatcher.py @@ -26,10 +26,8 @@ from frame_handler_arq_session import ARQFrameHandler class DISPATCHER(): FRAME_HANDLER = { - FR_TYPE.ARQ_SESSION_OPEN_ACK_N.value: {"class": ARQFrameHandler, "name": "ARQ OPEN ACK (Narrow)"}, - FR_TYPE.ARQ_SESSION_OPEN_ACK_W.value: {"class": ARQFrameHandler, "name": "ARQ OPEN ACK (Wide)"}, - FR_TYPE.ARQ_SESSION_OPEN_N.value: {"class": ARQFrameHandler, "name": "ARQ Data Channel Open (Narrow)"}, - FR_TYPE.ARQ_SESSION_OPEN_W.value: {"class": ARQFrameHandler, "name": "ARQ Data Channel Open (Wide)"}, + FR_TYPE.ARQ_SESSION_OPEN_ACK.value: {"class": ARQFrameHandler, "name": "ARQ OPEN ACK"}, + FR_TYPE.ARQ_SESSION_OPEN.value: {"class": ARQFrameHandler, "name": "ARQ Data Channel Open"}, FR_TYPE.ARQ_CONNECTION_CLOSE.value: {"class": ARQFrameHandler, "name": "ARQ CLOSE SESSION"}, FR_TYPE.ARQ_CONNECTION_HB.value: {"class": ARQFrameHandler, "name": "ARQ HEARTBEAT"}, FR_TYPE.ARQ_CONNECTION_OPEN.value: {"class": ARQFrameHandler, "name": "ARQ OPEN SESSION"}, @@ -121,7 +119,7 @@ class DISPATCHER(): def get_id_from_frame(self, data): - if data[:1] in [FR_TYPE.ARQ_SESSION_OPEN_N, FR_TYPE.ARQ_SESSION_OPEN_W]: + if data[:1] == FR_TYPE.ARQ_SESSION_OPEN: return data[13:14] return None @@ -230,21 +228,13 @@ class DISPATCHER(): # Dictionary of functions and log messages used in process_data # instead of a long series of if-elif-else statements. self.rx_dispatcher = { - FR_TYPE.ARQ_SESSION_OPEN_ACK_N.value: ( + FR_TYPE.ARQ_SESSION_OPEN_ACK.value: ( self.arq_iss.arq_received_channel_is_open, - "ARQ OPEN ACK (Narrow)", + "ARQ OPEN ACK", ), - FR_TYPE.ARQ_SESSION_OPEN_ACK_W.value: ( - self.arq_iss.arq_received_channel_is_open, - "ARQ OPEN ACK (Wide)", - ), - FR_TYPE.ARQ_SESSION_OPEN_N.value: ( + FR_TYPE.ARQ_SESSION_OPEN.value: ( self.initialize_arq_transmission_irs, - "ARQ Data Channel Open (Narrow)", - ), - FR_TYPE.ARQ_SESSION_OPEN_W.value: ( - self.initialize_arq_transmission_irs, - "ARQ Data Channel Open (Wide)", + "ARQ Data Channel Open", ), FR_TYPE.ARQ_CONNECTION_CLOSE.value: ( self.arq_session.received_session_close, diff --git a/modem/modem_frametypes.py b/modem/modem_frametypes.py index 23e07c4f..d01f1db0 100644 --- a/modem/modem_frametypes.py +++ b/modem/modem_frametypes.py @@ -25,20 +25,13 @@ class FRAME_TYPE(Enum): PING = 210 PING_ACK = 211 IS_WRITING = 215 - # ARQ_SESSION_OPEN = 221 # TODO Rename to ARQ_CONNECTION - # ARQ_SESSION_HB = 222 # TODO Rename to ARQ_CONNECTION - # ARQ_SESSION_CLOSE = 223 # TODO Rename to ARQ_CONNECTION - # ARQ_DC_OPEN_W = 225 # TODO Rename to ARQ_SESSION - # ARQ_DC_OPEN_ACK_W = 226 # TODO Rename to ARQ_SESSION - # ARQ_DC_OPEN_N = 227 # TODO Rename to ARQ_SESSION - # ARQ_DC_OPEN_ACK_N = 228 # TODO Rename to ARQ_SESSION ARQ_CONNECTION_OPEN = 221 ARQ_CONNECTION_HB = 222 ARQ_CONNECTION_CLOSE = 223 - ARQ_SESSION_OPEN_W = 225 - ARQ_SESSION_OPEN_ACK_W = 226 - ARQ_SESSION_OPEN_N = 227 - ARQ_SESSION_OPEN_ACK_N = 228 + ARQ_SESSION_OPEN = 225 + ARQ_SESSION_OPEN_ACK = 226 + ARQ_SESSION_INFO = 227 + ARQ_SESSION_INFO_ACK = 228 ARQ_STOP = 249 BEACON = 250 FEC = 251