|
oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
|


Go to the source code of this file.
Data Structures | |
| struct | ove_i2s_cfg |
| I2S bus configuration descriptor. More... | |
Typedefs | |
| typedef void(* | ove_i2s_cb_t) (ove_i2s_t i2s, void *user_data) |
| I2S half-buffer completion callback. | |
Enumerations | |
| enum | ove_i2s_dir_t { OVE_I2S_DIR_TX = 0x01 , OVE_I2S_DIR_RX = 0x02 , OVE_I2S_DIR_TXRX = 0x03 } |
| I2S stream direction. More... | |
Functions | |
| int | ove_i2s_init (ove_i2s_t *i2s, ove_i2s_storage_t *storage, void *tx_dma_buf, void *rx_dma_buf, const struct ove_i2s_cfg *cfg) |
| Initialise I2S with caller-provided static storage and DMA buffers. | |
| void | ove_i2s_deinit (ove_i2s_t i2s) |
Release an I2S handle previously created with ove_i2s_init. | |
| int | ove_i2s_create (ove_i2s_t *i2s, const struct ove_i2s_cfg *cfg) |
Heap-mode counterpart of ove_i2s_init() — allocates storage and DMA buffers internally. | |
| void | ove_i2s_destroy (ove_i2s_t i2s) |
Destroy an I2S handle previously created with ove_i2s_create. | |
| int | ove_i2s_set_rx_callback (ove_i2s_t i2s, ove_i2s_cb_t cb, void *user_data) |
| Set the RX half-buffer completion callback. | |
| int | ove_i2s_set_tx_callback (ove_i2s_t i2s, ove_i2s_cb_t cb, void *user_data) |
| Set the TX half-buffer completion callback. | |
| int | ove_i2s_start (ove_i2s_t i2s) |
| Start I2S DMA streaming. | |
| int | ove_i2s_stop (ove_i2s_t i2s) |
| Stop I2S DMA streaming. | |
| int | ove_i2s_pause (ove_i2s_t i2s) |
| Pause I2S DMA streaming (can be resumed). | |
| int | ove_i2s_resume (ove_i2s_t i2s) |
| Resume I2S DMA streaming after pause. | |
| void * | ove_i2s_rx_buf (ove_i2s_t i2s) |
| Get pointer to the most recently completed RX half-buffer. | |
| void * | ove_i2s_tx_buf (ove_i2s_t i2s) |
| Get pointer to the TX half-buffer safe to write. | |
| size_t | ove_i2s_half_buf_size (ove_i2s_t i2s) |
| Get the size of one half-buffer in bytes. | |
| void | ove_i2s_rx_half_cplt_isr (ove_i2s_t i2s) |
| ISR helper — invoke from backend RX half-complete interrupt. | |
| void | ove_i2s_rx_cplt_isr (ove_i2s_t i2s) |
| ISR helper — invoke from backend RX full-complete interrupt. | |
| void | ove_i2s_tx_half_cplt_isr (ove_i2s_t i2s) |
| ISR helper — invoke from backend TX half-complete interrupt. | |
| void | ove_i2s_tx_cplt_isr (ove_i2s_t i2s) |
| ISR helper — invoke from backend TX full-complete interrupt. | |