bluerobotics / bluerobotics/ping-protocol

Expand `ping1d` message set to cover more single-transducer functions

Open
#219 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
27
Forks
26
PR merge metrics
No merged PRs in 30d

Description

It would be useful to have messages for functionalities like:

- Set frequency range (`float`? `BFLOAT16`?)
- Set the transmit pattern (`uint8` array+length, 0 is off, 1 is min freq, 255 is max freq, transmit for proportions of transmit duration, max length specified by device -> single freq, sweep, custom)
- Set transmit mode (frequency modulation, phase modulation, direct waveform, modulation scheme? (PSK?))
- Set pulse duration (can also function as hydrophone receive duration)
- Transmit pulse command (with `uint8` number of repeats, 0 is infinite)
- Set receive mode (echosounder, acoustic modem, frequency detector, hydrophone)
- Set receiver raw sample rate (as multiple of transmit frequency?)
- Set receiver raw sample precision?
- Set receiver aggregation amount
- Set detector mode (amplitude trigger, peak trigger, transmit pattern correlation)
- Set max scanning distance (for auto mode)
- NACK status code (unsupported vs invalid vs ...)
- optional field ID
- optional text reason

If a device firmware doesn't support a message type that should be fine - ideally the relevant control software will have fallbacks where applicable (e.g. like for ping360 manual vs auto transmitting).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.