File syn_spi_dev.h¶
FileList > drivers > syn_spi_dev.h
Go to the source code of this file
SPI device register helpers — thin layer over port SPI. More...
#include "../common/syn_defs.h"#include "../port/syn_port_spi.h"#include <stddef.h>#include <stdint.h>#include <string.h>
Classes¶
| Type | Name |
|---|---|
| struct | SYN_SPIDev SPI device descriptor — bus, CS, read-bit convention. |
Public Static Functions¶
| Type | Name |
|---|---|
| void | syn_spi_dev_init (SYN_SPIDev * dev, uint8_t bus, uint8_t cs, uint8_t read_bit) Initialize an SPI device descriptor. |
| uint8_t | syn_spi_dev_read8 (const SYN_SPIDev * dev, uint8_t reg) Read a single 8-bit register. |
| SYN_Status | syn_spi_dev_read_burst (const SYN_SPIDev * dev, uint8_t reg, uint8_t * buf, size_t len) Burst-read multiple registers. |
| SYN_Status | syn_spi_dev_write8 (const SYN_SPIDev * dev, uint8_t reg, uint8_t val) Write a single 8-bit register. |
| SYN_Status | syn_spi_dev_write_burst (const SYN_SPIDev * dev, uint8_t reg, const uint8_t * data, size_t len) Burst-write multiple registers. |
Detailed Description¶
Provides register-level access for SPI devices. Handles CS assertion, register address framing, and read/write bit.
** **
SYN_SPIDev mpu;
syn_spi_dev_init(&mpu, 0, 0, 0x80); // bus 0, CS 0, read bit = 0x80
uint8_t who = syn_spi_dev_read8(&mpu, 0x75); // WHO_AM_I
syn_spi_dev_write8(&mpu, 0x6B, 0x00); // wake up
Public Static Functions Documentation¶
function syn_spi_dev_init¶
Initialize an SPI device descriptor.
Parameters:
devDevice instance.busSPI bus number.csChip-select index.read_bitBit OR'd into register address for reads.
function syn_spi_dev_read8¶
Read a single 8-bit register.
Parameters:
devSPI device.regRegister address.
Returns:
Register value.
function syn_spi_dev_read_burst¶
Burst-read multiple registers.
static inline SYN_Status syn_spi_dev_read_burst (
const SYN_SPIDev * dev,
uint8_t reg,
uint8_t * buf,
size_t len
)
Parameters:
devSPI device.regStarting register address.bufBuffer to read into.lenNumber of bytes to read.
Returns:
SYN_OK on success.
function syn_spi_dev_write8¶
Write a single 8-bit register.
Parameters:
devSPI device.regRegister address.valValue to write.
Returns:
SYN_OK on success.
function syn_spi_dev_write_burst¶
Burst-write multiple registers.
static inline SYN_Status syn_spi_dev_write_burst (
const SYN_SPIDev * dev,
uint8_t reg,
const uint8_t * data,
size_t len
)
Parameters:
devSPI device.regStarting register address.dataData to write.lenNumber of bytes.
Returns:
SYN_OK on success.
The documentation for this class was generated from the following file src/syntropic/drivers/syn_spi_dev.h