Commit Graph

271 Commits

Author SHA1 Message Date
priseborough 09c5ba1aed Dataflash : Improved logging of EKF sensor health checks
This changes the definition sof the messages in the EKF4 message to make it more useful
The values shown now relate directly to how much margin there is before a measurement
is rejected, enabling better tuning of error trap parameters
2014-04-01 21:27:07 +11:00
Andrew Tridgell 31d3b6555f DataFlash: convert to new GPS API 2014-04-01 06:38:23 +11:00
Andrew Tridgell 6bf2b5033e DataFlash: support logging up to 14 RC input channels 2014-03-25 16:39:19 +11:00
Andrew Tridgell 1b1a92251f DataFlash: allow drivers to setup their own logging formats
this allows drivers to ask the dataflash driver to add new log formats
2014-03-24 12:03:31 +11:00
Michael Day 68dbfd6315 DataFlash: Add Log_Write_Radio to store RSSI and noise on board. 2014-03-20 09:56:37 +11:00
Randy Mackay 869f325c66 DataFlash: Log_Write_MavCmd replaces Log_Write_Cmd 2014-03-19 12:12:43 +09:00
Randy Mackay 150faafaf4 Dataflash: add Log_Write_Cmd method 2014-03-19 12:12:07 +09:00
Andrew Tridgell e410733682 DataFlash: added GPS2 logging 2014-02-26 09:19:00 +11:00
Paul Riseborough 17e24521e8 DataFlash : Added logging of NavEKF innovations and variances 2014-02-15 05:48:21 +11:00
Andrew Tridgell 45177df354 DataFlash: moved EKF logging to common code 2014-02-15 05:48:16 +11:00
Andrew Tridgell d0a25b53f2 DataFlash: added logging of AHRS2 2014-02-15 05:48:09 +11:00
Andrew Tridgell e7cf07dfb7 DataFlash: added Columns column to FMT 2014-02-15 05:27:51 +11:00
Andrew Tridgell ce43e674fe DataFlash: added power status logging 2014-02-15 05:00:09 +11:00
Andrew Tridgell fc3ed61e67 DataFlash: added baro dataflash logging 2014-01-28 10:35:18 +11:00
Andrew Tridgell ef28d087d2 DataFlash: added logging_started() API 2014-01-14 13:51:06 +11:00
Randy Mackay a53d1075ec DataFlash: add EnableWrites method
This method allows temporarily suspending writes to the dataflash which
will be used in ArduCopter to ensure no messages are written while the
copter is disarmed
2014-01-07 22:43:44 +09:00
Andrew Tridgell e6bafa2d8f DataFlash: added structures to Init() of dataflash
this will allow the get_log_data() call to add FMT headers if a log
has wrapped
2013-12-17 11:51:36 +11:00
Andrew Tridgell 5d53b780ba DataFlash: added functions for load download support 2013-12-17 11:51:35 +11:00
Andrew Tridgell 08658909ad DataFlash: log both IMU packets at once 2013-12-09 17:34:07 +11:00
Andrew Tridgell eb883fbb0c DataFlash: added Log_Write_IMU2() for logging 2nd INS sensors 2013-12-09 17:34:06 +11:00
Randy Mackay ef2597a626 DataFlash: rename Log_Write_SERVO to Log_Write_RCOU 2013-11-27 20:17:41 +09:00
Andrew Tridgell 825b360fb0 DataFlash: added RCIN and SRVO log methods 2013-11-26 09:04:43 +11:00
Andrew Tridgell 1fb636d57f DataFlash: added APM time and GPS velz to logged GPS messages 2013-11-04 21:37:10 +11:00
Andrew Tridgell 5e915fbde3 DataFlash: added timestamp to IMU and VelZ to GPS logging
both are very useful for analysis
2013-11-04 21:21:42 +11:00
Andrew Tridgell 4e82a8e1d4 DataFlash: use const ins reference
save some pointer dereferences
2013-11-04 21:21:42 +11:00
Andrew Tridgell d7a9888e26 DataFlash: updates for new GPS API 2013-10-24 14:22:47 +11:00
Andrew Tridgell 4662858077 DataFlash: we don't need AP_AHRS.h 2013-08-30 13:01:34 +10:00
Andrew Tridgell 095505129c DataFlash: hopefully fixed cause of frequent dataflash erase
Wait for 0.1s after erase and before we start writing parameters to
the log

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2013-05-08 17:00:36 +10:00
Andrew Tridgell 0242d50ad4 DataFlash: added Log_Write_Message()
useful for logging general messages
2013-05-03 09:18:14 +10:00
Andrew Tridgell 709a277c7f DataFlash: chamged FMT message to include labels
this makes it easier for MP to parse and display
2013-04-23 19:46:22 +10:00
Andrew Tridgell 844e1b9ef9 DataFlash: added support for printing flight mode as a string
makes analysing logs easier.

