fsfw-hal/stm32h7/spi/interrupts.h

37 lines
915 B
C
Raw Normal View History

2021-06-03 16:11:49 +02:00
#ifndef FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_
#define FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_
2021-06-03 15:12:34 +02:00
2021-06-03 16:11:49 +02:00
#include "../interrupts.h"
2021-06-03 15:12:34 +02:00
2021-06-03 16:11:49 +02:00
#ifdef __cplusplus
extern "C" {
#endif
2021-06-03 15:12:34 +02:00
2021-06-03 16:11:49 +02:00
typedef enum {
SPI_1,
SPI_2
} SpiBus;
2021-06-03 15:12:34 +02:00
2021-06-03 16:11:49 +02:00
/**
* Assign a user interrupt handler for SPI bus 1, allowing to pass an arbitrary argument as well.
* Generally, this argument will be the related SPI handle.
* @param user_handler
* @param user_args
*/
void assign_spi_user_handler(SpiBus spiBus, user_handler_t user_handler, user_args_t user_args);
2021-06-03 15:12:34 +02:00
2021-06-04 15:50:02 +02:00
/**
* Generic interrupt handlers supplied for convenience. Do not call these directly! Set them
* instead with assign_dma_user_handler and assign_spi_user_handler functions.
* @param dma_handle
*/
void dma_rx_irq_handler(void* dma_handle);
void dma_tx_irq_handler(void* dma_handle);
void spi1_irq_handler(void* spi_handle);
2021-06-03 16:11:49 +02:00
#ifdef __cplusplus
}
#endif
#endif /* FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_ */