#ifndef SPI_API_EXTENDED_H_ #define SPI_API_EXTENDED_H_ #include "spi_api.h" #include #include #include // size_t #ifdef __cplusplus extern "C" { #endif typedef enum { SPI_IRQ_RX_OVERRUN = 0, SPI_IRQ_RX_TIMEOUT, SPI_IRQ_RX, SPI_IRQ_TX, NUM_SPI_IRQ_TYPES } SpiIrqType; typedef void (*spi_irq_handler)(uint32_t id, SpiIrqType type); void spi_irq_init(spi_t *obj, spi_irq_handler handler, uint32_t id); void spi_irq_set (spi_t *obj, SpiIrqType type, bool enable); void spi_irq_clear_status(spi_t *obj, SpiIrqType type); bool spi_slave_writeable (spi_t *obj); #ifdef __cplusplus } #endif #endif /* SPI_API_EXTENDED_H_ */