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)
 
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, const SPISettings &spiSettings)
 
void begin_communication () const
 
void end_communication () 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
 
- Protected Member Functions inherited from functions::DataFunction
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
 

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
 

Detailed Description

Definition at line 13 of file EEPROM25AA02.h.

Constructor & Destructor Documentation

◆ EEPROM25AA02()

functions::EEPROM25AA02::EEPROM25AA02 ( bus::addr_t address)
inlineexplicit

Definition at line 73 of file EEPROM25AA02.h.

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.

◆ await_write_complete()

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

Definition at line 166 of file EEPROM25AA02.cpp.

◆ 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.

Referenced by metadata::MetadataEditor::read_entity_classifier(), and metadata::MetadataEditor::read_eui().

◆ 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.

◆ 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.

◆ 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.

◆ read_status_register()

functions::EEPROM25AA02::Status functions::EEPROM25AA02::read_status_register ( ) const

Definition at line 157 of file EEPROM25AA02.cpp.

◆ set_write_enable()

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

Definition at line 10 of file EEPROM25AA02.cpp.

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

◆ unset_write_enable()

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

Definition at line 16 of file EEPROM25AA02.cpp.

◆ write()

size_t functions::EEPROM25AA02::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.

Definition at line 56 of file EEPROM25AA02.cpp.

Referenced by metadata::MetadataEditor::write_entity_classifier().

◆ 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.

◆ 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 uint32_t.

◆ write8()

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

Writes one byte at the specified address Returns 0 on failure.

Definition at line 117 of file EEPROM25AA02.cpp.

◆ write_status_register()

bool functions::EEPROM25AA02::write_status_register ( const Status status) const

Definition at line 178 of file EEPROM25AA02.cpp.

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.

◆ COMMAND_READ

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

Definition at line 15 of file EEPROM25AA02.h.

◆ COMMAND_READ_STATUS_REGISTER

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

Definition at line 16 of file EEPROM25AA02.h.

◆ COMMAND_WRITE

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

Definition at line 17 of file EEPROM25AA02.h.

◆ COMMAND_WRITE_DISABLE

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

Definition at line 20 of file EEPROM25AA02.h.

◆ 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.

◆ 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.

◆ 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: