Commit Graph

102 Commits

Author SHA1 Message Date
Jonathan Challinger 0955284d7e LogAnalyzer: balance/twist initial commit 2014-10-27 13:58:12 +09:00
Randy Mackay 41d7462eee LogAnalyzer: add POSHOLD to TestPitchRollCoupling 2014-09-29 11:46:02 +09:00
Jonathan Challinger 7c3e614c19 LogAnalyzer: Add IMU Mismatch check 2014-09-24 15:50:23 +09:00
Kevin Hester 81bd4c0b4c LogAnalyzer: If skipping badlines, ignore parse errors 2014-08-26 15:36:56 +09:00
Kevin Hester 5cb242f5a4 LogAnalyzer: Report missing parameters as test failures 2014-08-26 15:36:53 +09:00
Kevin Hester 332ab9bc1b LogAnalyzer: convert tabs to spaces (only) per coding conventions 2014-08-26 15:36:50 +09:00
Andrew Chapman 50f9b4d4bb LogAnalyzer: added help text for --format option 2014-08-06 19:51:30 -07:00
Kevin Hester 097a3b23e6 LogAnalyzer: Fix handling of the -f format option (bin, log, auto)
Previously this option was ignored.
2014-08-06 19:51:29 -07: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 9dbfa40afd LogAnalyzer: LogAnalyzer: make all subclasses of Test call their parent __init()__ function when overriding that function. This is the way of Python. 2014-07-08 14:12:56 -07:00
Aaron Curtis f0cf612372 LogAnalyzer: Fix scoping in LogAnalyzer.py . Tests still need fixing.
Conflicts:
	Tools/LogAnalyzer/LogAnalyzer.py
2014-07-08 14:12:56 -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 da178ee3b6 LogAnalyzer: add TestAutotune
- very basic, checks for autotune start/success/fail and provides the
   most recent ATUN/ATDE values
 - very handy in case autotune fails
2014-07-07 18:10:13 -07:00
Markus Koetter 6ce0dbf3b3 LogAnalyzer: TestPitchRollCoupling add mode ""
- "" is a valid alias for AUTOTUNE
2014-07-07 18:09:29 -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
Linus Casassa ce0efdb7d2 LogAnalyzer: Adding HYBRID mode to LogAnalyzer. 2014-07-07 17:37:52 -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 867f884954 tools: Allow LogAnalyser to emit its xml to stdout.
If you use - as the name for the output file.
2014-07-01 14:28:08 +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 2f4af05f33 LogAnalyzer: renamed test from "Underpowered" to "Thrust" 2014-06-24 15:07:47 +10:00
Andrew Chapman 4a5e0bbe06 LogAnalyzer: renamed PASS to GOOD in output (and enums)
as per Craig’s request to clarify test output
2014-06-24 15:07:47 +10:00
Andrew Chapman a6eb5307b6 LogAnalyzer: renamed 'logs' folder to 'examples'
as per Craig’s request
2014-06-24 15:07:47 +10:00
Andrew Chapman 0fe6c1ee3a LogAnalyzer: fixed XML output glitch in the case of a skipped (NA) test 2014-06-24 15:07:47 +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 795f93949b LogAnalyzer: escape strings in XML output 2014-06-24 15:07:46 +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 70c2682c28 LogAnalyzer: detect all zeros in MAG X/Y/Z data 2014-06-24 15:07:46 +10:00
Andrew Chapman 35830f928d LogAnalyzer: added --verbose flag, added test for MAG interference 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 301a3bcdaf LogAnalyzer: added test for dupe log data 2014-06-24 15:07:45 +10:00
Andrew Chapman 5aa1e6a2dd LogAnalyzer: changed command flags a little, tidy, started on TestPitchRollCoupling 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