Peter Barker
642935fd43
Tools: random Python cleanups based on lgtm analysis
2019-09-21 22:26:03 +10:00
Peter Barker
bead34be98
Tools: LogAnalyzer: correct to understand field type 'a'
2019-04-27 08:43:36 +10:00
Peter Barker
65bfe322af
Tools: LogAnalyzer: cope with text version of mode in MODE line
2018-12-26 13:12:25 +09:00
Peter Barker
3dc6c34465
Tools: LogAnalyzer: fix various Tests for newer-style logs
...
Tools: LogAnalyzer: don't continue if we fail to set vehicle type from MSG
Tools: LogAnalyzer: cope with renamed CTUN.BarAlt attribute
Tools: LogAnalyzer: cope with renamed CTUN.BarAlt attribute
Tools: LogAnalyzer: cope with missing THR_MIN parameter
2017-12-02 09:26:09 +11:00
Peter Barker
6bd5ac78f5
Tools: LogAnalyzer: fix string-method-on-int bug for unknown modes
2017-09-30 09:19:17 +10:00
Peter Barker
ac3cb355c4
Tools: LogAnalyzer: fix bugs, handle newer log formats
...
Tools: LogAnalyzer: avoid fatal error if mag data is all zeros
Tools: LogAnalyzer: correct comparisons against logdata.vehicleType
Tools: LogAnalyzer: handle logs with TimeUS in place of TimeMS
Tools: LogAnalyzer: handle logs with CTUN.ThO in place of CTUN.ThrOut
Tools: LogAnalyzer: correct motor average value
2017-09-24 12:34:23 +10:00
Peter Barker
2c0e2aab15
Tools: LogAnalyzer: derive motor count from frame type MSG
2017-09-11 12:01:24 +10:00
Peter Barker
a6fd812051
Tools: LogAnalyzer: use repr in place of deprecated backticks
2017-07-22 09:28:28 +10:00
Peter Barker
cb56cf38d0
Tools: LogAnalyzer: remove vehicle-type-is-first-MSG-assumption
2017-07-22 09:15:59 +10:00
Peter Barker
44d1c77b0c
Tools: LogAnalyzer: use print_function
2017-07-22 09:09:51 +10:00
Peter Barker
043b7598d1
Tools: correct error path for corrupt logs
2017-02-07 11:37:38 +11:00
Peter Barker
f42df1bc54
Tools: LogAnalyzer: handle MODE lines appearing before vehicle MSGs
2016-09-08 08:41:09 +10:00
Peter Barker
214bca8b30
Tools: LogAnalyzer: correct CTUN test
2016-09-08 08:41:09 +10:00
Peter Barker
e357be3d85
LogAnalyzer: adjust for change in vehicle definition MSG string
...
We changed from ArduCopter to APM:Copter, breaking parts of the LogAnalyzer
This change has LogAnalyzer canonicalise its output to Ardu{Plane,Rover,Copter}
Also account for change in MODE message - ThrCrs has gone away
2015-10-15 09:40:25 +09:00
Peter Barker
82d36520ad
LogAnalyzer: fix for 64-bit ints
...
Also, sqrt must come from math
Also, d indicates a double (a Python float)
2015-10-14 08:50:38 +09:00
Peter Barker
f49aedb639
LogAnalyzer: turn times from strings to ints before doing maths
2015-10-13 19:39:02 +09:00
Peter Barker
ce558b2b98
LogAnalyzer: cope with TimeUS
...
See also: 177f61656f
2015-07-10 19:00:22 +10:00
Jason Martens
a08d57149e
LogAnalyser: Add double support to DataflashLog.py
...
Doubles were added to dataflash in commit 3991e0c476
.
2015-07-10 18:58:11 +10:00
Holger Steinhaus
1cdc5f7c7f
LogAnalyser: adapt to new APM:* vehicle names
2015-05-09 12:20:28 +09:00
Holger Steinhaus
46c3c26065
LogAnalyser: fix buffer calculations
2015-05-09 12:20:25 +09:00
Holger Steinhaus
a146b188a7
LogAnalyser: fix parsing of log messages without attributes (e.g. STRT)
2015-05-09 12:20:23 +09:00
Markus Koetter
c2030de4ec
LogAnalyzer: write \xff EOF assumption to stderr
2014-10-27 15:53:36 -07:00
Markus Koetter
cf4435989e
LogAnalyzer: Binary Logs may end with \xff
...
- ignoreBadlines can be used to assume this is a proper EOF
2014-10-27 15:53:35 -07:00
Kevin Hester
81bd4c0b4c
LogAnalyzer: If skipping badlines, ignore parse errors
2014-08-26 15:36:56 +09:00
Aaron Curtis
179d854a26
LogAnalyzer: Update to include the new "format" argument, and fix scoping on two new tests.
2014-07-08 14:13:00 -07:00
Aaron Curtis
406fedf727
LogAnalyzer: Allow instantiation of DataFlashlog with no input filename, for backward compatibility. My changes make m_dflog=DataFlashlog('/path/to/file.log') work, which seems like the preferable way, but we don't want to break backwards compatibility.
2014-07-08 14:12:59 -07:00
Aaron Curtis
0f5360fefa
LogAnalyzer: Default to automatic log format detection.
2014-07-08 14:12:58 -07:00
Aaron Curtis
c6d783409c
LogAnalyzer: There is no self.logfile, so this must be self.filename.
2014-07-08 14:12:58 -07:00
Aaron Curtis
fc79a06b9f
LogAnalyzer: Fix indent which I broke when merging.
2014-07-08 14:12:57 -07:00
Aaron Curtis
842f5d20c4
LogAnalyzer: Fix scoping in DataflashLog.py so that multiple instances of DataflashLog can coexist.
...
Conflicts:
Tools/LogAnalyzer/DataflashLog.py
2014-07-08 14:12:55 -07:00
Markus Koetter
c1d1406c59
LogAnalyzer - accept invalid FMT messages in binary logs
...
- I really wish this was not necessary, but it is.
2014-07-07 17:54:45 -07:00
Markus Koetter
4e445a716a
LogAnalyzer - label/name & format/type consistency
2014-07-07 17:54:44 -07:00
Markus Koetter
099d40f0f8
LogAnalyzer - adjust modeChanges for Plane/Rover
...
- I lack logs for both, not tested.
2014-07-07 17:54:43 -07:00
Markus Koetter
33d19fc893
LogAnalyzer - add binary log parsing
...
- parse using ctypes.LittleEndianStructure
- define classes from FMT messages
- use the classes as with Text logs for processing
2014-07-07 17:54:41 -07:00
Markus Koetter
64ae2011b5
LogAnalyzer - binary log parsing preparations
...
- use FMT messages to create classes using type()
- work with these classes instead of arrays
- split parsing and processing
2014-07-07 17:54:40 -07:00
Kevin Hester
0bccbf2409
tools: my change to use stdin, broke reading logs that have no header
...
This fixes it (I'm careful to avoid seeking)
2014-07-01 14:29:15 +10:00
Kevin Hester
ddd24e8135
tools: LogAnalyser if we fall off end of GPS data, return a valid time
...
Found cases where the loiter test would fail with some flights if
the vehicle never left that mode. Don't use None in that case
2014-07-01 14:28:27 +10:00
Kevin Hester
1a4fce60e8
tools: LogAnalyser, ensure error msgs go to stderr not stdout
2014-07-01 14:28:23 +10:00
Kevin Hester
7dc356f4ca
tools: LogAnalyzer fixes to work with pipes as input
...
seek is not supported on pipes (and not needed in this case)
tell is also not supported, so count bytes on our own
2014-07-01 14:28:11 +10:00
Kevin Hester
a756e4f3ef
tools: Allow LogAnalyzer to read from stdin rather than just files
...
Use - intead of the filename
2014-07-01 14:28:04 +10:00
Kevin Hester
a31498f599
tools: Change LogAnalyzer tabs to spaces (per APM python conventions)
2014-07-01 14:23:42 +10:00
Andrew Chapman
f122b1ba37
LogAnalyzer: added 'import collections', allowed for some AC3.2 logging changes
2014-06-24 15:07:47 +10:00
Andrew Chapman
0f5a89f22e
LogAnalyzer: added check for binary log files (can't parse yet)
2014-06-24 15:07:46 +10:00
Andrew Chapman
130a2dcb0b
LogAnalyzer: added LogIterator, copter roll/pitch > max lean angle test,
2014-06-24 15:07:46 +10:00
Andrew Chapman
81fcf4bda7
LogAnalyzer: combined statusMessage and extraFeedback
2014-06-24 15:07:46 +10:00
Andrew Chapman
1356d53e7b
LogAnalyzer: report skippedLines, cleaned up DataflashLog.read() error handling
2014-06-24 15:07:46 +10:00
Andrew Chapman
2a406ac699
LogAnalyzer: added GPS glitch detection to GPS test
2014-06-24 15:07:46 +10:00
Andrew Chapman
90f07aae61
LogAnalyzer: added unit test, started moving from dictData to listData
...
added unit test, started moving from dictData to listData, cancelled
pre-3.0 log reading, separated DataflashLog constructor and read() call
2014-06-24 15:07:46 +10:00
Andrew Chapman
d6b091c39f
LogAnalyzer: added BETA feedback info to output
2014-06-24 15:07:45 +10:00
Andrew Chapman
c4828e1d3d
LogAnalyzer: fixed plane+rover parsing, added test for underpowered copters
2014-06-24 15:07:45 +10:00