Pair-Programmed-With: Randy
2013-04-20 15:17:49 +10:00
Andrew Tridgell 62f190ed15 DataFlash: simplify code now that copter is converted
no longer need as many public functions
2013-04-20 13:52:37 +10:00
Andrew Tridgell cf0c8331c2 DataFlash: use print_latlon() 2013-04-20 13:52:36 +10:00
Andrew Tridgell c29d870497 DataFlash: dump the format of logs at the start of the log 2013-04-20 13:52:36 +10:00
Andrew Tridgell 916e8d0992 DataFlash: new dataflash logging system
this allows us to remove the display functions in the vehicle code,
and also allows us to store the format of a log file in the log. It
also stores the parameters used in a flight, rather than the
parameters set at the time the log is dumped
2013-04-20 13:52:36 +10:00
Andrew Tridgell da5a5ea368 DataFlash: added file based 'dataflash' logging 2013-04-17 21:32:53 +10:00
Andrew Tridgell a7541e9ad3 DataFlash: report log number when starting a new log
helps with test sketch
2013-03-15 07:30:23 +11:00
Andrew Tridgell efd2da3eb8 DataFlash: started on file interface 2013-03-01 07:18:26 +11:00
Andrew Tridgell 7b524d15fa DataFlash: added log_num to dump interface
this will be used by the file oriented logging code
2013-03-01 07:18:25 +11:00
Andrew Tridgell c52ef80f06 DataFlash: added Block layer in classes
this will allow the addition of a DataFlash_File implementation of the
DataFlash API which will store logs in a traditional filesystem. That
will align better with the PX4 design, and be more useful for fast
transfer of logs to a host computer
2013-03-01 07:18:25 +11:00
Andrew Tridgell 0ffcffa81c DataFlash: fixed signed/unsigned errors in API 2013-03-01 07:18:25 +11:00
Andrew Tridgell 9b551f162c DataFlash: make the public interface much narrower
make many variables private, to simplify interface ready for PX4
2013-03-01 07:18:25 +11:00
Andrew Tridgell 20825cc903 DataFlash: removed the byte and word based interfaces
simplifing ready for PX4 flash logging
2013-03-01 07:18:25 +11:00
Andrew Tridgell c6b006cf5f DataFlash: move log reading logic into common library 2013-01-15 14:03:51 +11:00
Andrew Tridgell 83b074dd87 DataFlash: moved macros into common header 2013-01-13 17:31:42 +11:00
Andrew Tridgell 28a0ba6c4a DataFlash: added block based dataflash writes
these are about 10x faster than the old writes
2013-01-12 17:21:04 +11:00
Pat Hickey 4c930b77a4 DataFlash_Empty defined 2012-12-20 14:52:31 +11:00
Andrew Tridgell e57834d763 DataFlash: added SITL header 2012-12-20 14:51:40 +11:00
Pat Hickey 7b9b088261 DataFlash: AP_HAL port fixups 2012-12-20 14:51:37 +11:00
Pat Hickey ef1db1a3fc DataFlash: don't take a delay_cb 2012-12-20 14:51:36 +11:00
Pat Hickey cc699a2a4e DataFlash: conform to ordinary stdint types
* s/unsigned char/uint8_t/g
* changed all type 'byte' to uint8_t
2012-12-20 14:51:36 +11:00
uncrustify 08c8dffd48 uncrustify libraries/DataFlash/DataFlash.h 2012-08-21 19:19:52 -07:00
rmackay9 2b24e422de DataFlash: revert delay callbacks to use "unsigned long" 2012-08-18 20:28:31 +09:00
rmackay9 20cb2e56a0 DataFlash: change "unsigned long" to "uint32_t" in callback functions 2012-08-18 19:22:14 +09:00
rmackay9 94552b57a7 DataFlash: replaced "int" with "int16_t" 2012-08-18 18:31:20 +09:00
Andrew Tridgell e171720608 DataFlash: fixed SITL build 2012-08-17 16:27:19 +10:00
Andrew Tridgell dd24330645 DataFlash: fallback to BlockErase if ChipErase fails
The errata on the APM2 dataflash chip says that ChipErase may not work
on some chips
2012-07-04 12:42:46 +10:00
Andrew Tridgell fc73fd6531 DataFlash: use ChipErase() instead of PageErase() on all pages
This makes the DataFlash erase much faster (about 6 seconds instead of
about 60 seconds).

