8#ifndef FLASH_HELPERS_H_
9#define FLASH_HELPERS_H_
16#ifdef USE_EEPROM_EMULATION
29bool Flash_Read(uint16_t
adr,uint16_t *buf,
bool checkempty =
true);
31void Flash_Dump(std::vector<std::tuple<uint16_t,uint16_t>> *result,
bool includeAll =
false);
34bool OTP_Write(uint16_t adroffset,uint64_t dat);
35bool OTP_Read(uint16_t adroffset,uint64_t* dat);
38template<
typename TVal>
47inline uint16_t
pack(uint8_t hb, uint8_t lb) {
48 return (hb << 8) | lb;
51inline std::tuple<uint8_t, uint8_t>
unpack(uint16_t v) {
52 return { v >> 8, v & 0xFF };
55#if defined(I2C_PORT_EEPROM)
57#define I2C_EEPROM_TIMEOUT 100
uint16_t pack(uint8_t hb, uint8_t lb)
TVal Flash_ReadDefault(uint16_t adr, TVal def)
void Flash_Dump(std::vector< std::tuple< uint16_t, uint16_t > > *result, bool includeAll=false)
std::tuple< uint8_t, uint8_t > unpack(uint16_t v)
bool Flash_Write(uint16_t adr, uint16_t dat)
bool OTP_Read(uint16_t adroffset, uint64_t *dat)
bool Flash_ReadWriteDefault(uint16_t adr, uint16_t *buf, uint16_t def)
bool Flash_Read(uint16_t adr, uint16_t *buf, bool checkempty=true)
bool OTP_Write(uint16_t adroffset, uint64_t dat)