22 #ifndef UEEPROMLIB_WIRE
23 #if defined(ARDUINO_attiny) || defined(ARDUINO_AVR_ATTINYX4) || defined(ARDUINO_AVR_ATTINYX5) || defined(ARDUINO_AVR_ATTINYX7) || defined(ARDUINO_AVR_ATTINYX8) || defined(ARDUINO_AVR_ATTINYX61) || defined(ARDUINO_AVR_ATTINY43) || defined(ARDUINO_AVR_ATTINY828) || defined(ARDUINO_AVR_ATTINY1634) || defined(ARDUINO_AVR_ATTINYX313)
24 #include <TinyWireM.h>
25 #define UEEPROMLIB_WIRE TinyWireM
28 #define UEEPROMLIB_WIRE Wire
37 #define UEEPROMLIB_ADDRESS 0x57
40 #if ARDUINO_ARCH_ESP8266
46 #define uEEPROMLIB_YIELD yield();
48 #if ARDUINO_ARCH_ESP32
54 #define uEEPROMLIB_YIELD yield();
56 #define uEEPROMLIB_YIELD
64 #define uEEPROMLIB_WIRE_DELAY 6
69 #define uEEPROMLIB_WIRE_SHORT_DELAY 1
76 #define UEEPROMLIB_WIRE_MAX_RBUFFER (BUFFER_LENGTH - 2)
81 #define UEEPROMLIB_WIRE_MAX_RBUFFER 32
83 #define UEEPROMLIB_WIRE_MAX_WBUFFER (UEEPROMLIB_WIRE_MAX_RBUFFER - 2)
96 bool eeprom_read(
const unsigned int,
byte *,
unsigned int);
97 template <
typename TR>
void eeprom_read(
const unsigned int, TR *);
101 bool eeprom_write(
const unsigned int,
void *,
const unsigned int);
104 template <
typename TW>
bool eeprom_write(
const unsigned int,
const TW);
112 bool _eeprom_read_sub(
const unsigned int,
byte *,
const uint8_t);
113 bool _eeprom_write_sub(
const unsigned int,
byte *,
const uint8_t);
119 byte _eeprom_read(
const unsigned int);
120 bool _eeprom_write(
const unsigned int,
const byte);
123 #define uEEPROMLIB_STM32_INIT_FIX() { if (!init) { init = true; _eeprom_read(0); delay(10); } }
145 return eeprom_write(address, (
void *) &data,
sizeof(TW));
I2C EEPROM library. Split from uRTCLib.
Definition: uEEPROMLib.h:86
uEEPROMLib()
Constructor.
Definition: uEEPROMLib.cpp:28
bool eeprom_write(const unsigned int, void *, const unsigned int)
Write sequence of n bytes.
Definition: uEEPROMLib.cpp:239
uint8_t page_size
: EEPROM page size control
Definition: uEEPROMLib.h:109
bool eeprom_read(const unsigned int, byte *, unsigned int)
Read sequence of n bytes.
Definition: uEEPROMLib.cpp:112
void set_address(const uint8_t)
Sets EEPROM i2c addres.
Definition: uEEPROMLib.cpp:71
#define UEEPROMLIB_ADDRESS
Default EEPROM address.
Definition: uEEPROMLib.h:37