#ifndef FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_
#define FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_

#include "../interrupts.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    SPI_1,
    SPI_2
} SpiBus;

/**
 * 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);

#ifdef __cplusplus
}
#endif

#endif /* FSFW_HAL_STM32H7_SPI_INTERRUPTS_H_ */