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
7fdf1b6f78
DataFlash: fixed example build
2013-05-08 16:45:40 +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
9ef34943af
DataFlash: change log extension to *.bin
2013-04-23 15:03:10 +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
b5ae588341
DataFlash_File: fixed creation of 0.log
2013-04-20 13:52:37 +10:00
Andrew Tridgell
735d60c493
DataFlash: convert example sketch to new API
2013-04-20 13:52:37 +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
310a5a6be1
DataFlash: don't try to write if no card inserted
2013-04-02 13:08:38 +11:00
Andrew Tridgell
c1c967f3bf
DataFlash: fixed test sketch build and run
2013-03-15 07:30:40 +11: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
ba8d830754
DataFlash: start to fix example build
2013-03-11 13:02:08 +11:00
Andrew Tridgell
987cdaf3e1
DataFlash: make it safe to do DataFlash logging from timers
...
this uses a non-blocking semaphore take if we are in a timer
process. Useful for logging failsafe events
2013-03-02 17:42:06 +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
f683cff9e2
DataFlash: speed up SPI transfers in DataFlash_APM1
2013-01-13 19:26:43 +11:00
Andrew Tridgell
8015f0f626
DataFlash: update SITL implementaion for new API
2013-01-13 17:31:43 +11:00
Andrew Tridgell
9ef1f8509b
DataFlash: update test code for new macros
2013-01-13 17:31:42 +11:00
Andrew Tridgell
83b074dd87
DataFlash: moved macros into common header
2013-01-13 17:31:42 +11:00
Andrew Tridgell
f3005c4267
DataFlash: use bulk SPI transfer() method
...
this reduces the per-byte overhead of flash logging to about 3.9 usec
2013-01-13 17:31:42 +11:00
Pat Hickey
3d0a4394b6
DataFlash Empty: conform to blockread/write virtual if
2013-01-12 10:44:05 -08:00
Andrew Tridgell
7274d847f8
DataFlash: update for new block API
2013-01-12 17:21:21 +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
Andrew Tridgell
44285cfbad
DataFlash: fixed a semaphore bug in APM1 dataflash code
2013-01-08 14:37:39 -08:00
Pat Hickey
390e96311e
DataFlash: change to new style Semaphore library
2013-01-03 13:48:07 -08:00
Andrew Tridgell
374af1cd14
build: change from Arduino.mk to apm.mk
2013-01-02 17:29:37 +11:00
Andrew Tridgell
fb4540a349
DataFlash: disable some debug code
2012-12-20 14:53:24 +11:00
Andrew Tridgell
a1187519a8
AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches
2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8
move Arduino.mk to /mk/Arduino.mk
2012-12-20 14:52:35 +11:00
Andrew Tridgell
448fc6719f
HAL_Empty: fixed return in dataflash
2012-12-20 14:52:33 +11:00
Pat Hickey
4c930b77a4
DataFlash_Empty defined
2012-12-20 14:52:31 +11:00
Andrew Tridgell
7d27e420ae
AP_HAL: remove unnecessary Arduino.h includes
2012-12-20 14:52:30 +11:00
Andrew Tridgell
964bc56aa2
DataFlash: reinstate SITL dataflash code
2012-12-20 14:52:29 +11:00
Pat Hickey
308281f252
DataFlash_test ported to AP_HAL
2012-12-20 14:51:40 +11:00
Andrew Tridgell
c4b8959202
DataFlash: added SITL headers
2012-12-20 14:51:40 +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
aaffd9d96e
DataFlash: APM2 ported to AP_HAL SPIDeviceDriver
2012-12-20 14:51:36 +11:00
Pat Hickey
4f07a90b2e
DataFlash: apm1 fixups
2012-12-20 14:51:36 +11:00
Pat Hickey
ef1db1a3fc
DataFlash: don't take a delay_cb
2012-12-20 14:51:36 +11:00
Pat Hickey
0e5ff36c6c
DataFlash: DataFlash_APM1 rewritten in terms of AP_HAL spi primitives
2012-12-20 14:51:36 +11:00
Pat Hickey
a81de007d8
DataFlash: headers switch to use AP_HAL SPI device driver types
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
Pat Hickey
8ffec83b73
DataFlash: fixes to lib include and make the test smaller
2012-12-20 14:51:22 +11:00
Andrew Tridgell
17c115d2aa
SITL: don't define __AVR_ATmega2560__ on desktop build
...
this allows us to properly separate the desktop build in the code
2012-11-19 09:03:35 +11:00
Jason Short
c848fe18a5
APM1 Dataflash update
...
My data flash would never erase, this fixed it.
2012-11-09 22:15:16 -08:00
rmackay9
17afd075c1
DataFlash_APM1: use spi_semaphore to avoid conflicts with optical flow
2012-10-18 17:03:50 +09:00
rmackay9
785d9ca6a7
DataFlash_APM2: renamed semaphore to spi3_semaphore to make it more obvious which semaphore is required.
2012-10-18 17:00:05 +09:00
Pat Hickey
aa210d7e99
AP_DataFlash_test wibble
2012-10-09 11:39:09 -07:00
Pat Hickey
605f89fa69
DataFlash_APM2: private AP_Semaphore* rather than use extern AP_Semaphore_spi3
...
The AP_Semaphore* argument to the constructor can be null (and is by
default for compatibility). Semaphore is only used when non-null.
2012-10-09 11:38:52 -07:00
rmackay9
b9963f5b5c
DataFlash: modified to use AP_Semaphore for SPI3 bus when required.
...
Also fixed test sketch which seemed broken.
2012-10-06 12:41:50 +09:00
uncrustify
08c8dffd48
uncrustify libraries/DataFlash/DataFlash.h
2012-08-21 19:19:52 -07:00
uncrustify
2e97fd3e9f
uncrustify libraries/DataFlash/DataFlash.cpp
2012-08-21 19:19:52 -07:00
uncrustify
9b44f5b741
uncrustify libraries/DataFlash/DataFlash_APM1.h
2012-08-21 19:04:23 -07:00
uncrustify
c68a341633
uncrustify libraries/DataFlash/DataFlash_APM2.h
2012-08-21 19:04:23 -07:00
uncrustify
21337a39d3
uncrustify libraries/DataFlash/DataFlash_APM1.cpp
2012-08-21 19:04:23 -07:00
uncrustify
eb9d6b259b
uncrustify libraries/DataFlash/DataFlash_APM2.cpp
2012-08-21 19:04:23 -07:00
uncrustify
15d8ba45e3
uncrustify libraries/DataFlash/examples/DataFlash_test/DataFlash_test.pde
2012-08-21 19:04:10 -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
Jason Short
bd91215770
Dataflash fix for missing card error
2012-08-16 15:37:28 -07:00
Jason Short
3ca57ac105
DataFlash : Removed Chip Erase - relying on Block erase only
2012-08-15 21:04:24 -07:00
Jason Short
ce2a608706
Dataflash Logs : Fixed block erase on APM2
...
Byte order for 512 vs 528 was reversed.
2012-08-15 21:04:24 -07:00
Craig Elder
6d3fdfc03a
DataFlash: The current method for checking if chip erase worked is producing false positives. We are forcing the block erase until we have a deterministic test method.
2012-07-09 15:23:35 -07: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
rmackay9
c45b124cbe
DataFlash_APM2 - moved CS_inactive call (which disables the dataflash) from the beginning to the end of all methods. This means the dataflash does not monopolize the SPI bus.
...
Also formatting changes to use tab instead of space. Sorry, should have done this as a separate check-in to the above changes.
2012-04-21 20:14:45 +09:00
Randy Mackay
ed19c25a97
Arduino 1.0 - changed all #includes of "WProgram.h", "wiring.h" and "WConstants.h to "Arduino.h".
...
Modified FastSerial's write function to return size_t (number of bytes written).
2012-01-28 12:25:47 +09:00
Doug Weibel
756793611f
Repair dataflash test
2012-01-08 21:29:19 -07:00
Andrew Tridgell
880c7e6411
DataFlash: cope with older dataflash chips
...
some of the APM2 DataFlash cards use an older chip with only 4096
pages, and a density code of 6. Doug has one of these.
2012-01-04 16:16:35 +11: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
bd9488f1e4
DataFlash: fixed sense of card detect
2011-12-28 16:00:48 +11:00
Andrew Tridgell
637d4675e1
added in DataFlash.cpp
...
forgot this ....
2011-12-26 19:34:06 +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
2b7e0c8494
DataFlash_Purple: added new logging methods needed for ArduPlane
...
builds, but not tested yet
2011-11-25 20:00:18 -08:00
Andrew Tridgell
cba93dbd43
DataFlash_APM1: re-add defines lost from merge
2011-11-25 20:00:18 -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
James Goppert
0c7c508541
Optional recursion added.
2011-09-30 17:17:51 -04:00
James Goppert
5489b84f8e
Improvements to cmake.
2011-09-29 21:23:26 -04:00
James Goppert
d887a28b91
Added ArduBoat/ ArduRover/ and APO library.
2011-09-29 14:12:15 -04:00
unknown
a4e001bbcf
Adding CMake support
2011-09-14 15:44:55 +02:00
tridge60@gmail.com
6075b7ce73
dataflash: fixed some compiler warnings
...
tmp is not needed
Pair-Programmed-With: Mike Smith
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3230 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-09-04 06:39:14 +00:00
rmackay9@yahoo.com
09256e12da
DataFlash library - changed to use standard arduino SPI library
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2928 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-07-19 23:00:18 +00:00
rmackay9@yahoo.com
0f920d12ce
DataFlash - backed out recent changes to make it use SPI while I figure out the cause of some people's compile errors
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1936 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-01 02:27:18 +00:00
rmackay9@yahoo.com
0462774345
DataFlash - modified to use Arduino SPI interface instead of directly using registers. Also moved "dataflash_CS_inactive" calls to end of functions instead of beginning so that it doesn't monopolize the SPI bus.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1931 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-30 03:25:31 +00: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
james.goppert@gmail.com
c1b6032e7f
Eclipse makefile support for examples.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1860 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-04-09 19:38:12 +00:00
jasonshort
b6c552212e
updated formatting, baud
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1642 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 00:43:11 +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