This commit is contained in:
Pedro 2023-12-05 19:01:48 +01:00
parent 1fab9f8e53
commit bf89828c75
5 changed files with 15 additions and 19 deletions

View file

@ -25,3 +25,12 @@ class ARQSession():
def get_mode_by_speed_level(self, speed_level):
return self.MODE_BY_SPEED[speed_level]
def transmit_frame(self, frame: bytearray):
modem_queue_item = {
'mode': self.get_mode_by_speed_level(self.speed_level),
'repeat': 1,
'repeat_delay': 1,
'frame': frame,
}
self.tx_frame_queue.put(modem_queue_item)

View file

@ -1,8 +1,9 @@
import threading
import data_frame_factory
import queue
import arq_session
class ARQSessionIRS():
class ARQSessionIRS(arq_session.ARQSession):
STATE_CONN_REQ_RECEIVED = 0
STATE_WAITING_DATA = 1
@ -15,9 +16,8 @@ class ARQSessionIRS():
TIMEOUT_DATA = 2
def __init__(self, config: dict, tx_frame_queue: queue.Queue, dxcall: str, session_id: int):
self.config = config
self.tx_frame_queue = tx_frame_queue
self.dxcall = dxcall
super().__init__(config, tx_frame_queue, dxcall)
self.id = session_id
self.received_data = b''
@ -38,9 +38,6 @@ class ARQSessionIRS():
self.log(f"ARQ Session {self.id} state {self.state}")
self.state = state
def transmit_frame(self, frame: bytearray):
self.tx_frame_queue.put(frame)
def set_modem_decode_modes(self, modes):
pass

View file

@ -41,15 +41,6 @@ class ARQSessionISS(arq_session.ARQSession):
self.log(f"ARQ Session {self.id} state {self.state}")
self.state = state
def transmit_frame(self, frame: bytearray):
modem_queue_item = {
'mode': self.get_mode_by_speed_level(self.speed_level),
'repeat': 1,
'repeat_delay': 1,
'frame': frame,
}
self.tx_frame_queue.put(modem_queue_item)
def runner(self):
if not self.connect():
return False

View file

@ -49,7 +49,7 @@ class TestARQSession(unittest.TestCase):
self.iss_to_irs_channel = threading.Thread(target=self.channelWorker,
args=[self.iss_modem_transmit_queue,
self.irs_frame_dispatcher],
name = "IRS to ISS channel")
name = "ISS to IRS channel")
self.iss_to_irs_channel.start()
self.irs_to_iss_channel = threading.Thread(target=self.channelWorker,

View file

@ -35,8 +35,7 @@ class TestDataFrameFactory(unittest.TestCase):
self.assertEqual(frame_data['origin'], self.factory.myfullcall)
frame_session_id = int.from_bytes(frame_data['session_id'], 'big')
self.assertEqual(frame_session_id , session_id)
self.assertEqual(frame_data['session_id'] , session_id)
def testCQ(self):
frame = self.factory.build_cq()