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,17 @@
2026-03-19 12:52:43.085 | INFO | kogger_protocol_driver:setup_logging:81 - Kogger Protocol Driver: Loguru logging configured to level INFO and file log/2026-03-19_12-52-42_log_usv.log.
2026-03-19 12:52:43.086 | INFO | kogger_protocol_driver:__init__:224 - KoggerSBPDevice configured for port /dev/ttyAMA4, baudrate 921600, address 0
2026-03-19 12:52:43.087 | INFO | kogger_protocol_driver:_open_file:43 - CSV logging enabled to log/2026-03-19_12-52-42_AUV_usbl.csv
2026-03-19 12:52:43.089 | INFO | kogger_protocol_driver:_reader_thread_loop:491 - Reader thread started.
2026-03-19 12:52:43.090 | SUCCESS | kogger_protocol_driver:connect:314 - Successfully connected to /dev/ttyAMA4 at 921600 and started reader thread.
2026-03-19 12:52:43.114 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x20
2026-03-19 12:52:43.128 | INFO | __main__:main:127 - set_auto_response_filter(0)=True
2026-03-19 12:52:43.133 | INFO | __main__:main:129 - set_auto_response_timeout(0xffffffff)=True
2026-03-19 12:52:43.137 | INFO | __main__:main:131 - set_auto_response_payload(0xff)=True
2026-03-19 12:52:44.167 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-19 12:52:45.181 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-19 12:52:46.187 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-19 12:52:47.194 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-19 12:52:48.199 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x68
2026-03-19 12:53:02.544 | INFO | kogger_protocol_driver:_reader_thread_loop:568 - Reader thread finished.
2026-03-19 12:53:02.545 | INFO | kogger_protocol_driver:disconnect:352 - Serial port /dev/ttyAMA4 closed.
2026-03-19 12:53:02.546 | INFO | kogger_protocol_driver:disconnect:364 - Disconnected and cleaned up.