REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches

#include <EEPROM25AA02.h>

Inheritance diagram for functions::EEPROM25AA02:
Collaboration diagram for functions::EEPROM25AA02:

Classes

class  Status
 

Public Member Functions

 EEPROM25AA02 (bus::addr_t address, uint8_t alt_function_idx)
 
Status read_status_register () const
 
bool write_status_register (const Status status) const
 
size_t read (size_t address, size_t length, uint8_t *buffer) const
 Reads the specified number of bytes starting at address into the specified buffer. Returns number of read bytes on success, 0 on failure.
 
bool read8 (size_t address, uint8_t *data_out) const
 Reads one byte at the specified address into the provided pointer. Returns 0 on failure.
 
bool read16 (size_t address, uint16_t *data_out) const
 Reads two bytes starting at the specified address into the provided pointer. Returns 0 on failure.
 
bool read32 (size_t address, uint32_t *data_out) const
 Reads four bytes starting at the specified address into the provided pointer. Returns 0 on failure.
 
size_t write (size_t address, size_t length, const uint8_t *buffer) const
 Writes the specified number of bytes starting at address into the specified buffer. Returns number of written bytes on success, 0 on failure.
 
bool write8 (size_t address, uint8_t data) const
 Writes one byte at the specified address Returns 0 on failure.
 
bool write16 (size_t address, uint16_t data) const
 Writes two bytes starting at the specified address Returns 0 on failure.
 
bool write32 (size_t address, uint32_t data) const
 Writes four bytes starting at the specified address Returns 0 on failure.
 
- Public Member Functions inherited from functions::DataFunction
 DataFunction (bus::addr_t address, uint8_t alt_function_idx, const SPISettings &spiSettings)
 
void begin_communication () const
 
void end_communication () const
 
void transfer (const void *mosi_buf, void *miso_buf, size_t count) const
 
uint8_t transfer8 (uint8_t data_in) const
 
uint16_t transfer16 (uint16_t data_in) const
 
uint32_t transfer32 (uint32_t data_in) const
 
- Public Member Functions inherited from functions::Function
 Function (bus::addr_t address)
 

Static Public Attributes

static const SPISettings DEFAULT_SPI_SETTINGS {4'000'000, MSBFIRST, SPI_MODE0}
 
static constexpr uint8_t ADDRESS_UUID = 0xF8
 

Protected Member Functions

void set_write_enable () const
 
void unset_write_enable () const
 
bool await_write_complete () const
 

Static Protected Member Functions

static constexpr bool _is_address_valid (size_t address)
 
- Static Protected Member Functions inherited from functions::DataFunction
static SPIClass & get_raw_spi ()
 

Static Protected Attributes

static constexpr uint8_t COMMAND_READ = 0b0000'0011
 
static constexpr uint8_t COMMAND_READ_STATUS_REGISTER = 0b0000'0101
 
static constexpr uint8_t COMMAND_WRITE = 0b0000'0010
 
static constexpr uint8_t COMMAND_WRITE_STATUS_REGISTER = 0b0000'0001
 
static constexpr uint8_t COMMAND_WRITE_ENABLE = 0b0000'0110
 
static constexpr uint8_t COMMAND_WRITE_DISABLE = 0b0000'0100
 
static constexpr uint8_t ADRESS_MASK = 0x0f
 
static constexpr size_t MAX_ADDRESS = 255
 

Additional Inherited Members

- Public Attributes inherited from functions::DataFunction
const SPISettings & spi_settings
 
- Public Attributes inherited from functions::Function
const bus::addr_t address
 
- Protected Attributes inherited from functions::DataFunction
bus::addr_t alt_function_address
 
bool use_csel = false
 

Detailed Description

Definition at line 13 of file EEPROM25AA02.h.

Constructor & Destructor Documentation

◆ EEPROM25AA02()

functions::EEPROM25AA02::EEPROM25AA02 ( bus::addr_t address,
uint8_t alt_function_idx )
inlineexplicit

Member Function Documentation

◆ _is_address_valid()

static constexpr bool functions::EEPROM25AA02::_is_address_valid ( size_t address)
inlinestaticconstexprprotected

Definition at line 26 of file EEPROM25AA02.h.

References functions::Function::address, and MAX_ADDRESS.

Referenced by read(), and write().

◆ await_write_complete()

bool functions::EEPROM25AA02::await_write_complete ( ) const
protected

Definition at line 166 of file EEPROM25AA02.cpp.

References read_status_register().

Referenced by write(), write8(), and write_status_register().

◆ read()

size_t functions::EEPROM25AA02::read ( size_t address,
size_t length,
uint8_t * buffer ) const

Reads the specified number of bytes starting at address into the specified buffer. Returns number of read bytes on success, 0 on failure.

Definition at line 23 of file EEPROM25AA02.cpp.

References _is_address_valid(), functions::Function::address, functions::DataFunction::begin_communication(), COMMAND_READ, functions::DataFunction::end_communication(), and functions::DataFunction::get_raw_spi().

