Skip to content

File syn_spi.c

FileList > drivers > syn_spi.c

Go to the source code of this file

Hardware-decoupled SPI driver implementation.

  • #include "../util/syn_assert.h"
  • #include "syn_spi.h"
  • #include <string.h>

Public Functions

Type Name
SYN_Status syn_spi_deinit (SYN_SPI * spi)
De-initialize an SPI instance.
SYN_Status syn_spi_init (SYN_SPI * spi, const SYN_SPI_Config * cfg)
Initialize an SPI instance.
SYN_Status syn_spi_read (SYN_SPI * spi, uint8_t * rx, size_t len)
Read bytes in over SPI (transmits dummy 0xFF bytes).
SYN_Status syn_spi_transfer (SYN_SPI * spi, const uint8_t * tx, uint8_t * rx, size_t len)
Full-duplex simultaneous SPI transmit and receive.
SYN_Status syn_spi_write (SYN_SPI * spi, const uint8_t * tx, size_t len)
Write bytes out over SPI (discards incoming RX bytes).

Public Functions Documentation

function syn_spi_deinit

De-initialize an SPI instance.

SYN_Status syn_spi_deinit (
    SYN_SPI * spi
) 

Parameters:

Returns:

SYN_OK on success.


function syn_spi_init

Initialize an SPI instance.

SYN_Status syn_spi_init (
    SYN_SPI * spi,
    const SYN_SPI_Config * cfg
) 

Parameters:

  • spi Pointer to SYN_SPI handle.
  • cfg Configuration structure.

Returns:

SYN_OK on success.


function syn_spi_read

Read bytes in over SPI (transmits dummy 0xFF bytes).

SYN_Status syn_spi_read (
    SYN_SPI * spi,
    uint8_t * rx,
    size_t len
) 

Parameters:

  • spi Pointer to initialized SPI handle.
  • rx RX destination buffer.
  • len RX byte count.

Returns:

SYN_OK on success.


function syn_spi_transfer

Full-duplex simultaneous SPI transmit and receive.

SYN_Status syn_spi_transfer (
    SYN_SPI * spi,
    const uint8_t * tx,
    uint8_t * rx,
    size_t len
) 

Parameters:

  • spi Pointer to initialized SPI handle.
  • tx TX data buffer (can be NULL, transmits dummy 0xFF).
  • rx RX destination buffer (can be NULL).
  • len Transfer length in bytes.

Returns:

SYN_OK on success.


function syn_spi_write

Write bytes out over SPI (discards incoming RX bytes).

SYN_Status syn_spi_write (
    SYN_SPI * spi,
    const uint8_t * tx,
    size_t len
) 

Parameters:

  • spi Pointer to initialized SPI handle.
  • tx TX data buffer.
  • len TX byte count.

Returns:

SYN_OK on success.



The documentation for this class was generated from the following file src/syntropic/drivers/syn_spi.c