arduino-emulator
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
arduino::SPIWrapper Class Reference

SPI wrapper class that provides flexible hardware abstraction. More...

#include <SPIWrapper.h>

Inheritance diagram for arduino::SPIWrapper:
arduino::HardwareSPI

Public Member Functions

 SPIWrapper (HardwareSPI &spi)
 
 SPIWrapper (SPISource &source)
 
void attachInterrupt ()
 
void begin ()
 
void beginTransaction (SPISettings settings)
 
void detachInterrupt ()
 
void end ()
 
void endTransaction (void)
 
void notUsingInterrupt (int interruptNumber)
 
void setSource (SPISource *source)
 alternatively defines a class that provides the SPI implementation
 
void setSPI (HardwareSPI *spi)
 defines the spi implementation: use nullptr to reset.
 
uint8_t transfer (uint8_t data)
 
void transfer (void *data, size_t count)
 
uint16_t transfer16 (uint16_t data)
 
void usingInterrupt (int interruptNumber)
 

Protected Member Functions

HardwareSPIgetSPI ()
 

Protected Attributes

SPISourcep_source = nullptr
 
HardwareSPIp_spi = nullptr
 

Detailed Description

SPI wrapper class that provides flexible hardware abstraction.

SPIWrapper is a concrete implementation of the HardwareSPI interface that supports multiple delegation patterns for SPI communication. It can delegate operations to:

This class implements the complete SPI interface including:

The wrapper automatically handles null safety and provides appropriate default return values when no underlying SPI implementation is available. It supports both polling and interrupt-driven SPI operations.

A global SPI instance is automatically provided for Arduino compatibility.

See also
HardwareSPI
SPISource
SPISettings

Member Function Documentation

◆ attachInterrupt()

void arduino::SPIWrapper::attachInterrupt ( )
virtual

Implements arduino::HardwareSPI.

◆ begin()

void arduino::SPIWrapper::begin ( )
virtual

Implements arduino::HardwareSPI.

◆ beginTransaction()

void arduino::SPIWrapper::beginTransaction ( SPISettings  settings)
virtual

Implements arduino::HardwareSPI.

◆ detachInterrupt()

void arduino::SPIWrapper::detachInterrupt ( )
virtual

Implements arduino::HardwareSPI.

◆ end()

void arduino::SPIWrapper::end ( )
virtual

Implements arduino::HardwareSPI.

◆ endTransaction()

void arduino::SPIWrapper::endTransaction ( void  )
virtual

Implements arduino::HardwareSPI.

◆ notUsingInterrupt()

void arduino::SPIWrapper::notUsingInterrupt ( int  interruptNumber)
virtual

Implements arduino::HardwareSPI.

◆ transfer() [1/2]

uint8_t arduino::SPIWrapper::transfer ( uint8_t  data)
virtual

Implements arduino::HardwareSPI.

◆ transfer() [2/2]

void arduino::SPIWrapper::transfer ( void data,
size_t  count 
)
virtual

Implements arduino::HardwareSPI.

◆ transfer16()

uint16_t arduino::SPIWrapper::transfer16 ( uint16_t  data)
virtual

Implements arduino::HardwareSPI.

◆ usingInterrupt()

void arduino::SPIWrapper::usingInterrupt ( int  interruptNumber)
virtual

Implements arduino::HardwareSPI.


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