Open FFBoard
Open source force feedback firmware
Loading...
Searching...
No Matches
flash_helpers.cpp File Reference

Go to the source code of this file.

Functions

bool Flash_Format ()
 
__weak bool Flash_Init ()
 
bool Flash_Write (uint16_t adr, uint16_t dat)
 
bool Flash_Read (uint16_t adr, uint16_t *buf, bool checkempty)
 
bool Flash_ReadWriteDefault (uint16_t adr, uint16_t *buf, uint16_t def)
 
bool I2C_EEPROM_Write16 (uint16_t devAdr, uint16_t adr, uint16_t dat)
 
bool I2C_EEPROM_Read16 (uint16_t devAdr, uint16_t adr, uint16_t *buf, bool checkempty)
 
__weak bool Flash_Read (uint16_t adr, uint16_t *buf)
 
void Flash_Dump (std::vector< std::tuple< uint16_t, uint16_t > > *result, bool includeAll)
 
__weak bool OTP_Write (uint16_t adroffset, uint64_t dat)
 
__weak bool OTP_Read (uint16_t adroffset, uint64_t *dat)
 
void Flash_Write_Defaults ()
 

Variables

cpp_freertos::MutexStandard flashMutex
 
uint8_t i2cBufferEeprom [sizeof(uint16_t)] = {0}
 
I2CDevice i2cdeveeprom
 
I2CPort i2cport_int
 
const std::array< const std::pair< uint16_t, uint16_t >, 0 > empty_flash_defaults
 
const std::span< const std::pair< uint16_t, uint16_t > > flash_factory_defaults = empty_flash_defaults
 

Function Documentation

◆ Flash_Dump()

void Flash_Dump ( std::vector< std::tuple< uint16_t, uint16_t > > * result,
bool includeAll )

Definition at line 250 of file flash_helpers.cpp.

◆ Flash_Format()

bool Flash_Format ( )

Formats the eeprom emulation section to delete all data

Erases the whole EEPROM to its default value

Definition at line 24 of file flash_helpers.cpp.

◆ Flash_Init()

__weak bool Flash_Init ( )

Called after startup

Definition at line 33 of file flash_helpers.cpp.

◆ Flash_Read() [1/2]

__weak bool Flash_Read ( uint16_t adr,
uint16_t * buf )

Definition at line 236 of file flash_helpers.cpp.

◆ Flash_Read() [2/2]

bool Flash_Read ( uint16_t adr,
uint16_t * buf,
bool checkempty )

Reads a value and if checkempty is true returns false if the read value is the erased value (0xffff) or not found

Definition at line 79 of file flash_helpers.cpp.

◆ Flash_ReadWriteDefault()

bool Flash_ReadWriteDefault ( uint16_t adr,
uint16_t * buf,
uint16_t def )

Definition at line 89 of file flash_helpers.cpp.

◆ Flash_Write()

bool Flash_Write ( uint16_t adr,
uint16_t dat )

Definition at line 51 of file flash_helpers.cpp.

◆ Flash_Write_Defaults()

void Flash_Write_Defaults ( )

Writes factory default values to flash. Does nothing if no defaults are defined

Definition at line 362 of file flash_helpers.cpp.

◆ I2C_EEPROM_Read16()

bool I2C_EEPROM_Read16 ( uint16_t devAdr,
uint16_t adr,
uint16_t * buf,
bool checkempty )

Helper function to read 16b data from i2c eeproms with different block sizes

Definition at line 155 of file flash_helpers.cpp.

◆ I2C_EEPROM_Write16()

bool I2C_EEPROM_Write16 ( uint16_t devAdr,
uint16_t adr,
uint16_t dat )

Helper function to write 16b data to i2c eeproms with different block sizes

Definition at line 119 of file flash_helpers.cpp.

◆ OTP_Read()

__weak bool OTP_Read ( uint16_t adroffset,
uint64_t * dat )

Definition at line 300 of file flash_helpers.cpp.

◆ OTP_Write()

__weak bool OTP_Write ( uint16_t adroffset,
uint64_t dat )

Definition at line 280 of file flash_helpers.cpp.

Variable Documentation

◆ empty_flash_defaults

const std::array<const std::pair<uint16_t,uint16_t>,0> empty_flash_defaults

To define factory defaults create a span/array in a core folder defined for example as const auto flash_defaults = std::to_array<const std::pair<uint16_t,uint16_t>>({ {ADR_CURRENT_CONFIG,1} }); // ADR,VALUE pairs const std::span<const std::pair<uint16_t,uint16_t>> flash_factory_defaults = flash_defaults;

Definition at line 355 of file flash_helpers.cpp.

◆ flash_factory_defaults

const std::span<const std::pair<uint16_t,uint16_t> > flash_factory_defaults = empty_flash_defaults

Definition at line 356 of file flash_helpers.cpp.

◆ flashMutex

Definition at line 13 of file flash_helpers.cpp.

◆ i2cBufferEeprom

uint8_t i2cBufferEeprom[sizeof(uint16_t)] = {0}

Definition at line 108 of file flash_helpers.cpp.

◆ i2cdeveeprom

I2CDevice i2cdeveeprom

Definition at line 113 of file flash_helpers.cpp.

◆ i2cport_int

I2CPort i2cport_int
extern