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:154
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:216
struct no_os_time no_os_get_time(void)
Get current time.
Definition: stm32_delay.c:88
Initialization parameter for the DMA controller.
Definition: no_os_dma.h:177
Definition: stm32_dma.h:93
Definition: stm32_dma.h:98
enum stm32_dma_data_alignment mem_data_alignment
Definition: stm32_dma.h:80
uint32_t id
Definition: no_os_dma.h:144
uint32_t irq_num
Definition: no_os_dma.h:121
Header file of Delay functions.
@ DEV_TO_MEM
Definition: no_os_dma.h:58
const struct no_os_dma_platform_ops stm32_dma_ops
stm32 platform specific DMA platform ops structure
Definition: stm32_dma.c:290
bool per_increment
Definition: stm32_dma.h:78
Structure holding time data (seconds, microseconds).
Definition: no_os_delay.h:53
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:60
DMA_HandleTypeDef * hdma
Definition: stm32_dma.h:72
stm32_dma_mode
DMA Data Modes.
Definition: stm32_dma.h:61
uint32_t num_ch
Definition: no_os_dma.h:181
uint8_t * src
Definition: stm32_dma.h:86
uint32_t id
Definition: no_os_dma.h:179
const struct no_os_dma_platform_ops stm32_dma_ops
stm32 platform specific DMA platform ops structure
Definition: stm32_dma.c:290
void no_os_udelay(uint32_t usecs)
Generate microseconds delay.
Definition: stm32_delay.c:67
Describes the state of a DMA channel.
Definition: no_os_dma.h:113
Header file for stm32 irq specifics.
uint8_t * dst
Definition: no_os_dma.h:81
STM32 DMA Channels.
Definition: stm32_dma.h:70
@ MEM_TO_MEM
Definition: no_os_dma.h:56
uint32_t irq_ctrl_id
Definition: no_os_irq.h:115
int stm32_dma_remove(struct no_os_dma_desc *desc)
Free the resources allocated for a DMA descriptor.
Definition: stm32_dma.c:274
struct stm32_dma_channel * chn
Definition: stm32_dma.h:95
uint32_t length
Definition: stm32_dma.h:90
struct stm32_dma_channel * chn
Definition: stm32_dma.h:100
const struct no_os_irq_platform_ops stm32_irq_ops
stm32 specific IRQ platform ops structure
Definition: stm32_irq.c:588
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:51
It's used to setup a generic DMA transfer.
Definition: no_os_dma.h:77
struct no_os_irq_ctrl_desc * irq_ctrl
Definition: no_os_dma.h:157
uint32_t num_ch
Definition: no_os_dma.h:146
bool free
Definition: no_os_dma.h:117
stm32_dma_data_alignment
DMA Data alignment.
Definition: stm32_dma.h:51
@ DMA_CIRCULAR_MODE
Definition: stm32_dma.h:63
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:60
enum no_os_dma_xfer_type xfer_type
Definition: no_os_dma.h:85
uint8_t * dst
Definition: stm32_dma.h:88
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:247
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:75
unsigned int us
Definition: no_os_delay.h:54
#define NULL
Definition: wrapper.h:64
@ DATA_ALIGN_BYTE
Definition: stm32_dma.h:52
uint8_t * src
Definition: no_os_dma.h:79
void no_os_mdelay(uint32_t msecs)
Generate miliseconds delay.
Definition: stm32_delay.c:79
Structure holding the initial parameters for Interrupt Request.
Definition: no_os_irq.h:113
@ DATA_ALIGN_HALF_WORD
Definition: stm32_dma.h:53
unsigned int s
Definition: no_os_delay.h:54
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:77
void * extra
Definition: no_os_dma.h:126
uint32_t ch_num
Definition: stm32_dma.h:74
@ DATA_ALIGN_WORD
Definition: stm32_dma.h:54
@ MEM_TO_DEV
Definition: no_os_dma.h:57
@ DMA_NORMAL_MODE
Definition: stm32_dma.h:62
#define L(x)
Definition: ad9144.h:1264
struct no_os_dma_ch * channels
Definition: no_os_dma.h:148
enum stm32_dma_data_alignment per_data_alignment
Definition: stm32_dma.h:82
bool mem_increment
Definition: stm32_dma.h:76
uint32_t length
Definition: no_os_dma.h:83
Platform independent function definitions and data types for the DMA API.
enum stm32_dma_mode dma_mode
Definition: stm32_dma.h:84
Describes the state of the DMA controller.
Definition: no_os_dma.h:142