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-04 16:34:38 +02:00
|
|
|
#include "spiDefinitions.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
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
*/
|
2021-06-04 16:34:38 +02:00
|
|
|
void assign_spi_user_handler(spi::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_ */
|