HSPI::MemoryDevice Class Referenceabstract

Base class for read/write addressable devices. More...

#include <MemoryDevice.h>

Inheritance diagram for HSPI::MemoryDevice:
[legend]
Collaboration diagram for HSPI::MemoryDevice:
[legend]

Public Member Functions

void write (uint32_t address, const void *data, size_t len)
 Write a block of data. More...
 
void write (Request &req, uint32_t address, const void *data, size_t len, Callback callback=nullptr, void *param=nullptr)
 
void write8 (uint32_t address, uint8_t value)
 
void write8 (Request &req, uint32_t address, uint8_t value, Callback callback=nullptr, void *param=nullptr)
 
void write16 (uint32_t address, uint16_t value)
 
void write16 (Request &req, uint32_t address, uint16_t value, Callback callback=nullptr, void *param=nullptr)
 
void write32 (uint32_t address, uint32_t value)
 
void write32 (Request &req, uint32_t address, uint32_t value, Callback callback=nullptr, void *param=nullptr)
 
void writeWord (Request &req, uint32_t address, uint32_t value, unsigned byteCount)
 
void read (uint32_t address, void *buffer, size_t len)
 Read a block of data. More...
 
uint8_t read8 (uint32_t address)
 
uint16_t read16 (uint32_t address)
 
uint32_t read32 (uint32_t address)
 
uint32_t readWord (uint32_t address, unsigned byteCount)
 
void read (Request &req, uint32_t address, void *buffer, size_t len, Callback callback=nullptr, void *param=nullptr)
 
Prepare a write request
virtual size_t getSize () const =0
 
virtual void prepareWrite (HSPI::Request &req, uint32_t address)=0
 
void prepareWrite (HSPI::Request &req, uint32_t address, const void *data, size_t len)
 
Prepare a read request
virtual void prepareRead (HSPI::Request &req, uint32_t address)=0
 
void prepareRead (HSPI::Request &req, uint32_t address, void *buffer, size_t len)
 
- Public Member Functions inherited from HSPI::Device
 Device (Controller &controller)
 
virtual ~Device ()
 
bool begin (PinSet pinSet, uint8_t chipSelect)
 
void end ()
 
bool isReady () const
 Determine if the device is initialised. More...
 
PinSet getPinSet () const
 
uint8_t getChipSelect () const
 
void setSpeed (uint32_t frequency)
 Set maximum operating speed for device. More...
 
uint32_t getSpeed ()
 
void setBitOrder (BitOrder bitOrder)
 
BitOrder getBitOrder ()
 
void setClockMode (ClockMode mode)
 
ClockMode getClockMode () const
 
virtual IoModes getSupportedIoModes () const =0
 
bool isSupported (IoMode mode) const
 
virtual bool setIoMode (IoMode mode)
 
IoMode getIoMode () const
 
size_t getBitsPerClock () const
 
void execute (Request &request)
 

Additional Inherited Members

- Public Attributes inherited from HSPI::Device
Controllercontroller
 
- Protected Member Functions inherited from HSPI::Device
void transferComplete (Request &request)
 
- Protected Attributes inherited from HSPI::Device
friend Controller
 

Detailed Description

Base class for read/write addressable devices.

Member Function Documentation

◆ getSize()

virtual size_t HSPI::MemoryDevice::getSize ( ) const
pure virtual

Implemented in HSPI::RAM::IS62_65, and HSPI::RAM::PSRAM64.

◆ prepareRead() [1/2]

virtual void HSPI::MemoryDevice::prepareRead ( HSPI::Request req,
uint32_t  address 
)
pure virtual
Parameters
req
address

Implemented in HSPI::RAM::IS62_65, and HSPI::RAM::PSRAM64.

◆ prepareRead() [2/2]

void HSPI::MemoryDevice::prepareRead ( HSPI::Request req,
uint32_t  address,
void *  buffer,
size_t  len 
)
inline
Parameters
req
address
data
len

◆ prepareWrite() [1/2]

virtual void HSPI::MemoryDevice::prepareWrite ( HSPI::Request req,
uint32_t  address 
)
pure virtual
Parameters
request
address

Implemented in HSPI::RAM::IS62_65, and HSPI::RAM::PSRAM64.

◆ prepareWrite() [2/2]

void HSPI::MemoryDevice::prepareWrite ( HSPI::Request req,
uint32_t  address,
const void *  data,
size_t  len 
)
inline
Parameters
request
address
data
len

◆ read() [1/2]

void HSPI::MemoryDevice::read ( uint32_t  address,
void *  buffer,
size_t  len 
)
inline

Read a block of data.

Parameters
address
data
len
Note
Limited by current operating mode

◆ read() [2/2]

void HSPI::MemoryDevice::read ( Request req,
uint32_t  address,
void *  buffer,
size_t  len,
Callback  callback = nullptr,
void *  param = nullptr 
)
inline

◆ read16()

uint16_t HSPI::MemoryDevice::read16 ( uint32_t  address)
inline

◆ read32()

uint32_t HSPI::MemoryDevice::read32 ( uint32_t  address)
inline

◆ read8()

uint8_t HSPI::MemoryDevice::read8 ( uint32_t  address)
inline

◆ readWord()

uint32_t HSPI::MemoryDevice::readWord ( uint32_t  address,
unsigned  byteCount 
)
inline

◆ write() [1/2]

void HSPI::MemoryDevice::write ( uint32_t  address,
const void *  data,
size_t  len 
)
inline

Write a block of data.

Parameters
address
data
len
Note
Limited by current operating mode

◆ write() [2/2]

void HSPI::MemoryDevice::write ( Request req,
uint32_t  address,
const void *  data,
size_t  len,
Callback  callback = nullptr,
void *  param = nullptr 
)
inline

◆ write16() [1/2]

void HSPI::MemoryDevice::write16 ( uint32_t  address,
uint16_t  value 
)
inline

◆ write16() [2/2]

void HSPI::MemoryDevice::write16 ( Request req,
uint32_t  address,
uint16_t  value,
Callback  callback = nullptr,
void *  param = nullptr 
)
inline

◆ write32() [1/2]

void HSPI::MemoryDevice::write32 ( uint32_t  address,
uint32_t  value 
)
inline

◆ write32() [2/2]

void HSPI::MemoryDevice::write32 ( Request req,
uint32_t  address,
uint32_t  value,
Callback  callback = nullptr,
void *  param = nullptr 
)
inline

◆ write8() [1/2]

void HSPI::MemoryDevice::write8 ( uint32_t  address,
uint8_t  value 
)
inline

◆ write8() [2/2]

void HSPI::MemoryDevice::write8 ( Request req,
uint32_t  address,
uint8_t  value,
Callback  callback = nullptr,
void *  param = nullptr 
)
inline

◆ writeWord()

void HSPI::MemoryDevice::writeWord ( Request req,
uint32_t  address,
uint32_t  value,
unsigned  byteCount 
)
inline

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