/****************************************************************************************************************************************** FlashStorage_STM32.h For STM32 using Flash emulated-EEPROM The FlashStorage_STM32 library aims to provide a convenient way to store and retrieve user's data using the non-volatile flash memory of STM32F/L/H/G/WB/MP1. It's using the buffered read and write to minimize the access to Flash. It now supports writing and reading the whole object, not just byte-and-byte. Inspired by Cristian Maglie's FlashStorage (https://github.com/cmaglie/FlashStorage) Built by Khoi Hoang https://github.com/khoih-prog/FlashStorage_STM32 Licensed under MIT license Version: 1.2.0 Version Modified By Date Comments ------- ----------- ---------- ----------- 1.0.0 K Hoang 26/01/2021 Initial coding to support STM32F/L/H/G/WB/MP1 using emulated-EEPROM 1.0.1 K Hoang 23/02/2021 Fix compiler warnings. 1.1.0 K Hoang 26/04/2021 Add support to new STM32 core v2.0.0 and new STM32L5 boards. 1.2.0 K Hoang 25/01/2022 Fix `multiple-definitions` linker error ******************************************************************************************************************************************/ // The .hpp contains only definitions, and can be included as many times as necessary, without `Multiple Definitions` Linker Error // The .h contains implementations, and can be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error #pragma once #ifndef FlashStorage_STM32_h #define FlashStorage_STM32_h #if !( defined(STM32F0) || defined(STM32F1) || defined(STM32F2) || defined(STM32F3) ||defined(STM32F4) || defined(STM32F7) || \ defined(STM32L0) || defined(STM32L1) || defined(STM32L4) || defined(STM32H7) ||defined(STM32G0) || defined(STM32G4) || \ defined(STM32WB) || defined(STM32MP1) || defined(STM32L5) ) #error This code is intended to run on STM32F/L/H/G/WB/MP1 platform! Please check your Tools->Board setting. #endif #include "FlashStorage_STM32.hpp" #include "utility/stm32_eeprom.hpp" #include "utility/stm32_eeprom_Impl.h" #endif //#ifndef FlashAsEEPROM_SAMD_h