Platform drivers for Mbed.
Dependents: EVAL-CN0535-FMCZ EVAL-CN0535-FMCZ EVAL-AD568x-AD569x EVAL-AD7606 ... more
src/irq_extra.h
- Committer:
- mahphalke
- Date:
- 2021-03-19
- Revision:
- 16:61ad39564f45
- Parent:
- 11:a2dcf0ebb5b5
File content as of revision 16:61ad39564f45:
/***************************************************************************//** * @file irq_extra.h * @brief: Header containing extra types required for IRQ drivers ******************************************************************************** * Copyright (c) 2020 Analog Devices, Inc. * * All rights reserved. * * This software is proprietary to Analog Devices, Inc. and its licensors. * By using this software you agree to the terms of the associated * Analog Devices Software License Agreement. *******************************************************************************/ #ifndef IRQ_EXTRA_H #define IRQ_EXTRA_H // Platform support needs to be C-compatible to work with other drivers #ifdef __cplusplus extern "C" { #endif /******************************************************************************/ /***************************** Include Files **********************************/ /******************************************************************************/ #include <stdbool.h> /******************************************************************************/ /********************** Macros and Constants Definitions **********************/ /******************************************************************************/ /******************************************************************************/ /*************************** Types Declarations *******************************/ /******************************************************************************/ /** * @enum irq_id * @brief Interrupts IDs supported by the irq driver */ enum irq_id { /** External interrupt ID */ EXTERNAL_INT_ID, /** UART Rx interrupt ID */ UART_RX_INT_ID, /* Number of available interrupts */ NB_INTERRUPTS }; /* * External IRQ events * */ typedef enum { EXT_IRQ_NONE, EXT_IRQ_RISE, EXT_IRQ_FALL } ext_irq_event; /** * @struct mbed_irq_init_param * @brief Structure holding the extra parameters for Interrupt Request. */ typedef struct { uint32_t int_mode; // Interrupt mode (falling/rising etc) void *int_obj_type; // Interrupt handling object } mbed_irq_init_param; /** * @struct aducm410_irq_desc * @brief Structure holding the platform descriptor for Interrupt Request. */ typedef struct { uint32_t int_mode; // Interrupt mode (falling/rising etc) void *int_obj_type; // Interrupt handling object void *int_obj; // Interrupt object (e.g. InterruptIn) } mbed_irq_desc; #ifdef __cplusplus // Closing extern c } #endif #endif // IRQ_EXTRA_H_