📖
Cerulean Sonar Docs
Docs DirectoryStore
Cerulean Ping Protocol
Cerulean Ping Protocol
  • Cerulean Standard Packet Protocol
  • Universal Packet Format
  • General Packet Definitions
    • NOP
    • ACK
    • NACK
    • ASCII_TEXT
    • DEVICE_INFORMATION
    • GENERAL_REQUEST
    • JSON_WRAPPER
    • NMEA_WRAPPER
    • MAVLINK_WRAPPER
    • SYNC_CHANNEL_NUMBER
    • SET_SYNC_CHANNEL_NUMBER
  • Device Specific Packet Definitions
  • Index of Packet Types
Powered by GitBook
On this page
  1. General Packet Definitions

SET_SYNC_CHANNEL_NUMBER

PreviousSYNC_CHANNEL_NUMBERNextDevice Specific Packet Definitions

Last updated 8 months ago

ID: 170

When operating multiple sonars together, it is usually important for them to ping simultaneously so that they do not interfere with each other. This can be accomplished using this SET_SYNC_CHANNEL_NUMBER command to assign a channel number and a number of channels. Channel number 0 is the "master," so one of the channels must be assigned number 0 and the others should be assigned sequentially 1, 2, 3 etc.

The devices synchronize their pinging via UDP messages. The master device sends a UDP broadcast message on port 51201, so all the devices must be on the same subnet. The "slave" devices acknowledge their readiness with a UDP message back to the specific master. This usually achieves synchronization within less than 100 uSec.

NOTE: This functionality is currently only implemented on Omniscan, but the intention is to add support for other Ethernet capable sonars.

Data Type
Name
Description

u8

channel_number

channel number assigned to this device

u8

number_of_channels

number of sonars to be synchronized

Response is ACK. See if you need to query a device for it's assigned sync channel number.

SYNC_CHANNEL_NUMBER