bluerobotics / ping-viewer

Ping Viewer is an open-source application to view and record data from the Blue Robotics Ping Echosounder and Ping360 Scanning Sonar.
https://docs.bluerobotics.com/ping-viewer/
GNU General Public License v3.0
40 stars 38 forks source link

Re-Encoded Replay Display Issues #1033

Closed ES-Alexander closed 2 years ago

ES-Alexander commented 2 years ago

Summary

Version: 2.3.1

Operating System: Mac (Monterey)

What is happening: As per PR #1029, where I implemented a binary log file encoder,

I've tested the encoding and it seems to work properly (the output can be viewed by PingViewer), although sometimes the output doesn't display (may depend on how many/which messages are included).

How to reproduce it:

  1. Record a binary log with Ping Viewer
  2. Decode it with Python
  3. Remove/filter out some messages
  4. Re-encode with #1029
  5. Try to re-play the re-encoded file with Ping Viewer (works fine with some re-encoded files, but SOMETIMES fails to display some others).

Additional information

NOTE: @patrickelectric was not able to reproduce this with the same files NOTE 2: did some more testing, and found that sometimes the files work, but other times not

https://user-images.githubusercontent.com/25898329/149761510-74741826-3a20-4f4e-a04f-fb42efaebd19.mov

GUI log from while I was taking the video (and unfortunately also from quite a while beforehand too I think): 20220117-220504068.txt

I think the display inconsistency is most likely a Ping Viewer bug because I was writing only 2300 messages (and only 1300 messages for a Ping1D file), and depending on the start and stop points and step it would sometimes work and sometimes not. ~As I understand it, if the encoding works for one set of 2300 messages then it should also be fine with other ones - especially the same set of messages just with a few more/less included.~ Issue doesn't even seem to be entirely file based anymore, maybe just sometimes Ping Viewer fails to replay a file after another one, although it seems to fail more on some particular files (this seems like it's probably going to be pretty hard to track down...)

Ping360

ping360_F-fail_P-pass.zip

test settings (Ping Viewer 2.3.1, and 2.3.0) replay display works?
original file ~no~ yes (just slow to start)
processed file (filter to just 2300 (device_data) messages) yes
start at 20th 2300 message yes
start at 30th 2300 message yes
start at 20th 2300 message and skip every 2nd one yes
start at 30th 2300 message and skip every 2nd one ~no~ sometimes?

Ping1D

ping1d_F-fail_P-pass.zip

test settings replay display works?
original file yes
processed file (filter to just 1300 (profile) messages) ~no~ sometimes?
start at 2nd 1300 message ~yes~ sometimes?
start at 10th 1300 message ~no~ sometimes?
start at 20th 1300 message ~no~ sometimes?
start at 30th 1300 message yes
patrickelectric commented 2 years ago

@ES-Alexander Can you check the latest master branch ?

ES-Alexander commented 2 years ago

Can you check the latest master branch ?

Still had some issues with both Ping1D and Ping360 files. Used the macos artifact from here, which I'm assuming is the correct one to be testing with.

Here's a video and the corresponding GUI log file:

20220208-214215830.txt

https://user-images.githubusercontent.com/25898329/152972095-9549359f-373b-4302-8581-35cbae3f5195.mov