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.
17 lines
793 B
Plaintext
17 lines
793 B
Plaintext
# This would be written to test_messages.bin by the test script,
|
|
# or you can create the file with these exact bytes.
|
|
# For clarity, showing how it's constructed:
|
|
# Frame 1: Timestamp response (12345 ms)
|
|
frame1 = b'\xBB\x55\x00\x01\x01\x04\x39\x30\x00\x00\x49\x95'
|
|
# Frame 2: Unsolicited Attitude data
|
|
frame2 = b'\xBB\x55\x00\x01\x04\x06\xE8\x03\xF4\x01\x38\xFF\xC8\x28'
|
|
# Frame 3: RESP_OK to a SET_UART_CONFIG command (ID 0x18)
|
|
frame3 = b'\xBB\x55\x00\x81\x18\x03\x01\xA0\xB0\x2D\x24'
|
|
# Frame 4: RESP_ERR_KEY to a SAVE_SETTINGS_TO_FLASH command (ID 0x23)
|
|
frame4 = b'\xBB\x55\x00\x81\x23\x03\x07\xC1\xD1\xB0\x0D'
|
|
# Frame 5: Another unsolicited Timestamp (67890 ms)
|
|
frame5 = b'\xBB\x55\x00\x01\x01\x04\x32\x09\x01\x00\x42\xCD'
|
|
|
|
binary_file_content = frame1 + frame2 + frame3 + frame4 + frame5
|
|
|