Initial: ContinuousTransponder wrapper for Kogger USBL

High-level Python wrapper around the upstream cosma-tech/kogger_acousticAntenna
driver. Configures a Kogger acoustic antenna as a permanent slave transponder
in a single start() call: address filter, echo filter, optional TDMA sync slot,
permanent response window, and Python callbacks for each ping received.

No modification to the upstream driver — only composes existing public methods
in the right order. Snapshot of upstream driver included read-only under driver/
for reference.

Includes:
- transponder_continu.py (302 lines): the wrapper class + CLI
- examples/auv_slave.py (79 lines): usage example with logging
- README.md: design rationale, usage, multi-AUV TDMA, watchdog, hardware wiring
- driver/: snapshot of cosma-tech/kogger_acousticAntenna at commit 1b539f9
  ('Add index slot for multi pinger', 2025-03-11)

Built for Cosma context (USV master + N AUVs slaves) following the design
conversation in Discord #ping-pong-ping (2026-04-27). See poulpe/ping-pong-ping
on Gitea for the interactive demo of the protocol.
This commit is contained in:
2026-04-27 22:08:44 +00:00
commit 9a158f5c5f
53 changed files with 7894 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
2026-03-20 14:32:59.493 | INFO | kogger_protocol_driver:setup_logging:81 - Kogger Protocol Driver: Loguru logging configured to level INFO and file log/2026-03-20_14-32-59_log_auv.log.
2026-03-20 14:32:59.494 | INFO | kogger_protocol_driver:__init__:224 - KoggerSBPDevice configured for port /dev/ttyAMA4, baudrate 921600, address 0
2026-03-20 14:32:59.495 | INFO | kogger_protocol_driver:_open_file:43 - CSV logging enabled to log/2026-03-20_14-32-59_AUV_usbl.csv
2026-03-20 14:32:59.497 | INFO | kogger_protocol_driver:_reader_thread_loop:491 - Reader thread started.
2026-03-20 14:32:59.497 | SUCCESS | kogger_protocol_driver:connect:314 - Successfully connected to /dev/ttyAMA4 at 921600 and started reader thread.
2026-03-20 14:32:59.519 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x4
2026-03-20 14:32:59.550 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x20
2026-03-20 14:32:59.581 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x21
2026-03-20 14:32:59.613 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x65
2026-03-20 14:32:59.644 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-20 14:32:59.645 | INFO | __main__:main:136 - set_auto_response_filter(0)=None
2026-03-20 14:32:59.666 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-20 14:32:59.666 | INFO | __main__:main:138 - set_auto_response_timeout(0xffffffff)=None
2026-03-20 14:32:59.687 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-20 14:32:59.687 | INFO | __main__:main:140 - set_auto_response_payload(0xff)=None
2026-03-20 14:32:59.688 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:00.688 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:01.688 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:02.689 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:03.690 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:04.690 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:05.691 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:06.692 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:07.692 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:08.693 | INFO | __main__:main:147 - response_received=-1
2026-03-20 14:33:09.565 | INFO | kogger_protocol_driver:_reader_thread_loop:568 - Reader thread finished.
2026-03-20 14:33:09.566 | INFO | kogger_protocol_driver:disconnect:352 - Serial port /dev/ttyAMA4 closed.
2026-03-20 14:33:09.566 | INFO | kogger_protocol_driver:disconnect:364 - Disconnected and cleaned up.