Commit Graph

42 Commits

Author SHA1 Message Date
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
Andrew Chapman e0ada31872 LogAnalyzer: adding Roberts bad PM performance log 2014-06-24 15:07:45 +10:00
Andrew Chapman 8d691c2a60 LogAnalyzer: added PM slow loop check, first version of xml output 2014-06-24 15:07:45 +10:00
Andrew Chapman 36e480483f LogAnalyzer: Initial commit for discussion
A lot of this is still stub code, but far enough along for discussion
and feedback. Some good example tests are TestVibration and TestBrownout

datatypes handled correctly now (previsouly all read as floats), added
flag to skip bad input lines, now prints some general log info (size,
duration, etc), added some basic performance timing,
2014-06-24 15:07:45 +10:00