Loading...
Searching...
No Matches
Interface

SPI interface from which slave devices inherit. More...

Data Structures

struct  SPI
 Struct definition for SPI interface. Provides the interface for API consumers to interact with the SPI peripheral. More...
 

Enumerations

enum  DeviceType {
  SENSOR_ACCEL , SENSOR_GYRO , SENSOR_BARO , MEMORY_FLASH ,
  COMM_LORA
}
 Device type enum Describes the type of peripheral implementing an SPI interface. More...
 
enum  DataFormat
 Data format enum Describes the format of dataframes sent on the SPI data bus.
 

Functions

void SPI_init (SPI *, DeviceType, SPI_TypeDef *, DataFormat, GPIO_TypeDef *, unsigned long)
 Initialiser for an SPI device interface.
 
uint16_t SPI_transmit (SPI *, uint16_t)
 Instance method to communicate a SPI transaction with slave device.
 

Detailed Description

SPI interface from which slave devices inherit.

Todo
Add in code block examples to API documentation.

Enumeration Type Documentation

◆ DeviceType

enum DeviceType

Device type enum Describes the type of peripheral implementing an SPI interface.

Enumerator
SENSOR_ACCEL 

Accelerometer.

SENSOR_GYRO 

Gyroscope.

SENSOR_BARO 

Barometer.

MEMORY_FLASH 

Flash memory.

COMM_LORA 

LoRa module.

Definition at line 28 of file spi.h.

Function Documentation

◆ SPI_init()

void SPI_init ( SPI * spi,
DeviceType device,
SPI_TypeDef * interface,
DataFormat df,
GPIO_TypeDef * port,
unsigned long cs )

Initialiser for an SPI device interface.

Parameters
*spiPointer to SPI struct to be initialised.
deviceEnum specifier for device type.
*interfacePointer to SPI interface struct.
*portPointer to GPIO port struct.
csDevice chip select address.
Returns
NULL.

Definition at line 32 of file spi.c.

◆ SPI_transmit()

uint16_t SPI_transmit ( SPI * spi,
uint16_t data )

Instance method to communicate a SPI transaction with slave device.

Parameters
*spiPointer to SPI struct.
dataData payload to be sent to slave device.
Return values
responseReturns the slave device response from the transaction.

Definition at line 52 of file spi.c.