From 3a45ce4e05f3e76085927d27962bfe2bdd53c193 Mon Sep 17 00:00:00 2001 From: DJ2LS <75909252+DJ2LS@users.noreply.github.com> Date: Wed, 29 Mar 2023 13:24:58 +0200 Subject: [PATCH] revert using tx_enable instead of calcualted tx time --- tnc/modem.py | 18 ++++++++++++------ tnc/tci.py | 16 ++++------------ 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/tnc/modem.py b/tnc/modem.py index eab2d6bf..dbf0e75e 100644 --- a/tnc/modem.py +++ b/tnc/modem.py @@ -693,16 +693,22 @@ class RF: # Release our mod_out_lock, so we can use the queue self.mod_out_locked = False - while self.modoutqueue: + # we need to wait manually for tci processing + if static.AUDIO_ENABLE_TCI: + + duration = len(txbuffer_out) / 8000 + timestamp_to_sleep = time.time() + (duration) + self.log.debug("[MDM] TCI calculated duration", duration=duration) + while time.time() < timestamp_to_sleep: + threading.Event().wait(0.01) + else: + timestamp_to_sleep = time.time() + + while self.modoutqueue and time.time() < timestamp_to_sleep: threading.Event().wait(0.01) # if we're transmitting FreeDATA signals, reset channel busy state static.CHANNEL_BUSY = False - # wait until tci protocol released tx state - if static.AUDIO_ENABLE_TCI: - while not self.tci_module.get_tx_enable(): - threading.Event().wait(0.01) - static.PTT_STATE = self.radio.set_ptt(False) # Push ptt state to socket stream diff --git a/tnc/tci.py b/tnc/tci.py index d9326d80..3d9402f7 100644 --- a/tnc/tci.py +++ b/tnc/tci.py @@ -46,8 +46,6 @@ class TCI: self.meter = None self.level = None self.ptt = None - self.tx_enable = False - def connect(self): self.log.info( @@ -76,10 +74,7 @@ class TCI: self.ws.send('audio_stream_samples:1200;') self.ws.send('audio_start:0;') - if message == "tx_enable:1,true": - self.tx_enable = True - self.set_ptt(False) - + if message == "ready;": # tx chrono frame if len(message) in {64}: receiver = message[:4] @@ -143,9 +138,9 @@ class TCI: self.mode = splitted_message[1][:-1] # find ptt - if bytes(message, "utf-8").startswith(b"trx:0,"): - splitted_message = message.split("trx:0,") - self.ptt = splitted_message[1][:-1] + #if bytes(message, "utf-8").startswith(b"trx:0,"): + # splitted_message = message.split("trx:0,") + # self.ptt = splitted_message[1][:-1] # find bandwidth #if message.startswith("rx_filter_band:0,"): @@ -321,9 +316,6 @@ class TCI: self.ws.send(f'trx:0;') return self.ptt - def get_tx_enable(self): - """ """ - return self.tx_enable def close_rig(self): """ """ return