Unify device controls and restore the WiFi console
This commit is contained in:
1 parent
3746f9d5f4
commit
4c8aad5b16
44 files changed
+3573
-2948
No files matched your search
@@ -1673,7 +1673,7 @@ def read_target_transfer_settings(
|
||||
) -> TargetTransferSettings:
|
||||
rxps = ota.read_remote_rxps(controller, target_name)
|
||||
|
||||
powersaving_reply = controller.remote_command(target_name, "powersaving")
|
||||
powersaving_reply = controller.remote_command(target_name, "get powersaving")
|
||||
powersaving_match = re.fullmatch(
|
||||
r"\s*>?\s*(on|off)\s*",
|
||||
powersaving_reply,
|
||||
@@ -1847,7 +1847,7 @@ def enforce_transfer_guardrails(
|
||||
) -> None:
|
||||
current = read_target_transfer_settings(controller, target_name)
|
||||
if current.powersaving_enabled:
|
||||
reply = controller.remote_command(target_name, "powersaving off")
|
||||
reply = controller.remote_command(target_name, "set powersaving off")
|
||||
if re.search(r"\boff\b", reply, re.IGNORECASE) is None:
|
||||
raise ota.OtaError(f"target did not disable CPU power saving: {reply}")
|
||||
rxps_requested = saved.rxps_enabled if saved is not None else current.rxps_enabled
|
||||
@@ -1986,7 +1986,7 @@ def restore_transfer_settings(
|
||||
|
||||
if verified.powersaving_enabled != saved.powersaving_enabled:
|
||||
desired = "on" if saved.powersaving_enabled else "off"
|
||||
reply = controller.remote_command(target_name, f"powersaving {desired}")
|
||||
reply = controller.remote_command(target_name, f"set powersaving {desired}")
|
||||
if re.search(rf"\b{desired}\b", reply, re.IGNORECASE) is None:
|
||||
raise ota.OtaError(f"target did not restore CPU power saving: {reply}")
|
||||
|
||||
|
||||
@@ -6200,14 +6200,14 @@ class Rak3401TransferGuardrailTests(unittest.TestCase):
|
||||
self.rxps_level = 0
|
||||
self.rxps_preamble = 0
|
||||
return f"OK - on,{rx_us},{sleep_us}"
|
||||
if command == "powersaving":
|
||||
return "on" if self.powersaving_enabled else "off"
|
||||
if command == "powersaving off":
|
||||
if command == "get powersaving":
|
||||
return "> on" if self.powersaving_enabled else "> off"
|
||||
if command == "set powersaving off":
|
||||
self.powersaving_enabled = False
|
||||
return "off"
|
||||
if command == "powersaving on":
|
||||
if command == "set powersaving on":
|
||||
self.powersaving_enabled = True
|
||||
return "on - Immediate effect"
|
||||
return "OK - powersaving on"
|
||||
if command == "get rxdelay":
|
||||
return f"> {self.rxdelay}"
|
||||
if command.startswith("set rxdelay "):
|
||||
@@ -6249,7 +6249,7 @@ class Rak3401TransferGuardrailTests(unittest.TestCase):
|
||||
self.assertEqual(controller.rxdelay, "2.0")
|
||||
self.assertEqual(controller.airtime_factor, "1.0")
|
||||
self.assertEqual(controller.ota_hops, 3)
|
||||
self.assertIn("powersaving on", controller.commands)
|
||||
self.assertIn("set powersaving on", controller.commands)
|
||||
self.assertEqual(controller.commands[-1], "ota config")
|
||||
|
||||
def test_restore_converges_when_saved_power_saving_was_off(self) -> None:
|
||||
@@ -6261,7 +6261,7 @@ class Rak3401TransferGuardrailTests(unittest.TestCase):
|
||||
rak_chain.restore_transfer_settings(controller, "remote", saved)
|
||||
|
||||
self.assertFalse(controller.powersaving_enabled)
|
||||
self.assertIn("powersaving off", controller.commands)
|
||||
self.assertIn("set powersaving off", controller.commands)
|
||||
|
||||
def test_guardrails_preserve_airtime_without_opt_in(self) -> None:
|
||||
controller = self.Controller()
|
||||
|
||||
Reference in new issue
Block a user