REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
metadata::MetadataMemory< dataSize > Class Template Referenceabstract

The abstract metadata memory class allows to represent different EEPROM sizes, for instance does the 25AA02E64 hold 256 bytes while 25AA02E32 holds only 128 bytes. More...

#include <metadata.h>

Inheritance diagram for metadata::MetadataMemory< dataSize >:
Collaboration diagram for metadata::MetadataMemory< dataSize >:

Public Member Functions

 MetadataMemory (const unsigned short address, const SPISettings &spi_settings)
 
virtual size_t read_from_hardware (size_t byte_offset, size_t length, uint8_t *buffer) const =0
 
size_t read_from_hardware ()
 
template<class Layout_ >
const Layout_ & as () const
 
- 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)
 

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 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 inherited from functions::DataFunction
static SPIClass & get_raw_spi ()
 

Detailed Description

template<std::size_t dataSize>
class metadata::MetadataMemory< dataSize >

The abstract metadata memory class allows to represent different EEPROM sizes, for instance does the 25AA02E64 hold 256 bytes while 25AA02E32 holds only 128 bytes.

However, the extension rather looks into bigger then smaller EEPROMs.

Definition at line 20 of file metadata.h.

Constructor & Destructor Documentation

◆ MetadataMemory()

template<std::size_t dataSize>
metadata::MetadataMemory< dataSize >::MetadataMemory ( const unsigned short address,
const SPISettings & spi_settings )
inlineexplicit

Definition at line 25 of file metadata.h.

Member Function Documentation

◆ as()

template<std::size_t dataSize>
template<class Layout_ >
const Layout_ & metadata::MetadataMemory< dataSize >::as ( ) const
inline

Definition at line 32 of file metadata.h.

◆ read_from_hardware() [1/2]

template<std::size_t dataSize>
size_t metadata::MetadataMemory< dataSize >::read_from_hardware ( )
inline

◆ read_from_hardware() [2/2]

template<std::size_t dataSize>
virtual size_t metadata::MetadataMemory< dataSize >::read_from_hardware ( size_t byte_offset,
size_t length,
uint8_t * buffer ) const
pure virtual

Implemented in MetadataMemory74LVC138AD.


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