Commit Graph

221 Commits

Author SHA1 Message Date
Peter Barker 4f1a7c6427 DataFlash: remove use of AddLogFormats 2015-12-03 13:21:52 +11:00
Peter Barker 0ca07e5245 DataFlash: DataFlash-over-MAVLink support 2015-12-03 13:21:51 +11:00
Peter Barker faabe0b83d DataFlash: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho 753956bd77 AP_Dataflash: use millis/micros/panic functions 2015-11-20 12:35:00 +09:00
Paul Riseborough 42b47acdfc DataFlash: Fix logging error for EKF second instance 2015-11-09 22:07:10 +11:00
Paul Riseborough 88cc1e2ffe DataFlash: Publish the EKF2 magnetometer selection index 2015-11-09 22:07:10 +11:00
Paul Riseborough 138315af21 DataFlash: Add logging for second NKF instance 2015-11-08 15:37:28 +11:00
Paul Riseborough 5b1d6f2aa2 DataFlash: accomodate change in EKF2 interface 2015-11-08 15:37:28 +11:00
Paul Riseborough 46e4c45537 DataFlash: Only log EKF messages when enabled 2015-11-08 15:37:27 +11:00
Paul Riseborough 987d261109 DataFlash: Update logging of EKF2 primary core index
Changes made in response to review comments
2015-11-08 15:37:27 +11:00
Paul Riseborough 4884b2d38a DataFlash: Log the primary EKF2 index 2015-11-08 15:37:27 +11:00
Lucas De Marchi c74b1a660d DataFlash: remove DATAFLASH_NO_CLI
This is not used anymore since the removal of AVR CPUs.
2015-11-04 12:14:15 +11:00
Lucas De Marchi 0dfeae2556 DataFlash: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi d2a259cef0 DataFlash: fix wrong printf format for printf
"%S" is used for wide string, but we are passing a char*. Use lowercase
in this case to remove warnings like this:

libraries/AP_InertialSensor/AP_InertialSensor.cpp: In member function
'bool AP_InertialSensor::calibrate_accel(AP_InertialSensor_UserInteract*, float&, float&)':
libraries/AP_InertialSensor/AP_InertialSensor.cpp:620:61: warning:
format '%S' expects argument of type 'wchar_t*', but argument 3 has type 'const char*' [-Wformat=]
                 "Place vehicle %S and press any key.\n", msg);
                                                             ^
