Files
kogger-transpondeur-continu/driver/test/log/2026-03-20_13-35-54_log_auv.log
Poulpe 9a158f5c5f 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.
2026-04-27 22:08:44 +00:00

78 lines
14 KiB
Plaintext

2026-03-20 13:35:54.058 | INFO | kogger_protocol_driver:setup_logging:81 - Kogger Protocol Driver: Loguru logging configured to level INFO and file log/2026-03-20_13-35-54_log_auv.log.
2026-03-20 13:35:54.059 | INFO | kogger_protocol_driver:__init__:224 - KoggerSBPDevice configured for port /dev/ttyAMA4, baudrate 921600, address 0
2026-03-20 13:35:54.059 | INFO | kogger_protocol_driver:_open_file:43 - CSV logging enabled to log/2026-03-20_13-35-54_AUV_usbl.csv
2026-03-20 13:35:54.061 | INFO | kogger_protocol_driver:_reader_thread_loop:491 - Reader thread started.
2026-03-20 13:35:54.061 | SUCCESS | kogger_protocol_driver:connect:314 - Successfully connected to /dev/ttyAMA4 at 921600 and started reader thread.
2026-03-20 13:35:54.082 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x4
2026-03-20 13:35:54.137 | WARNING | kogger_protocol_driver:_execute_command:643 - Timeout waiting for response for command ID 0x65
2026-03-20 13:35:54.150 | INFO | __main__:main:136 - set_auto_response_filter(0)=True
2026-03-20 13:35:54.153 | INFO | __main__:main:138 - set_auto_response_timeout(0xffffffff)=True
2026-03-20 13:35:54.155 | INFO | __main__:main:140 - set_auto_response_payload(0xff)=True
2026-03-20 13:35:54.155 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:55.156 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:56.156 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:57.157 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:58.157 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:59.158 | INFO | __main__:main:147 - response_received=-1
2026-03-20 13:35:59.192 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:35:59.193 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 943043765, 'ping_counter': 0, 'carrier_counter': 28288578, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': 91.0, 'azimuth_unc': 0.0, 'elevation_deg': -69.0999984741211, 'elevation_unc': 0.0, 'snr': 17.362789154052734, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -76.49154663085938, 'usbl_pitch': -14.078452110290527, 'usbl_roll': -173.2932891845703, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013759.1926465}
2026-03-20 13:36:00.159 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:00.161 | INFO | __main__:main:154 - antenna.set_auto_response_payload(255)=True
2026-03-20 13:36:01.161 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:02.162 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:03.162 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:03.185 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:03.186 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 947037042, 'ping_counter': 0, 'carrier_counter': 28408987, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -155.89999389648438, 'azimuth_unc': 0.0, 'elevation_deg': -16.400001525878906, 'elevation_unc': 0.0, 'snr': 17.12036895751953, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -78.55616760253906, 'usbl_pitch': -13.609642028808594, 'usbl_roll': -174.87420654296875, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013763.18576}
2026-03-20 13:36:04.163 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:05.163 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:06.164 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:07.165 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:08.165 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:09.166 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:10.166 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:11.167 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:12.167 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:13.168 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:14.169 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:15.169 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:16.170 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:17.170 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:18.171 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:19.172 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:19.224 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:19.225 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 963077836, 'ping_counter': 0, 'carrier_counter': 28890433, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -175.8000030517578, 'azimuth_unc': 0.0, 'elevation_deg': 48.999996185302734, 'elevation_unc': 0.0, 'snr': 21.23805809020996, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -86.940185546875, 'usbl_pitch': -14.44540786743164, 'usbl_roll': -171.8121337890625, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013779.2245278}
2026-03-20 13:36:20.172 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:20.250 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:20.251 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 964103771, 'ping_counter': 0, 'carrier_counter': 28920513, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -170.0, 'azimuth_unc': 0.0, 'elevation_deg': 44.09999465942383, 'elevation_unc': 0.0, 'snr': 19.816301345825195, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -86.58917999267578, 'usbl_pitch': -13.455277442932129, 'usbl_roll': -172.1524200439453, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013780.2505426}
2026-03-20 13:36:21.173 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:22.173 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:22.230 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:22.231 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 966083764, 'ping_counter': 0, 'carrier_counter': 28980685, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -172.7000274658203, 'azimuth_unc': 0.0, 'elevation_deg': 49.19999313354492, 'elevation_unc': 0.0, 'snr': 21.76565170288086, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -85.80290985107422, 'usbl_pitch': -15.904498100280762, 'usbl_roll': -172.80499267578125, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013782.2305374}
2026-03-20 13:36:23.174 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:23.254 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:23.255 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 255, 'role': 0, 'reserved': 0, 'timestamp_us': 967106844, 'ping_counter': 0, 'carrier_counter': 29010766, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -167.30001831054688, 'azimuth_unc': 0.0, 'elevation_deg': 47.49999237060547, 'elevation_unc': 0.0, 'snr': 19.751195907592773, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -85.63326263427734, 'usbl_pitch': -12.647558212280273, 'usbl_roll': -171.84628295898438, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013783.2544994}
2026-03-20 13:36:24.175 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:25.175 | INFO | __main__:main:147 - response_received=255
2026-03-20 13:36:25.266 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:25.266 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 5, 'role': 0, 'reserved': 0, 'timestamp_us': 969119866, 'ping_counter': 0, 'carrier_counter': 29070948, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -173.6000213623047, 'azimuth_unc': 0.0, 'elevation_deg': 45.399993896484375, 'elevation_unc': 0.0, 'snr': 19.523229598999023, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -85.95982360839844, 'usbl_pitch': -12.418388366699219, 'usbl_roll': -172.07325744628906, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013785.2664862}
2026-03-20 13:36:26.176 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:26.178 | INFO | __main__:main:154 - antenna.set_auto_response_payload(5)=True
2026-03-20 13:36:27.179 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:27.247 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:27.248 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 5, 'role': 0, 'reserved': 0, 'timestamp_us': 971099840, 'ping_counter': 0, 'carrier_counter': 29131154, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -175.8000030517578, 'azimuth_unc': 0.0, 'elevation_deg': 51.69999313354492, 'elevation_unc': 0.0, 'snr': 20.677616119384766, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -85.26648712158203, 'usbl_pitch': -15.214649200439453, 'usbl_roll': -172.18856811523438, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013787.2476614}
2026-03-20 13:36:28.179 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:28.272 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:28.273 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 5, 'role': 0, 'reserved': 0, 'timestamp_us': 972125786, 'ping_counter': 0, 'carrier_counter': 29161247, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -178.40000915527344, 'azimuth_unc': 0.0, 'elevation_deg': 52.69999313354492, 'elevation_unc': 0.0, 'snr': 19.16032600402832, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -85.1199951171875, 'usbl_pitch': -13.982114791870117, 'usbl_roll': -173.20452880859375, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013788.2723386}
2026-03-20 13:36:29.180 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:30.181 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:30.286 | ERROR | kogger_protocol_driver:_reader_thread_loop:544 - Error in precallback for ID 0x65: float modulo
2026-03-20 13:36:30.287 | INFO | __main__:test_callback:57 - test!!!!!!{'id': 5, 'role': 0, 'reserved': 0, 'timestamp_us': 974138858, 'ping_counter': 0, 'carrier_counter': 29221413, 'distance_m': nan, 'distance_unc': 0.0, 'azimuth_deg': -179.20001220703125, 'azimuth_unc': 0.0, 'elevation_deg': 42.69999694824219, 'elevation_unc': 0.0, 'snr': 17.40187644958496, 'beacon_x_m': nan, 'beacon_y_m': nan, 'beacon_latitude': nan, 'beacon_longitude': nan, 'beacon_depth': 0.0, 'usbl_yaw': -84.81498718261719, 'usbl_pitch': -13.95050048828125, 'usbl_roll': -172.9602508544922, 'usbl_latitude': nan, 'usbl_longitude': nan, 'last_iTOW': 0, 'beacon_n_m': nan, 'beacon_e_m': nan, 'code_snr': [nan, nan, nan, nan, nan, nan, nan, nan], 'timestamp_pi': 1774013790.2861822}
2026-03-20 13:36:31.181 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:32.182 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:33.182 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:34.183 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:35.183 | INFO | __main__:main:147 - response_received=5
2026-03-20 13:36:35.605 | INFO | kogger_protocol_driver:_reader_thread_loop:568 - Reader thread finished.
2026-03-20 13:36:35.606 | INFO | kogger_protocol_driver:disconnect:352 - Serial port /dev/ttyAMA4 closed.
2026-03-20 13:36:35.607 | INFO | kogger_protocol_driver:disconnect:364 - Disconnected and cleaned up.