Implement feetech broadcast ping

This commit is contained in:
Simon Alibert
2025-03-24 20:46:36 +01:00
parent 1de75c46c0
commit 7c8ab8e2d6
4 changed files with 120 additions and 32 deletions

View File

@@ -295,16 +295,13 @@ class MockMotors(MockSerial):
return new_stub
def build_broadcast_ping_stub(
self, ids_models_firmwares: dict[int, list[int]] | None = None, num_invalid_try: int = 0
self, ids_models: dict[int, list[int]] | None = None, num_invalid_try: int = 0
) -> str:
ping_request = MockInstructionPacket.ping(scs.BROADCAST_ID)
return_packets = b"".join(
MockStatusPacket.ping(idx, model, firm_ver)
for idx, (model, firm_ver) in ids_models_firmwares.items()
)
return_packets = b"".join(MockStatusPacket.ping(idx, model) for idx, model in ids_models.items())
ping_response = self._build_send_fn(return_packets, num_invalid_try)
stub_name = "Ping_" + "_".join([str(idx) for idx in ids_models_firmwares])
stub_name = "Ping_" + "_".join([str(idx) for idx in ids_models])
self.stub(
name=stub_name,
receive_bytes=ping_request,