UDP connection issues with Ping360 and Ping1d

Hello,
we are university students working on the Ping360 sensor. Our goal is to create our own C++ driver that can connect to the sensor via UDP, without using the Ping Viewer software. We have tried to connect separately to both the Ping360 and Ping1d sensors, both positioned on the BlueROV2, with IP address “192.168.2.2” and UDP ports 9092 and 9090, respectively. The connection seemed to be established without problems on our part (client side), but we were not receiving any response from either Ping360 or Ping1d. However, we noticed on the BlueOS interface that “MAVLink Distances” was selectable for Ping1d. Activating this option allowed us to receive messages from Ping1d, but the messages were not the ones desired. Only the first message was the desired one, while all subsequent messages were of type “distance_simple” (ID = 1211, according to the Ping Protocol).
More precisely, when communicating with Ping1d with MAVLink Distances active and requesting a “protocol version,” we were indeed able to receive what we desired. However, subsequently sending any message resulted in a response of type “distance_simple”. Our goal requires not using MAVLink Distances. We think the issue might lie in having to perform some preliminary actions to establish the connection correctly. Could you help us solve this problem with connecting to the sensors on the BlueROV2?

Best regards.

Hi @l.benedetti10, welcome to the forum :slight_smile:

Are you using our ping-cpp library? Where is your program running?

Without seeing the code you’re trying to run it’s very difficult to give meaningful advice on why your connection may not be working. You’ll need to make sure you initialise the device connection before attempting to request a transmission - the test examples may serve as a useful reference.

With MAVLink Distances turned on for a Ping1D device the BlueOS Ping Sonar driver will automatically connect to the device and request frequent distance_simple messages, which it then parses and converts to MAVLink messages to send to the control station computer. If you want direct control over the device then MAVLink Distances can generally be left off.