#ifndef FSFW_HAL_STM32H7_DMA_H_ #define FSFW_HAL_STM32H7_DMA_H_ #ifdef __cplusplus extern "C" { #endif #include "interrupts.h" #include namespace dma { enum DMAType { TX = 0, RX = 1 }; enum DMAIndexes: uint8_t { DMA_1 = 1, DMA_2 = 2 }; enum DMAStreams { STREAM_0 = 0, STREAM_1 = 1, STREAM_2 = 2, STREAM_3 = 3, STREAM_4 = 4, STREAM_5 = 5, STREAM_6 = 6, STREAM_7 = 7, } ; /** * Assign user interrupt handlers for DMA streams, allowing to pass an * arbitrary argument as well. Generally, this argument will be the related DMA handle. * @param user_handler * @param user_args */ void assignDmaUserHandler(DMAIndexes dma_idx, DMAStreams stream_idx, user_handler_t user_handler, user_args_t user_args); } #ifdef __cplusplus } #endif #endif /* FSFW_HAL_STM32H7_DMA_H_ */