LoRaWANCH341 Library
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
SPIInterface Class Referenceabstract

Abstract interface for SPI communication. More...

#include <SPIInterface.hpp>

Inheritance diagram for SPIInterface:
Inheritance graph
Collaboration diagram for SPIInterface:
Collaboration graph

Public Types

using InterruptCallback = std::function< void(void)>
 

Public Member Functions

virtual ~SPIInterface ()=default
 
virtual bool open ()=0
 
virtual void close ()=0
 
virtual std::vector< uint8_t > transfer (const std::vector< uint8_t > &write_data, size_t read_length=0)=0
 
virtual bool digitalWrite (uint8_t pin, bool value)=0
 
virtual bool digitalRead (uint8_t pin)=0
 
virtual bool pinMode (uint8_t pin, uint8_t mode)=0
 
virtual bool configureInterrupt (uint8_t pin, bool enable)=0
 
virtual bool setInterruptCallback (InterruptCallback callback)=0
 
virtual bool enableInterrupt (bool enable)=0
 
virtual bool isActive () const =0
 

Static Public Attributes

static constexpr uint8_t INPUT = 0
 
static constexpr uint8_t OUTPUT = 1
 
static constexpr uint8_t INPUT_PULLUP = 2
 

Detailed Description

Abstract interface for SPI communication.

This class defines an abstract interface for SPI communication, including basic methods for managing SPI communication and GPIO controls.

Member Typedef Documentation

◆ InterruptCallback

using SPIInterface::InterruptCallback = std::function<void(void)>

Constructor & Destructor Documentation

◆ ~SPIInterface()

virtual SPIInterface::~SPIInterface ( )
virtualdefault

Member Function Documentation

◆ close()

virtual void SPIInterface::close ( )
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ configureInterrupt()

virtual bool SPIInterface::configureInterrupt ( uint8_t  pin,
bool  enable 
)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ digitalRead()

virtual bool SPIInterface::digitalRead ( uint8_t  pin)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ digitalWrite()

virtual bool SPIInterface::digitalWrite ( uint8_t  pin,
bool  value 
)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ enableInterrupt()

virtual bool SPIInterface::enableInterrupt ( bool  enable)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ isActive()

virtual bool SPIInterface::isActive ( ) const
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ open()

virtual bool SPIInterface::open ( )
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ pinMode()

virtual bool SPIInterface::pinMode ( uint8_t  pin,
uint8_t  mode 
)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ setInterruptCallback()

virtual bool SPIInterface::setInterruptCallback ( InterruptCallback  callback)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

◆ transfer()

virtual std::vector< uint8_t > SPIInterface::transfer ( const std::vector< uint8_t > &  write_data,
size_t  read_length = 0 
)
pure virtual

Implemented in CH341SPI, and LinuxSPI.

Member Data Documentation

◆ INPUT

constexpr uint8_t SPIInterface::INPUT = 0
staticconstexpr

◆ INPUT_PULLUP

constexpr uint8_t SPIInterface::INPUT_PULLUP = 2
staticconstexpr

◆ OUTPUT

constexpr uint8_t SPIInterface::OUTPUT = 1
staticconstexpr

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