mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
arq speed level fix
This commit is contained in:
parent
23cbffe407
commit
5f6fce9e63
1 changed files with 19 additions and 11 deletions
|
@ -233,29 +233,37 @@ class ARQSessionIRS(arq_session.ARQSession):
|
||||||
isWarning=True)
|
isWarning=True)
|
||||||
|
|
||||||
# Adjust the speed level by one step towards the appropriate level, if needed
|
# Adjust the speed level by one step towards the appropriate level, if needed
|
||||||
if appropriate_speed_level > self.speed_level and self.speed_level < len(self.SPEED_LEVEL_DICT) - 1:
|
#if appropriate_speed_level > self.speed_level and self.speed_level < len(self.SPEED_LEVEL_DICT) - 1:
|
||||||
# we need to ensure, the received data is equal to our speed level before changing it
|
# # we need to ensure, the received data is equal to our speed level before changing it
|
||||||
if received_speed_level == self.speed_level:
|
# if received_speed_level == self.speed_level:
|
||||||
self.speed_level += 1
|
# self.speed_level += 1
|
||||||
elif appropriate_speed_level < self.speed_level and self.speed_level > 0:
|
#elif appropriate_speed_level < self.speed_level and self.speed_level > 0:
|
||||||
# we need to ensure, the received data is equal to our speed level before changing it
|
# #if received_speed_level == self.speed_level:
|
||||||
if received_speed_level == self.speed_level:
|
# # self.speed_level -= 1
|
||||||
self.speed_level -= 1
|
|
||||||
|
|
||||||
# Always decode the current mode
|
# Always decode the current mode
|
||||||
current_mode = self.get_mode_by_speed_level(self.speed_level).value
|
current_mode = self.get_mode_by_speed_level(self.speed_level).value
|
||||||
modes_to_decode[current_mode] = True
|
modes_to_decode[current_mode] = True
|
||||||
|
|
||||||
# Decode the previous speed level mode
|
# Update previous speed level
|
||||||
if self.previous_speed_level != self.speed_level:
|
if self.previous_speed_level != self.speed_level:
|
||||||
previous_mode = self.get_mode_by_speed_level(self.previous_speed_level).value
|
|
||||||
modes_to_decode[previous_mode] = True
|
|
||||||
self.previous_speed_level = self.speed_level # Update the previous speed level
|
self.previous_speed_level = self.speed_level # Update the previous speed level
|
||||||
|
|
||||||
|
# Ensure, previous mode is decoded as well
|
||||||
|
previous_mode = self.get_mode_by_speed_level(self.previous_speed_level).value
|
||||||
|
modes_to_decode[previous_mode] = True
|
||||||
|
|
||||||
|
# Ensure, appropriate mode is decoded as well
|
||||||
|
appropriate_mode = self.get_mode_by_speed_level(appropriate_speed_level).value
|
||||||
|
modes_to_decode[appropriate_mode] = True
|
||||||
|
|
||||||
self.log(f"Modes to Decode: {list(modes_to_decode.keys())}", isWarning=True)
|
self.log(f"Modes to Decode: {list(modes_to_decode.keys())}", isWarning=True)
|
||||||
# Apply the new decode mode based on the updated and previous speed levels
|
# Apply the new decode mode based on the updated and previous speed levels
|
||||||
self.modem.demodulator.set_decode_mode(modes_to_decode)
|
self.modem.demodulator.set_decode_mode(modes_to_decode)
|
||||||
|
|
||||||
|
# finally update the speed level to the appropriate one
|
||||||
|
self.speed_level = appropriate_speed_level
|
||||||
|
|
||||||
return self.speed_level
|
return self.speed_level
|
||||||
|
|
||||||
def abort_transmission(self):
|
def abort_transmission(self):
|
||||||
|
|
Loading…
Reference in a new issue