51#define SCI_UART_BAUD_4800 4800
52#define SCI_UART_BAUD_9600 9600
53#define SCI_UART_BAUD_19200 19200
54#define SCI_UART_BAUD_38400 38400
55#define SCI_UART_BAUD_57600 57600
56#define SCI_UART_BAUD_76800 76800
57#define SCI_UART_BAUD_115200 115200
58#define SCI_UART_BAUD_230400 230400
59#define SCI_UART_BAUD_256000 256000
60#define SCI_UART_BAUD_312500 312500
61#define SCI_UART_BAUD_390625 390625
62#define SCI_UART_BAUD_460800 460800
63#define SCI_UART_BAUD_576000 576000
64#define SCI_UART_BAUD_781250 781250
65#define SCI_UART_BAUD_921600 921600
66#define SCI_UART_BAUD_1562500 1562500
69#define SCI_SPI_BAUD_250K 250000
70#define SCI_SPI_BAUD_312K 312500
71#define SCI_SPI_BAUD_500K 500000
72#define SCI_SPI_BAUD_625K 625000
73#define SCI_SPI_BAUD_781K 781250
74#define SCI_SPI_BAUD_1M562K 1562500
75#define SCI_SPI_BAUD_3M125K 3125000
76#define SCI_SPI_BAUD_6M250K 6250000
77#define SCI_SPI_BAUD_12M500K 12500000
80#define SCI_SPI_BAUD_INIT SCI_SPI_BAUD_312K
81#define SCI_SPI_BAUD_MAX SCI_SPI_BAUD_12M500K
void(* dma_callback_t)(void *data)
DMA callback type.
Definition dmac.h:42
sci_result_t sci_read_byte(uint8_t *data)
Read a single byte from the UART.
sci_result_t sci_spi_dma_write_data(const uint8_t *tx_data, size_t len, dma_callback_t callback, void *cb_data)
Write multiple bytes to the SPI device using DMA.
sci_result_t sci_dma_wait_complete(void)
Wait for DMA transfer to complete in both UART and SPI modes.
sci_uart_config_t
UART configuration options.
Definition sci.h:97
sci_result_t sci_spi_rw_data(const uint8_t *tx_data, uint8_t *rx_data, size_t len)
Read and write multiple bytes to/from the SPI device.
sci_result_t sci_write_byte(uint8_t data)
Write a single byte to the UART.
sci_result_t sci_spi_rw_byte(uint8_t tx_byte, uint8_t *rx_byte)
Read and write one byte to the SPI device simultaneously.
sci_result_t sci_spi_write_data(const uint8_t *tx_data, size_t len)
Write multiple bytes to the SPI device.
sci_result_t sci_spi_write_byte(uint8_t tx_byte)
Write one byte to the SPI device.
void sci_configure_uart(sci_uart_config_t config, uint8_t *scsmr1)
Configure UART parameters.
sci_result_t sci_dma_write_data(const uint8_t *data, size_t len, dma_callback_t callback, void *cb_data)
Transfer data using DMA from the UART.
sci_result_t sci_spi_read_byte(uint8_t *rx_byte)
Read one byte from the SPI device.
sci_mode_t
SCI operating mode definitions.
Definition sci.h:84
void sci_shutdown()
Shutdown the SCI port.
sci_spi_cs_mode_t
SPI CS pin options.
Definition sci.h:109
sci_result_t sci_read_data(uint8_t *data, size_t len)
Read multiple bytes from the UART.
sci_result_t sci_write_data(uint8_t *data, size_t len)
Write multiple bytes to the UART.
sci_result_t
Error codes for SCI operations.
Definition sci.h:116
sci_result_t sci_dma_read_data(uint8_t *data, size_t len, dma_callback_t callback, void *cb_data)
Receive data using DMA from the UART.
sci_result_t sci_spi_read_data(uint8_t *rx_data, size_t len)
Read multiple bytes from the SPI device.
sci_result_t sci_init(uint32_t baud_rate, sci_mode_t mode, sci_clock_t clock_src)
Initialize the SCI port with specified parameters.
sci_clock_t
Clock source options.
Definition sci.h:91
void sci_configure_spi(sci_spi_cs_mode_t cs, size_t buffer_size)
Configure SPI parameters.
sci_result_t sci_spi_dma_read_data(uint8_t *rx_data, size_t len, dma_callback_t callback, void *cb_data)
Read multiple bytes from the SPI device using DMA.
void sci_spi_set_cs(bool enabled)
Set or clear the SPI chip select line.
@ SCI_UART_8O1
8 data bits, odd parity, 1 stop bit
Definition sci.h:101
@ SCI_UART_7N1
7 data bits, no parity, 1 stop bit
Definition sci.h:102
@ SCI_UART_8E1
8 data bits, even parity, 1 stop bit
Definition sci.h:100
@ SCI_UART_8N2
8 data bits, no parity, 2 stop bits
Definition sci.h:99
@ SCI_UART_7O1
7 data bits, odd parity, 1 stop bit
Definition sci.h:105
@ SCI_UART_7E1
7 data bits, even parity, 1 stop bit
Definition sci.h:104
@ SCI_UART_8N1
8 data bits, no parity, 1 stop bit
Definition sci.h:98
@ SCI_UART_7N2
7 data bits, no parity, 2 stop bits
Definition sci.h:103
@ SCI_MODE_NONE
No mode selected.
Definition sci.h:85
@ SCI_MODE_SPI
SPI (synchronous) mode.
Definition sci.h:87
@ SCI_MODE_UART
UART (asynchronous) mode.
Definition sci.h:86
@ SCI_SPI_CS_NONE
No CS mode selected.
Definition sci.h:110
@ SCI_SPI_CS_GPIO
Use GPIO for SPI CS.
Definition sci.h:111
@ SCI_SPI_CS_RTS
Use RTS from SCIF for SPI CS.
Definition sci.h:112
@ SCI_ERR_FRAMING
Framing error.
Definition sci.h:122
@ SCI_ERR_PARITY
Parity error.
Definition sci.h:123
@ SCI_ERR_TIMEOUT
Operation timeout.
Definition sci.h:120
@ SCI_ERR_OVERRUN
Overrun error.
Definition sci.h:121
@ SCI_ERR_DMA
DMA error.
Definition sci.h:124
@ SCI_ERR_PARAM
Invalid parameter.
Definition sci.h:119
@ SCI_OK
No error.
Definition sci.h:117
@ SCI_ERR_NOT_INITIALIZED
Not initialized or incorrect mode.
Definition sci.h:118
@ SCI_CLK_INT
Use internal clock (default)
Definition sci.h:92
@ SCI_CLK_EXT
Use external clock (SCK pin)
Definition sci.h:93