Commit Graph

36 Commits

Author SHA1 Message Date
Andrew Tridgell 66ee202e24 HAL_PX4: backup storage to microSD if possible
very useful for diagnostics
2018-07-11 16:38:03 +10:00
Andrew Tridgell 979ee67c19 HAL_PX4: cope with failed flash writes
we need to recover from possible bad flash
2018-01-15 11:46:02 +11:00
Andrew Tridgell 37166301c9 HAL_PX4: use sensor_config_error() 2017-05-03 11:37:02 +10:00
Lucas De Marchi 2349909033 AP_BoardConfig: start mtd driver 2017-03-24 12:06:19 +11:00
Andrew Tridgell 23480a92ad HAL_PX4: only include parts needed for build
allow for external USE_FLASH_STORAGE define in build
2016-12-02 09:58:36 +11:00
Andrew Tridgell 6bc0c76d54 HAL_PX4: update for new AP_FlashStorage API
allow flash sector erase while disarmed
2016-12-02 09:49:40 +11:00
Andrew Tridgell a66924422f HAL_PX4: implement optional flash backend for storage
this allows the last two flash sectors to be used as storage for
parameters, waypoints etc.

A change to the bootloader to not erase the last two sectors is needed
2016-12-02 09:49:39 +11:00
Andrew Tridgell b0832e6c15 HAL_PX4: factor out storage functions
ready for multiple backends
2016-12-02 09:49:39 +11:00
Andrew Tridgell d4f679f954 HAL_PX4: removed support for old storage files on microSD 2016-12-02 09:49:39 +11:00
Andrew Tridgell 4cfd63c30a HAL_PX4: refactor storage to use bitmask class 2016-12-02 09:49:39 +11:00
Andrew Tridgell ed8f9b444a HAL_PX4: fixed whitespace 2016-12-02 09:49:38 +11:00
Andrew Tridgell 7fede90df3 HAL_PX4: work around a bus locking issue on Pixracer
Pixracer has FRAM on the same bus as the ms5611 and the FRAM ramtron
driver does not use the same locking mechanism as other px4 SPI
drivers. We need to disable interrupts during FRAM transfers to ensure
we don't get FRAM corruption
2016-02-23 16:34:06 +11:00
Andrew Tridgell 519afc7a06 HAL_PX4: debug code for FRAM corruption 2016-01-06 19:16:16 +11:00
Caio Marcelo de Oliveira Filho a76c9e0051 AP_HAL_PX4: use millis/micros/panic functions 2015-11-20 12:31:13 +09:00
Gustavo Jose de Sousa 08333f1ffe AP_HAL_PX4: 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:28:43 +10:00
Andrew Tridgell 4a91546ced HAL_PX4: FRAM does not support fsync
the fsync just wastes time reopening /fs/mtd
2014-12-09 14:35:36 +11:00
Andrew Tridgell 74525cad89 HAL_PX4: fixed dirty_mask calculation in FRAM storage
this could lead to a number of bytes on 512 byte boundaries not being
written when changed in ram, so they would revert on next boot
2014-09-11 18:58:54 +10:00
Andrew Tridgell d40d0f6aec AP_HAL: removed old storage type read/write functions
not needed any more
2014-08-13 18:46:44 +10:00
Andrew Tridgell 320834a5e7 HAL_PX4: read from FRAM in 128 byte chunks (2nd try)
this time without the amazingly silly bug
2014-05-02 22:12:45 +10:00
Andrew Tridgell db6b96caa0 Revert "HAL_PX4: read from FRAM in 128 byte chunks"
This reverts commit a92366c455.

This commit may be associated with FRAM corruption on Pixhawk. Revert
until we understand why
2014-05-02 21:52:26 +10:00
Andrew Tridgell a92366c455 HAL_PX4: read from FRAM in 128 byte chunks
this fixes FRAM read on Roberts Pixhawk. We don't know why yet.
2014-05-02 12:24:54 +10:00
Andrew Tridgell e1f06c532a HAL_PX4: more checking of IO results in eeprom driver 2014-01-16 13:11:14 +11:00
Andrew Tridgell 64fbadcc21 HAL_PX4: use eeprom on PX4 FMUv1 as well
this means we no longer store params on SD at all
2014-01-15 19:33:13 +11:00
Andrew Tridgell 376ab30366 HAL_PX4: disable rename of old parameter file for now
be nice to release candidate users
2014-01-14 22:00:56 +11:00
Andrew Tridgell 626086063e HAL_PX4: added a signature to FRAM
this makes for more reliable update
2014-01-14 15:06:51 +11:00
Andrew Tridgell b88bb0751c HAL_PX4: added support for MTD (FRAM) parameters
this allows us to store parameters and waypoints in FRAM, and
auto-upgrade from microSD
2014-01-14 12:46:26 +11:00
Andrew Tridgell e78e35f3bd HAL_PX4: try to use uppercase names on NuttX microSD card 2014-01-14 12:46:26 +11:00
Andrew Tridgell 2316c3bd11 AP_HAL: make storage->write_block() take a const pointer 2013-06-04 14:02:13 +10:00
Andrew Tridgell 8375abdd99 HAL_PX4: fixed max storage write size 2013-01-27 15:04:47 +11:00
Andrew Tridgell e4a204d2f6 HAL_PX4: reopen storage file on any IO error 2013-01-27 13:39:11 +11:00
Andrew Tridgell 0e79b93289 HAL_PX4: added storage performance counters 2013-01-24 15:04:57 +11:00
Andrew Tridgell 6cf1d5e1ff HAL_PX4: handle IO errors on microsd
this should handle EINTR gracefully
2013-01-24 15:04:57 +11:00
Andrew Tridgell c9799fb2b7 HAL_PX4: writing more than 512 bytes at a time can cause IO errors
the vfat fs in NuttX is really very picky!
2013-01-23 16:54:44 +11:00
Andrew Tridgell 952df2fced HAL_PX4: new buffered storeage driver for microsd cards
this does all IO in the timer thread, avoids writes that don't change
data, and does all writes in multiples of 128 byte chunks. This should
be about as friendly to SD cards as we can get.
2013-01-23 16:37:40 +11:00
Andrew Tridgell db0bd86317 HAL_PX4: name the eeprom file after the sketch
this makes it easier to switch between ArduPlane and ArduCopter
2013-01-21 22:04:17 +11:00
Andrew Tridgell ac7117245a HAL_PX4: added a storage driver
stores 'eeprom' to a sdcard file
2013-01-03 19:35:05 +11:00