Referenced by read16(), read32(), read8(), metadata::MetadataEditor::read_entity_classifier(), metadata::MetadataEditor::read_eui(), and write().

◆ read16()

bool functions::EEPROM25AA02::read16 ( size_t address,
uint16_t * data_out ) const

Reads two bytes starting at the specified address into the provided pointer. Returns 0 on failure.

Definition at line 48 of file EEPROM25AA02.cpp.

References functions::Function::address, and read().

◆ read32()

bool functions::EEPROM25AA02::read32 ( size_t address,
uint32_t * data_out ) const

Reads four bytes starting at the specified address into the provided pointer. Returns 0 on failure.

Definition at line 52 of file EEPROM25AA02.cpp.

References functions::Function::address, read(), and uint32_t.

◆ read8()

bool functions::EEPROM25AA02::read8 ( size_t address,
uint8_t * data_out ) const

Reads one byte at the specified address into the provided pointer. Returns 0 on failure.

Definition at line 44 of file EEPROM25AA02.cpp.

References functions::Function::address, and read().

Referenced by write8().

◆ read_status_register()

◆ set_write_enable()

void functions::EEPROM25AA02::set_write_enable ( ) const
protected

◆ unset_write_enable()

void functions::EEPROM25AA02::unset_write_enable ( ) const
protected

Definition at line 16 of file EEPROM25AA02.cpp.

References COMMAND_WRITE_DISABLE, and functions::DataFunction::transfer8().

◆ write()

size_t functions::EEPROM25AA02::write ( size_t address,
size_t length,
const uint8_t * buffer ) const

◆ write16()

bool functions::EEPROM25AA02::write16 ( size_t address,
uint16_t data ) const

Writes two bytes starting at the specified address Returns 0 on failure.

Definition at line 145 of file EEPROM25AA02.cpp.

References functions::Function::address, and write().

◆ write32()

bool functions::EEPROM25AA02::write32 ( size_t address,
uint32_t data ) const

Writes four bytes starting at the specified address Returns 0 on failure.

Definition at line 151 of file EEPROM25AA02.cpp.

References functions::Function::address, uint32_t, and write().

◆ write8()

bool functions::EEPROM25AA02::write8 ( size_t address,
uint8_t data ) const

◆ write_status_register()

Member Data Documentation

◆ ADDRESS_UUID

uint8_t functions::EEPROM25AA02::ADDRESS_UUID = 0xF8
staticconstexpr

Definition at line 30 of file EEPROM25AA02.h.

◆ ADRESS_MASK

uint8_t functions::EEPROM25AA02::ADRESS_MASK = 0x0f
staticconstexprprotected

Definition at line 22 of file EEPROM25AA02.h.

Referenced by write().

◆ COMMAND_READ

uint8_t functions::EEPROM25AA02::COMMAND_READ = 0b0000'0011
staticconstexprprotected

Definition at line 15 of file EEPROM25AA02.h.

Referenced by read().

◆ COMMAND_READ_STATUS_REGISTER

uint8_t functions::EEPROM25AA02::COMMAND_READ_STATUS_REGISTER = 0b0000'0101
staticconstexprprotected

Definition at line 16 of file EEPROM25AA02.h.

Referenced by read_status_register().

◆ COMMAND_WRITE

uint8_t functions::EEPROM25AA02::COMMAND_WRITE = 0b0000'0010
staticconstexprprotected

Definition at line 17 of file EEPROM25AA02.h.

Referenced by write(), and write8().

◆ COMMAND_WRITE_DISABLE

uint8_t functions::EEPROM25AA02::COMMAND_WRITE_DISABLE = 0b0000'0100
staticconstexprprotected

Definition at line 20 of file EEPROM25AA02.h.

Referenced by unset_write_enable().

◆ COMMAND_WRITE_ENABLE

uint8_t functions::EEPROM25AA02::COMMAND_WRITE_ENABLE = 0b0000'0110
staticconstexprprotected

Definition at line 19 of file EEPROM25AA02.h.

Referenced by set_write_enable().

◆ COMMAND_WRITE_STATUS_REGISTER

uint8_t functions::EEPROM25AA02::COMMAND_WRITE_STATUS_REGISTER = 0b0000'0001
staticconstexprprotected

Definition at line 18 of file EEPROM25AA02.h.

Referenced by write_status_register().

◆ DEFAULT_SPI_SETTINGS

const SPISettings functions::EEPROM25AA02::DEFAULT_SPI_SETTINGS {4'000'000, MSBFIRST, SPI_MODE0}
static

Definition at line 8 of file EEPROM25AA02.h.

Referenced by EEPROM25AA02().

◆ MAX_ADDRESS

size_t functions::EEPROM25AA02::MAX_ADDRESS = 255
staticconstexprprotected

Definition at line 24 of file EEPROM25AA02.h.

Referenced by _is_address_valid().


The documentation for this class was generated from the following files: