libyggdrasil  v1.0.0
spi.cpp File Reference

SPI abstraction implementation for Midgard. More...

#include <yggdrasil.h>
#include <cpp/common/attributes.hpp>
#include <cpp/common/types.hpp>
#include <cpp/common/utils.hpp>
#include <c/midgard/driver/spi.h>
#include <math.h>
Include dependency graph for spi.cpp:

Functions

C_LINKAGE bool yggdrasil_SPI_Init (spi_t spi)
 SPI initialization. More...
 
C_LINKAGE bool yggdrasil_SPI_Deinit (spi_t spi)
 SPI deinitialization. More...
 
C_LINKAGE void yggdrasil_SPI_Write (spi_t spi, void *data, size_t size)
 SPI write. More...
 
C_LINKAGE void yggdrasil_SPI_Read (spi_t spi, void *data, size_t size)
 SPI read. More...
 
C_LINKAGE void yggdrasil_SPI_SetMode (spi_t spi, SPIMode mode)
 Set the spi mode (CPOL and CPHA) More...
 

Detailed Description

SPI abstraction implementation for Midgard.

Author
Fabian Weber, Nikolaij Saegesser

Function Documentation

◆ yggdrasil_SPI_Deinit()

C_LINKAGE bool yggdrasil_SPI_Deinit ( spi_t  spi)

SPI deinitialization.

Parameters
spiSPI handel
Returns
Success

◆ yggdrasil_SPI_Init()

C_LINKAGE bool yggdrasil_SPI_Init ( spi_t  spi)

SPI initialization.

Parameters
spiSPI handel
Returns
Success

◆ yggdrasil_SPI_Read()

C_LINKAGE void yggdrasil_SPI_Read ( spi_t  spi,
void *  data,
size_t  size 
)

SPI read.

Parameters
spiSPI handle
[out]dataReceived data
sizeSize of the data to receive

◆ yggdrasil_SPI_SetMode()

C_LINKAGE void yggdrasil_SPI_SetMode ( spi_t  spi,
enum SPIMode  mode 
)

Set the spi mode (CPOL and CPHA)

Parameters
spiSPI handle
modeSPI mode
Note
This function wait until the SPI is not busy anymore and then the mode change will take place

◆ yggdrasil_SPI_Write()

C_LINKAGE void yggdrasil_SPI_Write ( spi_t  spi,
void *  data,
size_t  size 
)

SPI write.

Parameters
spiSPI handle
dataData to transmit
sizeSize of the data to transmit