How to scan as fast as ping-viewer in python

From my experiment, in Ping-viewer, Ping360 can scan 20 beams for one second (range is set at 20m, sample number = 1200). While when I keep all the parameters the same, and use transmitAngle(self, angle) in python, I can only scan 11 beams for one second.
I guess the reason is “in ping-viewer” we only have one command to scan a certain area (in the front of sonar). While in transmitAngle, we have arbitrary scan direction which have one command for each direction. Thus an arbitrary scan will have more delay caused by waiting for multiple commands.
So I wonder whether my guess is correct and how I can scan as fast as ping-viewer in python(only scan certain area in the front of sonar)?
I appreciate your kindly help.
Thanks.
Lixing He

Hi @LixingHe,

There are no differences with both Ping-Viewer and the Python library, in the background both uses the same messages to accomplish the same thing, but you can’t compare the speed of a C++ application (Ping-Viewer) with Python interpreter.
You could improve the speed of your Python script, but for that you’ll need to use threads, async or everything else necessary to improve the speed between communication and processing.

PS: We have a new firmware in WIP that will do a scan with a single command to improve scan speeds, but that was not released yet.

Nice!
Would it bee possible to see the version of current verison of viewer without downloading at: ?
https://docs.bluerobotics.com/ping-viewer/#installing-and-running-the-application

Talking software versions, is it time to update companion etc at: ?

Hi Patrick

Understand, looks forward to your great work.
Thanks.

Best,
Lixing He

I’m not sure if I follow, but you can check all versions available for ping-viewer in our github development repository. You can also check your own version on the information page of the application:
https://docs.bluerobotics.com/ping-viewer/application-information/#application-software-information

Right now we are heavily working on that, we should provide an update about that in the future.