Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
SPI Hardware support

Provides hardware SPI support. More...

Classes

class  SPIClass
 

Functions

void SPIClass::begin () override
 begin(): Initializes the SPI bus by setting SCK, MOSI, and SS to outputs, pulling SCK and MOSI low, and SS high. More...
 
void SPIClass::end () override
 end() More...
 
void SPIClass::beginTransaction (SPISettings mySettings) override
 beginTransaction() More...
 
void SPIClass::endTransaction () override
 endTransaction() More...
 
unsigned char SPIClass::transfer (unsigned char val) override
 transfer() More...
 
uint8 SPIClass::read8 ()
 read8() read a byte from SPI without setting up registers More...
 
unsigned short SPIClass::transfer16 (unsigned short val) override
 transfer16() More...
 
void SPIClass::transfer (uint8 *buffer, size_t numberBytes) override
 transfer(uint8 *buffer, size_t numberBytes) More...
 

Variables

SPIClass SPI
 Global instance of SPI class. More...
 

Detailed Description

Provides hardware SPI support.

Hardware SPI object.

Function Documentation

void SPIClass::begin ( )
overridevirtual

begin(): Initializes the SPI bus by setting SCK, MOSI, and SS to outputs, pulling SCK and MOSI low, and SS high.

Implements SPIBase.

void SPIClass::beginTransaction ( SPISettings  mySettings)
overridevirtual

beginTransaction()

Initializes the SPI bus using the defined SPISettings

this methode does not initiate a transaction. So it can be used to setup the SPI after SPI.begin()

Implements SPIBase.

void SPIClass::end ( )
inlineoverridevirtual

end()

Method for compatibility with Arduino API. Provides NOP

Implements SPIBase.

void SPIClass::endTransaction ( )
inlineoverridevirtual

endTransaction()

Method for compatibility with Arduino API. Provides NOP

endTransaction(): Stop using the SPI bus. Normally this is called after de-asserting the chip select, to allow other libraries to use the SPI bus.

Implements SPIBase.

uint8 SPIClass::read8 ( )

read8() read a byte from SPI without setting up registers

Parameters
none
Return values
bytereceived
 used for performance tuning when doing continuous reads
 this method does not reset the registers , so make sure
 that a regular transfer(data) call was performed

 Note: this method is not found on the Arduino API

 USE WITH CARE !!
unsigned char SPIClass::transfer ( unsigned char  val)
inlineoverridevirtual

transfer()

Parameters
byteto send
Return values
bytereceived

calls private method transfer32(byte) to send/recv one uint32_t input/output casted to rightdta type

SPI transfer is based on a simultaneous send and receive: the received data is returned in receivedVal (or receivedVal16).

    receivedVal = SPI.transfer(val)         : single byte
    receivedVal16 = SPI.transfer16(val16)   : single short

Implements SPIBase.

void SPIClass::transfer ( uint8 *  buffer,
size_t  numberBytes 
)
overridevirtual

transfer(uint8 *buffer, size_t numberBytes)

Parameters
bufferin/out
numberByteslenght of buffer

SPI transfer is based on a simultaneous send and receive: The buffered transfers does split up the conversation internaly into 64 byte blocks. The received data is stored in the buffer passed by reference. (the data past in is replaced with the data received).

    SPI.transfer(buffer, size)              : memory buffer of length size

Implements SPIBase.

unsigned short SPIClass::transfer16 ( unsigned short  val)
inlineoverridevirtual

transfer16()

Parameters
shortto send
Return values
shortreceived

calls private method transfer32(byte) to send/recv one uint32_t input/output casted to rightdta type

SPI transfer is based on a simultaneous send and receive: the received data is returned in receivedVal (or receivedVal16).

    receivedVal = SPI.transfer(val)         : single byte
    receivedVal16 = SPI.transfer16(val16)   : single short

Implements SPIBase.

Variable Documentation

SPIClass SPI

Global instance of SPI class.