-
Notifications
You must be signed in to change notification settings - Fork 38
Omniscan 450: Cannot change speed of sound. Wrong message id. #171
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 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
- Create OMNISCAN450 instance
- Call set_speed_of_sound() method
- 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;
- Fix OMNISCAN450_SET_SPEED_OF_SOUND id: 1002 -> 116 ping-protocol#221: fixes the core issue in the omniscan450.json file in the ping-protocol repository.
- Update ping-protocol submodule & regenerate definitions.py with correct OMNISCAN450_SET_SPEED_OF_SOUND id #170: ensures the fix in the ping-protocol repository will be propagated to the ping-python package.