We need to test and ensure the behaviour is equivalent apart from the
speed
2012-05-22 19:29:02 -07:00
Andrew Tridgell 5e4f66e525 DataFlash: moved high level logging logic to library
this moves out all the high level logic from ArduPlane/ArduCopter to
the library. It also adds a "config page", as the last page in the
flash. This is used to check if the flash needs erasing. We only erase
now if the DF_LOGGING_FORMAT has changed.

This patch also adds a public CardInserted() method, which is used to
disable logging on APM2 if a dataflash card is not inserted
2011-12-28 16:00:48 +11:00
Andrew Tridgell 977326e991 dataflash: reworked classes to move most code to parent class
this moves all the non-hardware specific code to the parent
DataFlash_Class class, keeping the hw specific code much smaller and
simpler.

This should prevent discrepancies creeping in between APM1 and APM2
support again
2011-12-26 19:17:11 +11:00
Andrew Tridgell 13b2ddcbe1 dataflash: fixed APM2 flash logging
we had log wrap disabled on APM2, and also had the wrong log size. The
mainline code assumed 4096, but it is 8192 pages long.
2011-12-26 19:17:11 +11:00
Andrew Tridgell 02f25ac36d libraries: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell bb7af8c15a dataflash: fixed datatypes to be compatible with desktop build 2011-11-25 20:00:17 -08:00
Pat Hickey 82e7551c90 purple: rework DataFlash to separate purple and APM1 hardware support
the purple support is still a work in progress, but the APM1 support
should be fine
2011-11-25 20:00:16 -08:00
Doug Weibel f752c4b799 Change to logging file system.
This commit is somewhat temporary as I have come up with a better scheme and will be modifying this.  Just making this commit in case I need to roll back
2011-11-17 21:25:51 -07:00
Andrew Tridgell cfe058c5d5 DataFlash: use CPU independent data types
this ensures that the DataFlash API is consistent for different CPU
architectures, which matters for the Desktop build, and will matter
for ARM and other CPUs later
2011-11-07 22:56:13 +11:00
mich146@hotmail.com a107587af6 update dataflash for 528 and 512 byte pages
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1906 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-18 11:19:31 +00:00
deweibel@gmail.com b3c9bf270f Add FinishWrite method to the DataFlash class to support using an index system.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1575 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-30 01:53:04 +00:00
rmackay9@yahoo.com a257c51a09 Some changes to fix compile errors when using ATmega2560.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1187 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-19 13:05:02 +00:00
deweibel c0e5fa9908 Added GetWritePage()
git-svn-id: https://arducopter.googlecode.com/svn/trunk@230 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-08-18 18:29:03 +00:00
jjulio1234 3976200f50 First version. This is the "core" of the project and libraries.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-05-28 14:38:51 +00:00