void(* sg_handler)(void *)
Definition: no_os_dma.h:164
int stm32_dma_init(struct no_os_dma_desc **desc, const struct no_os_dma_init_param *param)
Initialize a DMA controller.
Definition: stm32_dma.c:193
Platform independent function definitions and data types for the DMA API.
int stm32_dma_xfer_start(struct no_os_dma_desc *desc, struct no_os_dma_ch *chan)
Start a DMA transfer for a specific channel .
Definition: stm32_dma.c:256
struct no_os_time no_os_get_time(void)
Get current time.
Definition: stm32_delay.c:82
Initialization parameter for the DMA controller.
Definition: no_os_dma.h:171
Definition: stm32_dma.h:87
Definition: stm32_dma.h:92
enum stm32_dma_data_alignment mem_data_alignment
Definition: stm32_dma.h:74
uint32_t id
Definition: no_os_dma.h:138
uint32_t irq_num
Definition: no_os_dma.h:115
Header file of Delay functions.
@ DEV_TO_MEM
Definition: no_os_dma.h:52
const struct no_os_dma_platform_ops stm32_dma_ops
stm32 platform specific DMA platform ops structure
Definition: stm32_dma.c:330
bool per_increment
Definition: stm32_dma.h:72
Structure holding time data (seconds, microseconds).
Definition: no_os_delay.h:47
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
DMA_HandleTypeDef * hdma
Definition: stm32_dma.h:66
stm32_dma_mode
DMA Data Modes.
Definition: stm32_dma.h:55
uint32_t num_ch
Definition: no_os_dma.h:175
uint8_t * src
Definition: stm32_dma.h:80
uint32_t id
Definition: no_os_dma.h:173
const struct no_os_dma_platform_ops stm32_dma_ops
stm32 platform specific DMA platform ops structure
Definition: stm32_dma.c:330
void no_os_udelay(uint32_t usecs)
Generate microseconds delay.
Definition: stm32_delay.c:61
Describes the state of a DMA channel.
Definition: no_os_dma.h:107
Header file for stm32 irq specifics.
uint8_t * dst
Definition: no_os_dma.h:75
STM32 DMA Channels.
Definition: stm32_dma.h:64
@ MEM_TO_MEM
Definition: no_os_dma.h:50
uint32_t irq_ctrl_id
Definition: no_os_irq.h:109
int stm32_dma_remove(struct no_os_dma_desc *desc)
Free the resources allocated for a DMA descriptor.
Definition: stm32_dma.c:314
struct stm32_dma_channel * chn
Definition: stm32_dma.h:89
uint32_t length
Definition: stm32_dma.h:84
struct stm32_dma_channel * chn
Definition: stm32_dma.h:94
const struct no_os_irq_platform_ops stm32_irq_ops
stm32 specific IRQ platform ops structure
Definition: stm32_irq.c:582
int32_t no_os_irq_ctrl_init(struct no_os_irq_ctrl_desc **desc, const struct no_os_irq_init_param *param)
Initialize the IRQ interrupts.
Definition: no_os_irq.c:45
It's used to setup a generic DMA transfer.
Definition: no_os_dma.h:71
struct no_os_irq_ctrl_desc * irq_ctrl
Definition: no_os_dma.h:151
uint32_t num_ch
Definition: no_os_dma.h:140
bool free
Definition: no_os_dma.h:111
stm32_dma_data_alignment
DMA Data alignment.
Definition: stm32_dma.h:45
@ DMA_CIRCULAR_MODE
Definition: stm32_dma.h:57
int stm32_dma_config_xfer(struct no_os_dma_ch *channel, struct no_os_dma_xfer_desc *xfer)
Configure a DMA channel for a transfer.
Definition: stm32_dma.c:54
enum no_os_dma_xfer_type xfer_type
Definition: no_os_dma.h:79
uint8_t * dst
Definition: stm32_dma.h:82
int stm32_dma_xfer_abort(struct no_os_dma_desc *desc, struct no_os_dma_ch *chan)
Disable a DMA channel.
Definition: stm32_dma.c:287
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
unsigned int us
Definition: no_os_delay.h:48
#define NULL
Definition: wrapper.h:64
@ DATA_ALIGN_BYTE
Definition: stm32_dma.h:46
uint8_t * src
Definition: no_os_dma.h:73
void no_os_mdelay(uint32_t msecs)
Generate miliseconds delay.
Definition: stm32_delay.c:73
Structure holding the initial parameters for Interrupt Request.
Definition: no_os_irq.h:107
@ DATA_ALIGN_HALF_WORD
Definition: stm32_dma.h:47
unsigned int s
Definition: no_os_delay.h:48
int32_t no_os_irq_ctrl_remove(struct no_os_irq_ctrl_desc *desc)
Free the resources allocated by no_os_irq_ctrl_init().
Definition: no_os_irq.c:71
void * extra
Definition: no_os_dma.h:120
uint32_t ch_num
Definition: stm32_dma.h:68
@ DATA_ALIGN_WORD
Definition: stm32_dma.h:48
void(* sg_handler)(void *)
Definition: no_os_dma.h:185
@ MEM_TO_DEV
Definition: no_os_dma.h:51
@ DMA_NORMAL_MODE
Definition: stm32_dma.h:56
#define L(x)
Definition: ad9144.h:1258
struct no_os_dma_ch * channels
Definition: no_os_dma.h:142
enum stm32_dma_data_alignment per_data_alignment
Definition: stm32_dma.h:76
bool mem_increment
Definition: stm32_dma.h:70
uint32_t length
Definition: no_os_dma.h:77
Platform independent function definitions and data types for the DMA API.
enum stm32_dma_mode dma_mode
Definition: stm32_dma.h:78
Describes the state of the DMA controller.
Definition: no_os_dma.h:136