Getting readable data from ping360 through python

Hello,
I am having trouble trying to use the ping-python file to get any useful data from my ping360. I cant run simplePingExample.py without getting “Failed to initialize Ping!” and when trying to run ping360.py i get:

"ping360.control_auto_transmit() missing 6 positional arguments: 'transmit_frequency', 'number_of_samples', 'start_angle', 'stop_angle', 'num_steps' and 'deley'."   

by adding these missing arguments by hand i get a string of hex code. Example:

data(hex): ['0x42', 0x8f', '0xc1', '0xe4'...... and so on.

is this my length and confidence? does this tell me anything or am i doing something wrong.

The step by step guide for ping-python seems to not work for me. Any advice?
Thanks in advance.

Hi @sindri, welcome to the forum :slight_smile:

simplePingExample.py is for Ping1D devices (e.g. our Ping Sonar), so it won’t work for Ping360 devices.

I’m planning to add a similar example file for the Ping360 (amongst several other improvements), but haven’t got around to it yet.

The control_auto_transmit message is for planned functionality that is not yet available in the current Ping360 firmware. I thought we had put a guard clause in that example a while ago to only run that part if the firmware version was high enough, but it seems that is unfortunately not yet the case.

If you comment out the auto-transmit section the rest of the example should hopefully run as expected :slight_smile:

Are you wanting to programatically control the sonar, and analyse the data live, or is the intent to view and record data (e.g. with Ping Viewer) and analyse the log files later?

1 Like