mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
ARQ WIP
This commit is contained in:
parent
1fab9f8e53
commit
bf89828c75
5 changed files with 15 additions and 19 deletions
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue