Files
kogger-transpondeur-continu/driver/test/log/2026-03-22_08-42-12_log_usv.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

658 lines
16 KiB
Plaintext

2026-03-22 08:42:12.672 | INFO | kogger_protocol_driver:setup_logging:81 - Kogger Protocol Driver: Loguru logging configured to level INFO and file log/2026-03-22_08-42-12_log_usv.log.
2026-03-22 08:42:12.673 | INFO | kogger_protocol_driver:__init__:224 - KoggerSBPDevice configured for port /dev/ttyAMA4, baudrate 921600, address 0
2026-03-22 08:42:12.673 | INFO | kogger_protocol_driver:_open_file:43 - CSV logging enabled to log/2026-03-22_08-42-12_AUV_usbl.csv
2026-03-22 08:42:12.675 | INFO | kogger_protocol_driver:_reader_thread_loop:491 - Reader thread started.
2026-03-22 08:42:12.675 | SUCCESS | kogger_protocol_driver:connect:314 - Successfully connected to /dev/ttyAMA4 at 921600 and started reader thread.
2026-03-22 08:42:12.689 | INFO | __main__:main:127 - set_auto_response_filter(0)=True
2026-03-22 08:42:12.692 | INFO | __main__:main:129 - set_auto_response_timeout(0xffffffff)=True
2026-03-22 08:42:12.695 | INFO | __main__:main:131 - set_auto_response_payload(0xff)=True
2026-03-22 08:42:13.022 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 627137836,
"ping_counter": 0,
"carrier_counter": 18811962,
"distance_m": 5.461667060852051,
"distance_unc": 0.0,
"azimuth_deg": 124.50000762939453,
"azimuth_unc": 0.0,
"elevation_deg": 4.399997711181641,
"elevation_unc": 0.0,
"snr": 18.657821655273438,
"beacon_x_m": -3.093522787094116,
"beacon_y_m": -4.501102447509766,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 28.050363540649414,
"usbl_pitch": -11.651932716369629,
"usbl_roll": 175.16773986816406,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -4.84677267074585,
"beacon_e_m": 2.517657995223999,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:14.048 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 628163775,
"ping_counter": 0,
"carrier_counter": 18842083,
"distance_m": 5.316667079925537,
"distance_unc": 0.0,
"azimuth_deg": -126.4000015258789,
"azimuth_unc": 0.0,
"elevation_deg": -51.0,
"elevation_unc": 0.0,
"snr": 19.11937141418457,
"beacon_x_m": -3.15501070022583,
"beacon_y_m": 4.279352188110352,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 29.70674705505371,
"usbl_pitch": -10.926020622253418,
"usbl_roll": 174.7626953125,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -0.6196776628494263,
"beacon_e_m": -5.280430793762207,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:15.038 | INFO | __main__:print_message:34 - printer:{
"id": 1,
"role": 2,
"reserved": 0,
"timestamp_us": 629153766,
"ping_counter": 0,
"carrier_counter": 18872147,
"distance_m": 5.2925004959106445,
"distance_unc": 0.0,
"azimuth_deg": -158.2000274658203,
"azimuth_unc": 0.0,
"elevation_deg": -61.30000686645508,
"elevation_unc": 0.0,
"snr": 19.191516876220703,
"beacon_x_m": -4.914012432098389,
"beacon_y_m": 1.965462565422058,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 30.35746192932129,
"usbl_pitch": -11.57746696472168,
"usbl_roll": 175.2351531982422,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -3.2469165325164795,
"beacon_e_m": -4.179484844207764,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:16.028 | INFO | __main__:print_message:34 - printer:{
"id": 1,
"role": 2,
"reserved": 0,
"timestamp_us": 630143777,
"ping_counter": 0,
"carrier_counter": 18902233,
"distance_m": 5.751667022705078,
"distance_unc": 0.0,
"azimuth_deg": 140.40000915527344,
"azimuth_unc": 0.0,
"elevation_deg": -33.400001525878906,
"elevation_unc": 0.0,
"snr": 18.555252075195312,
"beacon_x_m": -4.431735992431641,
"beacon_y_m": -3.666250228881836,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 30.496990203857422,
"usbl_pitch": -11.60535717010498,
"usbl_roll": 175.08653259277344,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -5.679227352142334,
"beacon_e_m": 0.9099710583686829,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:17.052 | INFO | __main__:print_message:34 - printer:{
"id": 1,
"role": 2,
"reserved": 0,
"timestamp_us": 631167041,
"ping_counter": 0,
"carrier_counter": 18932290,
"distance_m": 5.582500457763672,
"distance_unc": 0.0,
"azimuth_deg": 31.400005340576172,
"azimuth_unc": 0.0,
"elevation_deg": -48.500003814697266,
"elevation_unc": 0.0,
"snr": 17.89293098449707,
"beacon_x_m": 4.764947414398193,
"beacon_y_m": -2.908536911010742,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 31.388154983520508,
"usbl_pitch": -12.026944160461426,
"usbl_roll": 174.92153930664062,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 2.5527753829956055,
"beacon_e_m": 4.964640140533447,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:18.042 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 632156845,
"ping_counter": 0,
"carrier_counter": 18962322,
"distance_m": 4.736667156219482,
"distance_unc": 0.0,
"azimuth_deg": 64.60000610351562,
"azimuth_unc": 0.0,
"elevation_deg": 10.699997901916504,
"elevation_unc": 0.0,
"snr": 19.267122268676758,
"beacon_x_m": 2.0317225456237793,
"beacon_y_m": -4.278798580169678,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 32.039127349853516,
"usbl_pitch": -11.095342636108398,
"usbl_roll": 175.1818084716797,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -0.5476324558258057,
"beacon_e_m": 4.7049031257629395,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:19.032 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 633146844,
"ping_counter": 0,
"carrier_counter": 18992481,
"distance_m": 6.186666965484619,
"distance_unc": 0.0,
"azimuth_deg": 141.3000030517578,
"azimuth_unc": 0.0,
"elevation_deg": 31.999996185302734,
"elevation_unc": 0.0,
"snr": 19.609588623046875,
"beacon_x_m": -4.828263282775879,
"beacon_y_m": -3.8681676387786865,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 32.43309020996094,
"usbl_pitch": -11.875005722045898,
"usbl_roll": 175.1897735595703,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -6.149696350097656,
"beacon_e_m": 0.6753368973731995,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:20.057 | INFO | __main__:print_message:34 - printer:{
"id": 1,
"role": 2,
"reserved": 0,
"timestamp_us": 634169834,
"ping_counter": 0,
"carrier_counter": 19022518,
"distance_m": 5.485833644866943,
"distance_unc": 0.0,
"azimuth_deg": -88.30003356933594,
"azimuth_unc": 0.0,
"elevation_deg": 47.59999465942383,
"elevation_unc": 0.0,
"snr": 18.89896583557129,
"beacon_x_m": 0.1627405732870102,
"beacon_y_m": 5.483419418334961,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 32.6292839050293,
"usbl_pitch": -11.45814323425293,
"usbl_roll": 175.0317840576172,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 3.0937230587005615,
"beacon_e_m": -4.530259132385254,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:21.045 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 635159686,
"ping_counter": 0,
"carrier_counter": 19052574,
"distance_m": 5.195833683013916,
"distance_unc": 0.0,
"azimuth_deg": 31.700000762939453,
"azimuth_unc": 0.0,
"elevation_deg": -47.80000305175781,
"elevation_unc": 0.0,
"snr": 17.43056297302246,
"beacon_x_m": 4.42067289352417,
"beacon_y_m": -2.7302634716033936,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 32.959983825683594,
"usbl_pitch": -11.776886940002441,
"usbl_roll": 174.8262176513672,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 2.2237608432769775,
"beacon_e_m": 4.695910453796387,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:24.048 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 638162774,
"ping_counter": 0,
"carrier_counter": 19142830,
"distance_m": 5.945000648498535,
"distance_unc": 0.0,
"azimuth_deg": 20.800003051757812,
"azimuth_unc": 0.0,
"elevation_deg": -17.200000762939453,
"elevation_unc": 0.0,
"snr": 20.81231689453125,
"beacon_x_m": 5.557538986206055,
"beacon_y_m": -2.1111114025115967,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 33.21943664550781,
"usbl_pitch": -11.850896835327148,
"usbl_roll": 175.27117919921875,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 3.4927515983581543,
"beacon_e_m": 4.810791969299316,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:25.074 | INFO | __main__:print_message:34 - printer:{
"id": 255,
"role": 2,
"reserved": 0,
"timestamp_us": 639188851,
"ping_counter": 0,
"carrier_counter": 19172945,
"distance_m": 6.645833969116211,
"distance_unc": 0.0,
"azimuth_deg": 153.8000030517578,
"azimuth_unc": 0.0,
"elevation_deg": 16.89999771118164,
"elevation_unc": 0.0,
"snr": 20.721336364746094,
"beacon_x_m": -5.9630303382873535,
"beacon_y_m": -2.9341745376586914,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 33.57948303222656,
"usbl_pitch": -12.30569076538086,
"usbl_roll": 175.41395568847656,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -6.590787887573242,
"beacon_e_m": -0.8535951375961304,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:26.064 | INFO | __main__:print_message:34 - printer:{
"id": 1,
"role": 2,
"reserved": 0,
"timestamp_us": 640178851,
"ping_counter": 0,
"carrier_counter": 19202958,
"distance_m": 5.316667079925537,
"distance_unc": 0.0,
"azimuth_deg": 102.5999984741211,
"azimuth_unc": 0.0,
"elevation_deg": -7.500001907348633,
"elevation_unc": 0.0,
"snr": 17.46601104736328,
"beacon_x_m": -1.1597950458526611,
"beacon_y_m": -5.188624382019043,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 33.905853271484375,
"usbl_pitch": -11.852455139160156,
"usbl_roll": 175.54457092285156,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -3.856947898864746,
"beacon_e_m": 3.659358024597168,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:30.058 | INFO | __main__:print_message:34 - printer:{
"id": 4,
"role": 2,
"reserved": 0,
"timestamp_us": 644171869,
"ping_counter": 0,
"carrier_counter": 19323313,
"distance_m": 5.99333381652832,
"distance_unc": 0.0,
"azimuth_deg": 130.6999969482422,
"azimuth_unc": 0.0,
"elevation_deg": 9.199997901916504,
"elevation_unc": 0.0,
"snr": 19.3284854888916,
"beacon_x_m": -3.908243417739868,
"beacon_y_m": -4.543752193450928,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 34.13526153564453,
"usbl_pitch": -11.99602222442627,
"usbl_roll": 175.41482543945312,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -5.784631729125977,
"beacon_e_m": 1.5678273439407349,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:35.075 | INFO | __main__:print_message:34 - printer:{
"id": 3,
"role": 2,
"reserved": 0,
"timestamp_us": 649187868,
"ping_counter": 0,
"carrier_counter": 19473726,
"distance_m": 5.872500419616699,
"distance_unc": 0.0,
"azimuth_deg": -156.3000030517578,
"azimuth_unc": 0.0,
"elevation_deg": 30.599994659423828,
"elevation_unc": 0.0,
"snr": 18.03278160095215,
"beacon_x_m": -5.377228736877441,
"beacon_y_m": 2.360438346862793,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 36.34476852416992,
"usbl_pitch": -12.077938079833984,
"usbl_roll": 175.67010498046875,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -2.9322750568389893,
"beacon_e_m": -5.088027477264404,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:46.099 | INFO | __main__:print_message:34 - printer:{
"id": 2,
"role": 2,
"reserved": 0,
"timestamp_us": 660212792,
"ping_counter": 0,
"carrier_counter": 19804586,
"distance_m": 5.6066670417785645,
"distance_unc": 0.0,
"azimuth_deg": 15.499994277954102,
"azimuth_unc": 0.0,
"elevation_deg": 11.199997901916504,
"elevation_unc": 0.0,
"snr": 17.539196014404297,
"beacon_x_m": 5.402755260467529,
"beacon_y_m": -1.4983160495758057,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 38.88618087768555,
"usbl_pitch": -11.584259986877441,
"usbl_roll": 175.70375061035156,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 3.264869451522827,
"beacon_e_m": 4.557997703552246,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:51.118 | INFO | __main__:print_message:34 - printer:{
"id": 3,
"role": 2,
"reserved": 0,
"timestamp_us": 665231835,
"ping_counter": 0,
"carrier_counter": 19954968,
"distance_m": 5.413333892822266,
"distance_unc": 0.0,
"azimuth_deg": -11.30000114440918,
"azimuth_unc": 0.0,
"elevation_deg": 23.69999885559082,
"elevation_unc": 0.0,
"snr": 17.977581024169922,
"beacon_x_m": 5.308394432067871,
"beacon_y_m": 1.0607221126556396,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 39.83439636230469,
"usbl_pitch": -12.056816101074219,
"usbl_roll": 175.6454315185547,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": 4.755778789520264,
"beacon_e_m": 2.5858752727508545,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:56.137 | INFO | __main__:print_message:34 - printer:{
"id": 4,
"role": 2,
"reserved": 0,
"timestamp_us": 670250856,
"ping_counter": 0,
"carrier_counter": 20105377,
"distance_m": 5.872500419616699,
"distance_unc": 0.0,
"azimuth_deg": 110.79999542236328,
"azimuth_unc": 0.0,
"elevation_deg": 18.099998474121094,
"elevation_unc": 0.0,
"snr": 18.67030143737793,
"beacon_x_m": -2.0853655338287354,
"beacon_y_m": -5.489764213562012,
"beacon_latitude": "nan",
"beacon_longitude": "nan",
"beacon_depth": 0.0,
"usbl_yaw": 39.86298370361328,
"usbl_pitch": -12.253400802612305,
"usbl_roll": 175.99600219726562,
"usbl_latitude": "nan",
"usbl_longitude": "nan",
"last_iTOW": 0,
"beacon_n_m": -5.1193695068359375,
"beacon_e_m": 2.8772060871124268,
"code_snr": [
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan",
"nan"
]
}
2026-03-22 08:42:56.239 | INFO | kogger_protocol_driver:_reader_thread_loop:568 - Reader thread finished.
2026-03-22 08:42:56.240 | INFO | kogger_protocol_driver:disconnect:352 - Serial port /dev/ttyAMA4 closed.
2026-03-22 08:42:56.240 | INFO | kogger_protocol_driver:disconnect:364 - Disconnected and cleaned up.