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

Open
#171 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
25/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
python
Domain
api

Research direction

Start with src/definitions/omniscan450.json in the linked ping-protocol repository and review ping-protocol PR #221, then see how ping-python PR #170 propagates the change. Done means the OMNISCAN450 set_speed_of_sound operation uses message ID 116 and the device no longer returns a NACK.

Written by the indexing model from the issue text.

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

  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;

Dominant language
Python
Stars
60
Forks
39
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bluerobotics/ping-python

All issues in bluerobotics/ping-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.