bluerobotics / bluerobotics/ping-python

Omniscan 450: Cannot change speed of sound. Wrong message id.

Open
#171 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.