respond to CQ and PING if not in ARQ session

This commit is contained in:
DJ2LS 2024-03-24 19:29:28 +01:00
parent 363b90da07
commit b0c0940e5d
2 changed files with 4 additions and 7 deletions

View file

@ -9,7 +9,8 @@ class CQFrameHandler(frame_handler_ping.PingFrameHandler):
def should_respond(self):
self.logger.debug(f"Respond to CQ: {self.config['MODEM']['respond_to_cq']}")
return self.config['MODEM']['respond_to_cq']
return bool(self.config['MODEM']['respond_to_cq'] and not self.states.getARQ())
def send_ack(self):
factory = data_frame_factory.DataFrameFactory(self.config)

View file

@ -15,15 +15,11 @@ class PingFrameHandler(frame_handler.FrameHandler):
# ft = self.details['frame']['frame_type']
# self.logger.info(f"[Modem] {ft} received but not for us.")
# return valid
#def should_respond(self):
# return self.is_frame_for_me()
def follow_protocol(self):
if not self.should_respond():
if not bool(self.is_frame_for_me() and not self.states.getARQ()):
return
self.logger.debug(
f"[Modem] Responding to request from [{self.details['frame']['origin']}]",
snr=self.details['snr'],