atMETEO
An ATmega based weather station
Files | Classes

Wrapper for accessing built-in SPI communication interface. More...

Collaboration diagram for SPI module:

Files

file  spi.h
 Wrapper for accessing built-in SPI communication interface.
 

Classes

class  Avr::Spi< TCsDigitalIo, csPinNumber >
 A C++ wrapper for accessing the built-in SPI communication interface. More...
 

Detailed Description

Wrapper for accessing built-in SPI communication interface.

Avr::Spi is a class implementing a C++ wrapper for accessing the built-in SPI communication interface.


Class Documentation

◆ Avr::Spi

class Avr::Spi

template<class TCsDigitalIo, uint8_t csPinNumber>
class Avr::Spi< TCsDigitalIo, csPinNumber >

A C++ wrapper for accessing the built-in SPI communication interface.

Usage:

spi.select();
uint8_t value = spi.transceive(0x10);
spi.deselect();
Template Parameters
TCsDigitalIoThe Avr::DigitalIo configuration for the chip select pin.
csPinNumberThe number of the chip select pin.
Note
Avr::Spi is currently limited to SPI master functionality.

Public Member Functions

void select ()
 Signals chip select to slave. More...
 
void deselect ()
 Signals chip deselect to slave. More...
 
uint8_t transceive (uint8_t value)
 Sends the byte value and receives a byte over SPI. More...
 
void transmit (uint8_t value)
 Sends the byte value over SPI. More...
 
uint8_t receive ()
 Receives a byte over SPI. More...
 

Static Public Member Functions

static Spiinstance ()
 Returns the Avr::Spi instance. More...
 

Member Function Documentation

◆ instance()

template<class TCsDigitalIo , uint8_t csPinNumber>
static Spi& Avr::Spi< TCsDigitalIo, csPinNumber >::instance ( )
inlinestatic

Returns the Avr::Spi instance.

Returns
The Avr::Spi instance.

◆ select()

template<class TCsDigitalIo , uint8_t csPinNumber>
void Avr::Spi< TCsDigitalIo, csPinNumber >::select ( )
inline

Signals chip select to slave.

◆ deselect()

template<class TCsDigitalIo , uint8_t csPinNumber>
void Avr::Spi< TCsDigitalIo, csPinNumber >::deselect ( )
inline

Signals chip deselect to slave.

◆ transceive()

template<class TCsDigitalIo , uint8_t csPinNumber>
uint8_t Avr::Spi< TCsDigitalIo, csPinNumber >::transceive ( uint8_t  value)
inline

Sends the byte value and receives a byte over SPI.

Parameters
valueByte to transmit.
Returns
The received byte.

◆ transmit()

template<class TCsDigitalIo , uint8_t csPinNumber>
void Avr::Spi< TCsDigitalIo, csPinNumber >::transmit ( uint8_t  value)
inline

Sends the byte value over SPI.

Parameters
valueByte to transmit.

◆ receive()

template<class TCsDigitalIo , uint8_t csPinNumber>
uint8_t Avr::Spi< TCsDigitalIo, csPinNumber >::receive ( )
inline

Receives a byte over SPI.

Returns
The received byte.