bluerobotics / bluerobotics/ping-python
Omniscan 450: Cannot change speed of sound. Wrong message id.
- Dominant language
- Python
- Stars
- 60
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Description
_This is my first issue/PR on open-source code. I used AI to navigate the process but have manually reviewed to the best of my knowledge._
> The core issue stems from the [ping-protocol](https://github.com/bluerobotics/ping-protocol/issues/222) repository. Issue is opened there too.
## Description
The `set_speed_of_sound` message for OMNISCAN450 sonar is defined with message ID 1002
in `src/definitions/omniscan450.json`, but the device expects ID 116.
This can be deducted from the documentation here: https://docs.ceruleansonar.com/c/omniscan-450/application-programming-interface.
## Expected Behavior
When setting speed of sound on OMNISCAN450, the library should use message ID 116.
## Current Behavior
Library sends/expects ID 1002, causing the device to ignore the message (returns a 'not-acknowledged'/NACK response)
## Steps to Reproduce
1. Create OMNISCAN450 instance
2. Call set_speed_of_sound() method
3. Device does not update speed of sound (ignores command)
## Environment
- Device: Cerulean Omniscan450 FS
- Library: bluerobotics-ping (latest)
- OS: Ubuntu (WSL 2)
## Severity
High - breaks core feature (speed of sound configuration)
## Proposed Solution
Change `omniscan450.json` `set_speed_of_sound` ID from 1002 to 116.
Two PR's have been created;
- https://github.com/bluerobotics/ping-protocol/pull/221: fixes the core issue in the omniscan450.json file in the ping-protocol repository.
- https://github.com/bluerobotics/ping-python/pull/170: ensures the fix in the ping-protocol repository will be propagated to the ping-python package.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.