Commit Graph
35 Commits
Author SHA1 Message Date
Juergen-Fahlbusch aa647a9ea5 AP_FlashStorage: set current_sector during init
Corrects internal error 0x200000 and issue where parameters could not be saved permanently

Analysis revealed that:
Sector 0 was marked with status [SECTOR_STATE_AVAILABLE]
Sector 1 was marked with status [SECTOR_STATE_IN_USE]
Consequently, the current parameters were being loaded from Sector 1.
2026-07-22 18:57:51 +10:00
neo-0007 fa6335ec47 AP_FlashStorage: remove unset macro & skip multiwrite check for F4/F7
AP_FLASHSTORAGE_MULTI_WRITE is not defined anywhere so the FlashStorage
test with multiwrite will always fail even for F4,F7 (linux builds also) which support
multwrite.

fix some comments about flash type count and typo in STM32F4 and STM32F7 names

Fixes #14168

Signed-off-by: neo-0007 <hrishikeshgohain123@gmail.com>
2025-11-26 08:17:52 +11:00
Peter Barker 3708936c62 global: correct shebang lines to refernce python3
also remove the odd encoding line which is not required in Py3
2025-07-22 10:45:57 +10:00
Peter Barker 14b29cf7de AP_FlashStorage: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Mykhailo Kuznietsov 8fc03e73c4 AP_FlashStorage: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
tsubashmail@gmail.com 880e6366bd AP_FlashStorage: port for STM32L4+ processor
Added support for stm32l4+ processor

- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
Tom Pittenger 0eb6f49ed6 AP_FlashStorage: fix spelling 2023-02-14 14:33:01 +00:00
Andrew Tridgell ca45fcbc70 AP_FlashStorage: support L496 MCUs 2021-09-24 18:08:00 +10:00
James Harton be3cc1b679 Docs: Change all references from dev.ardupilot.org to the appropriate documentation URLs. 2021-05-31 12:20:45 +10:00
Andrew Tridgell ec8abf0b2f AP_FlashStorage: support STM32G4
needs to write in multiples of 8 bytes, and can only write if all 1s
2021-03-23 12:01:20 +11:00
Andrew Tridgell b2dc0c8344 AP_FlashStorage: fixed alignment errors 2020-07-10 13:31:27 +10:00
Peter Barker 37cddbeea6 AP_FlashStorage: create and use INTERNAL_ERROR macro so we get line numbers 2020-04-30 13:21:36 +10:00
Andrew Tridgell 6dafa82c7c AP_FlashStorage: fixed build warning 2020-04-19 13:36:24 +10:00
Patrick José Pereira 6672155e24 AP_FlashStorage: Fix test for AP_FLASHSTORAGE_MULTI_WRITE
AP_FLASHSTORAGE_MULTI_WRITE is not defined

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 16:00:39 +10:00
Andrew Tridgell 8e83783b18 AP_FlashStorage: support H7 flash storage
this generalises AP_FlashStorage to support the 32 byte write
restrictions of the STM32H7
2020-04-14 10:02:51 +10:00
Peter Barker 2988c70627 AP_FlashStorage: clarify space-available-for-write check 2020-04-14 10:02:51 +10:00
Peter Barker a2b4713008 AP_FlashStorage: protect against infinite recursion in switch_full_sector 2020-04-12 09:43:13 +10:00
Andrew Tridgell 8792adb6f0 AP_FlashStorage: implement erase() method 2020-01-02 09:52:57 +11:00
Peter Barker 076768e550 AP_FlashStorage: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
Peter Barker f5635a557a AP_FlashStorage: correct format-string warnings 2019-11-05 11:29:08 +11:00
Andrew Tridgell 53fe84e88a AP_FlashStorage: fix for F3 MCUs 2019-11-01 10:53:53 +11:00
Andrew Tridgell 40431100a9 AP_Flashstorage: fixed init bug on F1
we can't mark available just before we mark in use on F1
2019-10-21 19:12:01 +11:00
Andrew Tridgell 01472aa795 AP_FlashStorage: added support for STM32F1xx 2019-08-27 10:29:56 +10:00
Andrew Tridgell d2c9db3f1f AP_FlashStorage: fixed build error with -O0 2019-05-15 15:33:48 +10:00
Andrew Tridgell 6e1e89bb70 AP_FlashStorage: fixed a corruption bug
many thanks to @sh83 for tracking down this bug. When write_all() is
called with non-zero offset in init it ends up calling write with an
invalid offset, triggering a full reset

This fixes issue #10874
2019-03-28 14:33:44 +11:00
Andrew Tridgell 91e5f56242 AP_FlashStorage: fixed a race condition
fixes #7670

thanks to night-ghost for the bug report
2019-01-21 20:59:00 +11:00
Peter Barker 2ed8118cda AP_FlashStorage: adjust example so it does not exit 2018-09-19 22:40:20 -07:00
Andrew Tridgell 985a319c42 AP_FlashStorage: fixed build of example on small memory boards 2018-07-11 10:07:38 +10:00
Andrew Tridgell 14cf54b2f0 AP_FlashStorage: fixed build warning 2018-05-07 11:43:23 +10:00
Andrew Tridgell 1513246040 AP_FlashStorage: fixed two bugs found by night-ghost
this fixes two issues found by night-ghost. The first occurs if a 16
bit flash write is not atomic and only the first byte is written. Then
we could end up declaring the data invalid on reboot and erasing.

The second is a race in switching sectors. If power off occurs at the
wrong time we would trigger en erase on reboot.
2018-02-02 14:19:12 +09:00
Andrew Tridgell 3b5f66fd9f AP_FlashStorage: fixed size of flash storage 2018-01-15 11:46:02 +11:00
Andrew Tridgell 0bfbc4bf72 AP_FlashStorage: added re_initialise() API 2018-01-15 11:46:02 +11:00
Andrew Tridgell bfd137e36a AP_FlashStorage: added erase_ok callback
this allows for simpler operation when application wants to allow
erase while disarmed.
2016-12-02 09:49:40 +11:00
Andrew Tridgell 0e00c3cf9b AP_FlashStorage: reduced sector size for example
allows it to fit in SRAM on PX4
2016-12-02 09:49:40 +11:00
Andrew Tridgell fc21e0f16f AP_FlashStorage: a flash storage driver
this will allow for a storage backend using flash sectors in a log
structure
2016-12-02 09:49:38 +11:00