Commit Graph

21 Commits

Author SHA1 Message Date
Peter Barker 4647c6ef62 StorageManager: use pragmas to set storage layout rather than call
We don't need the flexibility to reset this, it's a waste of bytes and
something that could go wrong.  AP_Periph led the way with using
pragmas here.
2020-01-28 11:34:51 +11:00
Andrew Tridgell a733690f80 StorageManager: use hal.storage->erase() 2020-01-02 09:52:57 +11:00
Peter Barker 8469efc5aa StorageManager: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
Siddharth Purohit 4034af6ef1 StorageManager: add storage aread for CAN Dynamic Node Alloc 2019-10-19 09:55:38 +11:00
Andrew Tridgell d005f066a9 StorageManager: enable use of a single storage region 2019-08-27 10:29:56 +10:00
Andrew Tridgell b983caa97e StorageManager: allow for 15k storage
this is for F4 boards using flash storage. They were using 8k, but can
actually fit 16k. This is optimised for lots of param space as we
expect to have a lot of customised params for OSD support
2018-06-24 08:26:28 +10:00
Andrew Tridgell ba32b06c59 StorageManager: fixed header order
fixes build for revomini HAL
2018-02-10 09:14:41 +11:00
Andrew Tridgell 9cce1e0733 StorageManager: expanded bind info to 56 bytes
cc2500 needs a larger bind area
2018-02-08 17:36:33 +11:00
Andrew Tridgell ac324a3760 StorageManager: added bind info storage area 2018-02-08 17:36:33 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell ca39ece6cb StorageManager: added storage region for signing keys 2016-05-21 15:25:12 +10:00
Luis Vale Gonçalves 4e70665f17 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:39 -07:00
Lucas De Marchi 360855f109 StorageManager: stop using Progmem.h 2015-12-27 15:58:12 -02:00
Lucas De Marchi bdf92e8c79 StorageManager: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11: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 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Gustavo Jose de Sousa ce0cb248ce StorageManager: 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:25 +10:00
Gustavo Jose de Sousa 0d1d960899 StorageManager: remove unnecessary calculations on addr for next area
When writting or reading a block, if the block doesn't fit the area where it begins, the next base address is always zero. Thus the calculations to define the next value of addr are unnecessary.

Here's a quick validity proof using the previous calculations:
    First: Considering the case where the block doesn't fit it's first area:
        That means that (count + addr > length), what makes:
            count = length - addr; (1)
        So the following operations:
            addr += count;
            addr -= length;
        Are the same as doing:
            addr = addr + count - length; (2)
        Using (1) and (2) we have:
            addr = addr + length - addr - length = 0

    Second: When the block fits the area where it's at:
        That means that variable count is not changed,
        thus (n -= count) evaluates to 0, which makes the loop exit.

Another change was (b += count;) being moved after the condition to break the loop, since we just need to move the block pointer when it doesn't fit the first area.
2015-08-07 20:52:20 +10:00
Andrew Tridgell 81e6d88560 StorageManager: fixed hang in erase()
found by coverity
2015-06-20 15:00:57 +10:00
Andrew Tridgell 52cdd6394f StorageManager: cope with a wider range of storage sizes 2014-08-13 21:35:26 +10:00
Andrew Tridgell 66a21c4c33 StorageManager: first version of storage management library
used to divvy up eeprom/fram and allow for expandable storage
2014-08-13 18:29:04 +10:00