2015-10-30 14:35:42 +09:00
Lucas De Marchi 5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi b52d1cfabb DataFlash: remove DataFlash.Log_Write_Message_P() 2015-10-30 14:35:29 +09:00
Lucas De Marchi 4ab9821624 Replace use of Log_Write_Message_P() with Log_Write_Message() 2015-10-30 14:35:28 +09:00
Lucas De Marchi 20c6ffc5e3 Replace use of UARTDriver::printf_P() with UARTDriver::printf()
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +09:00
Lucas De Marchi 6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi 1336d621be Replace use of strcpy_P() with strcpy() 2015-10-30 14:35:12 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Lucas De Marchi 19b31ccff1 DataFlash: remove check for max compass instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:18 +11:00
Lucas De Marchi d83609b24c DataFlash: remove check for max BARO instances
For all supported boards we allow more than 1 baro instance.
2015-10-21 10:05:18 +11:00
Lucas De Marchi 121eeb4b58 DataFlash: remove check for vibe check
For all supported boards we have vibration check.
2015-10-21 10:05:17 +11:00
Lucas De Marchi f99d64e621 DataFlash: remove check for max INS instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Paul Riseborough 2d44441d6b DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough 1323db10e8 DataFlash: Make EKF2 PosDownDerivative interface follow coding conventions
Updates arising from peer review.
2015-10-20 15:21:37 +11:00
Paul Riseborough 9e3d9d15fc DataFlash: Log vertical position derivative output 2015-10-20 15:21:35 +11:00
Gustavo Jose de Sousa 363f9cf82a DataFlash: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:07 +09:00
Paul Riseborough a82c8b241f DataFlash: Update NKF4 data logging
Add roll/pitch error metric
Reduce normalised magnetometer vector with a vector length
2015-10-10 21:22:57 +09:00
Paul Riseborough ba6387f206 DataFlash: Add logging of EKF GPS check status 2015-10-10 14:49:03 +09:00
Randy Mackay e9254ca1a9 DataFlash: log compass as milligauss 2015-10-07 21:35:19 +09:00
Peter Barker af4ad01f23 DataFlash: make CAM a critical message 2015-10-06 15:20:08 +11:00
Paul Riseborough 80e182f827 AP_NavEKF2: Update EKF2 data logging 2015-09-24 12:58:44 +10:00
Paul Riseborough 86ad1e6e66 DataFlash: Update EKF2 data logging 2015-09-24 12:58:44 +10:00
Andrew Tridgell ba8e63d8e7 DataFlash: handle unitialised EKF2 in logging 2015-09-23 18:54:46 +10:00
Andrew Tridgell ce9fa45b3a DataFlash: added logging of EKF2 2015-09-23 12:09:48 +10:00
Andrew Tridgell eabdee2b3c DataFlash: only log two rangefinders
this prevents a array index build error on PX4
2015-09-22 09:24:55 +10:00
Stewart Loving-Gibbard 4dcf6b8dc3 DataFlash: Adding Logging of RSSI data. 2015-09-16 16:41:31 +09:00
Andrew Tridgell 43ac3f86c5 DataFlash: added RNFD logging and 3 baros 2015-09-13 11:29:59 +10:00
Andrew Tridgell c5cd310818 DataFlash: added GPA and GPA2 messages for GPS accuracy
this reverts the GPS format to the old format, thus fixing log
analysers
2015-09-09 14:53:11 +10:00
Michael du Breuil a88e10d3a0 DataFlash: Log vDOP with GPS messages.
Due to the description string getting to long HDop was renamed as EPH with VDop as EPV (Which is the same terimnology  used to describe the MAVLink side). Status was shortened to stat as well.
2015-09-09 11:38:12 +10:00
Peter Barker 2b02911546 DataFlash: make mode and messages critical 2015-09-03 15:20:20 +10:00
Peter Barker 8f8493225c DataFlash: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 09:54:55 +10:00
Lucas De Marchi 327a3a4298 DataFlash: standardize inclusion of libaries headers
Do the missing header changes due to changing the code before the pr
getting accepted.
2015-08-18 17:12:52 +10:00
Andrew Tridgell ab7e400a89 DataFlash: added RPM logging 2015-08-12 15:03:50 +10:00
Gustavo Jose de Sousa 709204c01d DataFlash: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:24 +10:00
Randy Mackay 5776620062 DataFlash: consolidate GPS, GPS2 messages
Remove unused dgps_numch, dgps_age from GPS2
Add U field (for use) to both GPS and GPS2
2015-08-05 15:46:46 +09:00
Peter Barker 1ee330ebb2 DataFlash: CLI log dumping - don't truncate lines that contain doubles
We currently print doubles out as if they were floats.  The ftoa_engine isn't something to replicate for doubles lightly!
2015-07-24 08:08:51 +10:00
Randy Mackay ad1f9c4829 DataFlash: add ORGN message 2015-07-06 12:11:49 +09:00
Peter Barker cabea266e7 DataFlash: pull out common mission logging code 2015-06-30 16:23:35 +10:00
Peter Barker d85b247706 DataFlash: Log_Write_SysInfo - pull out common logging startup messages 2015-06-30 16:23:34 +10:00
Peter Barker 723c37bcf7 DataFlash: backend/frontend split 2015-06-26 16:02:50 +10:00
Andrew Tridgell feb928dcd3 DataFlash: fixed build warnings 2015-06-17 13:10:26 +10:00
Randy Mackay 384755e271 Dataflash: add IMT messages 2015-06-17 12:46:54 +10:00
Randy Mackay 0d239d2746 DataFlash: disable vibration logging on APM2
Also remove unnecessary include
2015-06-12 21:36:59 +09:00
Randy Mackay f0f262eb04 DataFlash: add Log_Write_Vibration 2015-06-12 21:36:28 +09:00
Grant Morphett 7d1bf75aa8 DataFlash: Moving parameter logging to be after all systems have started
Moved Log_Write_Parameters to be public so we can call it from the
vehcile code at the end of the startup sequence.
We needed to do this because parameters like COMPASS_EXTERNAL are
modified by the startup code and if we log the parameters too early we
will be recording the wrong value.
2015-06-01 20:22:43 +09:00
Andrew Tridgell 73445fdae9 DataFlash: added error checking and fixed a warning 2015-05-30 22:16:22 +10:00
Andrew Tridgell 95ff71940c DataFlash: fixed rebase errors 2015-05-27 14:28:50 +10:00
Andrew Tridgell b45ab52015 DataFlash: added desired rate to PID logging 2015-05-27 14:28:48 +10:00
Robert Lefebvre 7ab628521e DataFlash: Add Acceleration Feedforward to PID_Info. 2015-05-27 14:28:47 +10:00
Robert Lefebvre 753be18c17 DataFlash: Add PID Logging Method 2015-05-27 14:28:44 +10:00
Andrew Tridgell 2a22ae5404 DataFlash: support 64 bit TimeUS log dumping 2015-05-27 11:54:18 +10:00
Peter Barker 617043f468 DataFlash: convert GPS and CAM dataflash messages to 64-bit timestamps
GPS structures remove 32-bit apm_time and replace with standard time_us
Significant change to GPS and GPS2 messages:
	    Add TimeUS as first field
	    Remove T field
	    Due to length restrictions on labels:
	    	Renamed TimeMS to GMS (Gps MilliSeconds)
		Renamed Week to GWk (Gps WeeK)
		Renamed RelAlt to RAlt
Significant change to CAM messages:
	    Removed GPSTime (uin32_t), added TimeUS (uint64_t)
2015-05-27 11:54:15 +10:00
Peter Barker 769982b8f2 DataFlash: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:14 +10:00
Andrew Tridgell b5d930be61 DataFlash: support member functions for rover 2015-05-21 07:48:47 +10:00
Andy Piper c600c1a746 DataFlash: log Gyro and Accel Health for IMUs.
Log the health of the various IMUs under GyHlt and AcHlt.
(Names are shortened to get inside the string array limit).
2015-05-19 13:13:35 +09:00
Andrew Tridgell 74485c5754 DataFlash: added Log_Write_POS() call
write AHRS position to DF log
2015-05-15 14:28:08 +10:00
Tom Pittenger 98ca790cb9 AP_DataFlash: compiler warnings: float to double 2015-05-05 13:26:54 +10:00
Tom Pittenger f700f76923 DataFlash: fix compile warnings re float constants 2015-04-24 14:04:12 +09:00
Andy Piper b0937154f5 DataFlash: log compass health
This patch simply logs the health of each compass for easy diagnosis.
2015-04-21 13:18:24 +09:00
Andrew Tridgell ecd2a6f515 DataFlash: log temperature of IMUs
this is the first step towards supporting temperature calibration of
IMUs
2015-03-17 13:33:26 +11:00
Andrew Tridgell af5f84f4e4 DataFlash: fixed example builds 2015-02-09 13:09:16 +11:00
Holger Steinhaus 8911dfd791 DataFlash: fix out-of-bounds read when logging
Checked in my rmackay9
2015-01-31 13:24:34 +09:00
Randy Mackay 09e3dcd821 DataFlash: pass ahrs, batt, targets by reference 2015-01-21 14:38:01 +09:00
Robert Lefebvre 80929c389e DataFlash: Handle multiple compass instances natively inside the Library. 2015-01-21 14:37:50 +09:00
Robert Lefebvre 5b70550b73 DataFlash: Fix potentially uninitialized variable compiler warning. 2015-01-21 14:37:27 +09:00
Robert Lefebvre be803f4f39 DataFlash: Minor whitespace changes/cleanup. No effect. 2015-01-21 14:37:25 +09:00
Robert Lefebvre 2657610373 DataFlash: Add common-vehicle Mode logging method.
Conflicts:
	libraries/DataFlash/DataFlash.h
2015-01-21 14:37:18 +09:00
Robert Lefebvre 12c3593bc3 DataFlash: Add common-vehicle Compass logging method. 2015-01-21 14:37:14 +09:00
Robert Lefebvre 392e5257cc DataFlash: Add voltage2 data to Current log, to be used by plane. 2015-01-21 14:37:07 +09:00
Robert Lefebvre 50b5376945 DataFlash: Add common-vehicle Current logging message. 2015-01-21 14:37:01 +09:00
Robert Lefebvre db1a066f43 DataFlash: Add common-vehicle Attitude logging message. 2015-01-21 14:36:56 +09:00
Andrew Tridgell 5d83124675 DataFlash: moved airspeed msg to DataFlash
so it can be used by Replay
2015-01-20 09:10:33 +11:00
Andrew Tridgell e8b1fc72e0 DataFlash: fixed build warning 2015-01-09 12:43:15 +11:00
Andrew Tridgell b85001bf4a DataFlash: added logging of 2nd baro 2015-01-09 11:51:51 +11:00
Randy Mackay 3896dadc77 DataFlash: EKF logs filter status as uint16 2015-01-09 10:51:23 +11:00
Randy Mackay 54cff29fc2 DataFlash: EKF logging uses nav_filter_status 2015-01-09 10:51:23 +11:00
priseborough d470d55234 DataFlash: Update EKF optical flow debug logging 2015-01-09 10:51:21 +11:00
priseborough a9eec29e45 DataFlash: Update EKF optical flow data logging 2015-01-03 14:09:15 +11:00
priseborough b99b3c7b9d DataFlash: Don't log EKF optical flow data if not required 2014-12-31 13:16:09 +09:00
priseborough 685fa383e4 DataFlash: Log EKF solution status message
This message is a bitmasked integer that will be used by control software to determine what data is available from the EKF and decide what control modes are available.
Duplicate static mode message removed. Static mode is now contained in the bitmasked solution status message
2014-12-31 13:13:33 +09:00
Andrew Tridgell e0943851d6 DataFlash: log gyro and accel error counts 2014-12-30 12:16:02 +11:00
Andrew Tridgell abd1ece6e3 DataFlash: don't write out parameters if log open fails 2014-12-21 14:50:42 +11:00
priseborough 7d27a22f77 DataFlash : Fix EKF optical flow logging bug 2014-12-06 18:16:48 +11:00
priseborough 2baa1e56ed Dataflash : Fix bug in EKF opt flow logging 2014-12-06 18:16:48 +11:00
priseborough cc8e6dbfad DataFlash : Add EKF additional fault and timeout logging 2014-12-06 18:16:47 +11:00