11#include " elrs_eeprom.h"
22#include " logging.h"
3-
4- #if defined(PLATFORM_STM32)
5- #if TARGET_USE_EEPROM && \
6- defined (GPIO_PIN_SDA) && (GPIO_PIN_SDA != UNDEF_PIN) && \
7- defined(GPIO_PIN_SCL) && (GPIO_PIN_SCL != UNDEF_PIN)
8- #if !defined (TARGET_EEPROM_ADDR)
9- #define TARGET_EEPROM_ADDR 0x51
10- #warning "!! Using default EEPROM address (0x51) !!"
11- #endif
12-
13- #include < Wire.h>
14- #include < extEEPROM.h>
15- extEEPROM EEPROM (kbits_2, 1 , 1 , TARGET_EEPROM_ADDR);
16- #else
17- #define STM32_USE_FLASH 1
18- #include < stm32_eeprom.h>
19- #endif
20- #else
21- #include < EEPROM.h>
22- #endif
3+ #include < EEPROM.h>
234
245void
256ELRS_EEPROM::Begin ()
267{
27- #if defined(PLATFORM_STM32)
28- #if STM32_USE_FLASH
29- eeprom_buffer_fill ();
30- #else // !STM32_USE_FLASH
31- /* Initialize I2C */
32- Wire.setSDA (GPIO_PIN_SDA);
33- Wire.setSCL (GPIO_PIN_SCL);
34- Wire.begin ();
35- /* Initialize EEPROM */
36- EEPROM.begin (extEEPROM::twiClock100kHz, &Wire);
37- #endif // STM32_USE_FLASH
38- #else /* !PLATFORM_STM32 */
398 EEPROM.begin (RESERVED_EEPROM_SIZE);
40- #endif /* PLATFORM_STM32 */
419}
4210
4311uint8_t
@@ -49,11 +17,7 @@ ELRS_EEPROM::ReadByte(const uint32_t address)
4917 ERRLN (" EEPROM address is out of bounds" );
5018 return 0 ;
5119 }
52- #if STM32_USE_FLASH
53- return eeprom_buffered_read_byte (address);
54- #else
5520 return EEPROM.read (address);
56- #endif
5721}
5822
5923void
@@ -65,22 +29,14 @@ ELRS_EEPROM::WriteByte(const uint32_t address, const uint8_t value)
6529 ERRLN (" EEPROM address is out of bounds" );
6630 return ;
6731 }
68- #if STM32_USE_FLASH
69- eeprom_buffered_write_byte (address, value);
70- #else
7132 EEPROM.write (address, value);
72- #endif
7333}
7434
7535void
7636ELRS_EEPROM::Commit ()
7737{
78- #if defined(PLATFORM_ESP32) || defined(PLATFORM_ESP8266)
7938 if (!EEPROM.commit ())
8039 {
8140 ERRLN (" EEPROM commit failed" );
8241 }
83- #elif STM32_USE_FLASH
84- eeprom_buffer_flush ();
85- #endif
8642}
0 commit comments