PER Firmware
Loading...
Searching...
No Matches
spi.c File Reference

G4 SPI. More...

#include "common/phal_G4/spi/spi.h"

Functions

bool PHAL_SPI_init (SPI_InitConfig_t *cfg)
 Initilize SPI peripheral with the configuired structure.
 
bool PHAL_SPI_transfer_noDMA (SPI_InitConfig_t *spi, const uint8_t *out_data, uint32_t txlen, uint32_t rxlen, uint8_t *in_data)
 SPI handle.
 
bool PHAL_SPI_transfer (SPI_InitConfig_t *spi, const uint8_t *out_data, const uint32_t data_len, uint8_t *in_data)
 
bool PHAL_SPI_busy (SPI_InitConfig_t *cfg)
 Check for current SPI transaction to complete.
 
void PHAL_SPI_ForceReset (SPI_InitConfig_t *spi)
 
 __attribute__ ((weak))
 
uint8_t PHAL_SPI_readByte (SPI_InitConfig_t *spi, uint8_t address, bool skipDummy)
 Blocking function to read a single byte from a SPI device. Useful for Initilization functions that just need to read a single byte in a blocking function.
 
uint8_t PHAL_SPI_writeByte (SPI_InitConfig_t *spi, uint8_t address, uint8_t writeDat)
 Blocking function to write a single byte to a SPI device. Useful for Initilization functions that just need to write a single byte in a blocking function.
 

Variables

uint32_t APB2ClockRateHz
 
uint32_t APB1ClockRateHz
 

Detailed Description

G4 SPI.

Author
Ronak Jain
Version
0.1

Function Documentation

◆ PHAL_SPI_busy()

bool PHAL_SPI_busy ( SPI_InitConfig_t * cfg)

Check for current SPI transaction to complete.

Parameters
cfgSpi config
Returns
true
false

◆ PHAL_SPI_init()

bool PHAL_SPI_init ( SPI_InitConfig_t * handle)

Initilize SPI peripheral with the configuired structure.

Parameters
handleSPI handle to configure.
Returns
true
false

◆ PHAL_SPI_readByte()

uint8_t PHAL_SPI_readByte ( SPI_InitConfig_t * spi,
uint8_t address,
bool skipDummy )

Blocking function to read a single byte from a SPI device. Useful for Initilization functions that just need to read a single byte in a blocking function.

Parameters
spiSpi handle
addressAddress of data to read
skipDummyReturn the 3rd byte read instead of the 2nd byte

◆ PHAL_SPI_transfer_noDMA()

bool PHAL_SPI_transfer_noDMA ( SPI_InitConfig_t * spi,
const uint8_t * out_data,
uint32_t txlen,
uint32_t rxlen,
uint8_t * in_data )

SPI handle.

Parameters
spiSPI handle
out_dataAddress of data buffer to put on MOSI line
txlenNumber of SPI Packets to Send
rxlenNumber of SPI Packets to Receive
in_dataAddress of data buffer to put data coming in MISO line
Returns
true Successfully completed non-DMA SPI transaction
false Unable to complete non-DMA SPI transaction

◆ PHAL_SPI_writeByte()

uint8_t PHAL_SPI_writeByte ( SPI_InitConfig_t * spi,
uint8_t address,
uint8_t writeDat )

Blocking function to write a single byte to a SPI device. Useful for Initilization functions that just need to write a single byte in a blocking function.

Parameters
spiSpi handle
addressAddress of data to read
writeDatData to write to address