Plasmatree / PID-Analyzer

Other
372 stars 102 forks source link

ValueError: could not convert string to float (on some INAV logs) #28

Open krzysztofmatula opened 6 years ago

krzysztofmatula commented 6 years ago

With some of INAV logs the analysis ends with "ValueError: could not convert string to float" error. I observe this on all long logs. Really short ones seem to work fine (not sure if it is related).

I'm following this way of running the analyzer on mac: https://github.com/Plasmatree/PID-Analyzer/issues/15

$ python PID-Analyzer.py --blackbox_decode ../blackbox-tools/obj/blackbox_decode -l /Users/km/Desktop/LOG00090.TXT 
INFO 2018-06-17 11:55:02,194 PID-Analyzer.py:982: Decoding with '/Users/km/dev/pid-analyzer/blackbox-tools/obj/blackbox_decode'
INFO 2018-06-17 11:55:02,194 PID-Analyzer.py:984: PID-Analyzer 0.52
INFO 2018-06-17 11:55:02,194 PID-Analyzer.py:985: Hello Pilot!
WARNING 2018-06-17 11:55:02,218 PID-Analyzer.py:933: Ignoring BBL session '/Users/km/Desktop/tmp/LOG00090_temp0.TXT', 61B < 500000B.
Decoding log '/Users/km/Desktop/tmp/LOG00090_temp1.TXT' to '/Users/km/Desktop/tmp/LOG00090_temp1.01.csv'...

Log 1 of 1, start 00:45.453, end 03:26.180, duration 02:40.727

Statistics
Looptime            503 avg            7.3 std dev (1.5%)
I frames    9882   96.0 bytes avg   949046 bytes total
P frames  148152   49.0 bytes avg  7261372 bytes total
H frames      79   11.0 bytes avg      869 bytes total
G frames     867   17.5 bytes avg    15172 bytes total
E frames       1    6.0 bytes avg        6 bytes total
S frames     126    8.0 bytes avg     1008 bytes total
Frames    158034   52.0 bytes avg  8210418 bytes total
Data rate  983Hz  51242 bytes/s     512500 baud

17 frames failed to decode, rendering 128 loop iterations unreadable. 1371 iterations are missing in total (691ms, 0.43%)
159404 loop iterations weren't logged because of your blackbox_rate settings (80363ms, 50.00%)

INFO 2018-06-17 11:55:05,572 PID-Analyzer.py:676: Reading: Log 0
WARNING 2018-06-17 11:55:06,376 PID-Analyzer.py:702: No debug[0] trace found!
WARNING 2018-06-17 11:55:06,376 PID-Analyzer.py:702: No debug[1] trace found!
WARNING 2018-06-17 11:55:06,378 PID-Analyzer.py:702: No debug[2] trace found!
WARNING 2018-06-17 11:55:06,378 PID-Analyzer.py:715: No D[2] trace found!
INFO 2018-06-17 11:55:06,379 PID-Analyzer.py:356: Processing:
Traceback (most recent call last):
  File "PID-Analyzer.py", line 989, in <module>
    run_analysis(clean_path(log_path), args.name, args.blackbox_decode, args.show, args.noise_bounds)
  File "PID-Analyzer.py", line 939, in run_analysis
    test = BB_log(log_file_path, plot_name, blackbox_decode, show, noise_bounds)
  File "PID-Analyzer.py", line 781, in __init__
    self.figs = self._csv_iter(self.heads)
  File "PID-Analyzer.py", line 798, in _csv_iter
    analysed = CSV_log(h['tempFile'][:-3]+'01.csv', self.name, h, self.noise_bounds)
  File "PID-Analyzer.py", line 357, in __init__
    self.traces = self.find_traces(self.data)
  File "PID-Analyzer.py", line 761, in find_traces
    dic.update({'P':float((self.headdict[dic['name']+'PID']).split(',')[0])})
ValueError: could not convert string to float: 

Example problematic log: LOG00090.TXT