PES4 / Mbed OS Queue_02
Committer:
demayer
Date:
Sat Mar 28 15:28:19 2020 +0000
Revision:
0:6bf0743ece18
IMU Thread with an event-queue running parallel to handle tasks like a 5 times blinking LED. Button with interrupt detected.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
demayer 0:6bf0743ece18 1 /**
demayer 0:6bf0743ece18 2 *******************************************************************************
demayer 0:6bf0743ece18 3 * @file tmpm066_intifao.h
demayer 0:6bf0743ece18 4 * @brief This file provides all the functions prototypes for INTIFAO driver.
demayer 0:6bf0743ece18 5 * @version V2.0.2.1
demayer 0:6bf0743ece18 6 * @date 2015/10/19
demayer 0:6bf0743ece18 7 *
demayer 0:6bf0743ece18 8 * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved
demayer 0:6bf0743ece18 9 *******************************************************************************
demayer 0:6bf0743ece18 10 */
demayer 0:6bf0743ece18 11
demayer 0:6bf0743ece18 12 /* Define to prevent recursive inclusion -------------------------------------*/
demayer 0:6bf0743ece18 13 #ifndef __TMPM066_INTIFAO_H
demayer 0:6bf0743ece18 14 #define __TMPM066_INTIFAO_H
demayer 0:6bf0743ece18 15
demayer 0:6bf0743ece18 16 #ifdef __cplusplus
demayer 0:6bf0743ece18 17 extern "C" {
demayer 0:6bf0743ece18 18 #endif /* __cplusplus */
demayer 0:6bf0743ece18 19
demayer 0:6bf0743ece18 20 /* Includes ------------------------------------------------------------------*/
demayer 0:6bf0743ece18 21 #include "TMPM066.h"
demayer 0:6bf0743ece18 22 #include "tx00_common.h"
demayer 0:6bf0743ece18 23
demayer 0:6bf0743ece18 24 /** @addtogroup TX00_Periph_Driver
demayer 0:6bf0743ece18 25 * @{
demayer 0:6bf0743ece18 26 */
demayer 0:6bf0743ece18 27
demayer 0:6bf0743ece18 28 /** @addtogroup INTIFAO
demayer 0:6bf0743ece18 29 * @{
demayer 0:6bf0743ece18 30 */
demayer 0:6bf0743ece18 31
demayer 0:6bf0743ece18 32 /** @addtogroup INTIFAO_Exported_types
demayer 0:6bf0743ece18 33 * @{
demayer 0:6bf0743ece18 34 */
demayer 0:6bf0743ece18 35 typedef struct {
demayer 0:6bf0743ece18 36 uint32_t All;
demayer 0:6bf0743ece18 37 } INTIFAO_IntFlag1Factor;
demayer 0:6bf0743ece18 38
demayer 0:6bf0743ece18 39 typedef enum {
demayer 0:6bf0743ece18 40 INTIFAO_INT_SRC_0 = 0U,
demayer 0:6bf0743ece18 41 INTIFAO_INT_SRC_1 = 1U,
demayer 0:6bf0743ece18 42 INTIFAO_INT_SRC_2 = 2U,
demayer 0:6bf0743ece18 43 INTIFAO_INT_SRC_3 = 3U,
demayer 0:6bf0743ece18 44 INTIFAO_INT_SRC_4 = 4U,
demayer 0:6bf0743ece18 45 INTIFAO_INT_SRC_5 = 5U,
demayer 0:6bf0743ece18 46 INTIFAO_INT_SRC_I2CS = 6U,
demayer 0:6bf0743ece18 47 INTIFAO_INT_SRC_USBWKUP = 7U
demayer 0:6bf0743ece18 48 } INTIFAO_INTSrc;
demayer 0:6bf0743ece18 49
demayer 0:6bf0743ece18 50 #define IS_INTIFAO_INT_SRC(param) (((param) == INTIFAO_INT_SRC_0) || \
demayer 0:6bf0743ece18 51 ((param) == INTIFAO_INT_SRC_1) || \
demayer 0:6bf0743ece18 52 ((param) == INTIFAO_INT_SRC_2) || \
demayer 0:6bf0743ece18 53 ((param) == INTIFAO_INT_SRC_3) || \
demayer 0:6bf0743ece18 54 ((param) == INTIFAO_INT_SRC_4) || \
demayer 0:6bf0743ece18 55 ((param) == INTIFAO_INT_SRC_5) || \
demayer 0:6bf0743ece18 56 ((param) == INTIFAO_INT_SRC_I2CS) || \
demayer 0:6bf0743ece18 57 ((param) == INTIFAO_INT_SRC_USBWKUP))
demayer 0:6bf0743ece18 58
demayer 0:6bf0743ece18 59 typedef enum {
demayer 0:6bf0743ece18 60 INTIFAO_INT_ACTIVE_STATE_L = 0x0U,
demayer 0:6bf0743ece18 61 INTIFAO_INT_ACTIVE_STATE_H = 0x1U,
demayer 0:6bf0743ece18 62 INTIFAO_INT_ACTIVE_STATE_FALLING = 0x2U,
demayer 0:6bf0743ece18 63 INTIFAO_INT_ACTIVE_STATE_RISING = 0x3U,
demayer 0:6bf0743ece18 64 INTIFAO_INT_ACTIVE_STATE_BOTH_EDGES = 0x4U,
demayer 0:6bf0743ece18 65 INTIFAO_INT_ACTIVE_STATE_INVALID = 0x5U
demayer 0:6bf0743ece18 66 } INTIFAO_INTActiveState;
demayer 0:6bf0743ece18 67 #define IS_INTIFAO_INT_ACTIVE_STATE(param) (((param) == INTIFAO_INT_ACTIVE_STATE_L) || \
demayer 0:6bf0743ece18 68 ((param) == INTIFAO_INT_ACTIVE_STATE_H) || \
demayer 0:6bf0743ece18 69 ((param) == INTIFAO_INT_ACTIVE_STATE_FALLING) || \
demayer 0:6bf0743ece18 70 ((param) == INTIFAO_INT_ACTIVE_STATE_RISING) || \
demayer 0:6bf0743ece18 71 ((param) == INTIFAO_INT_ACTIVE_STATE_BOTH_EDGES))
demayer 0:6bf0743ece18 72
demayer 0:6bf0743ece18 73 #define IS_INTIFAO_INT_I2CS_USBWKUP_ACTIVE_STATE(param) ((param) == INTIFAO_INT_ACTIVE_STATE_RISING)
demayer 0:6bf0743ece18 74
demayer 0:6bf0743ece18 75 /** @} */
demayer 0:6bf0743ece18 76 /* End of group INTIFAO_Exported_types */
demayer 0:6bf0743ece18 77
demayer 0:6bf0743ece18 78 /** @defgroup INTIFAO_Exported_FunctionPrototypes
demayer 0:6bf0743ece18 79 * @{
demayer 0:6bf0743ece18 80 */
demayer 0:6bf0743ece18 81 void INTIFAO_SetSTBYReleaseINTSrc(INTIFAO_INTSrc INTSource,
demayer 0:6bf0743ece18 82 INTIFAO_INTActiveState ActiveState, FunctionalState NewState);
demayer 0:6bf0743ece18 83 INTIFAO_INTActiveState INTIFAO_GetSTBYReleaseINTState(INTIFAO_INTSrc INTSource);
demayer 0:6bf0743ece18 84 void INTIFAO_ClearINTReq(INTIFAO_INTSrc INTSource);
demayer 0:6bf0743ece18 85
demayer 0:6bf0743ece18 86 INTIFAO_IntFlag1Factor INTIFAO_GetIntFlag1(void);
demayer 0:6bf0743ece18 87
demayer 0:6bf0743ece18 88 /** @} */
demayer 0:6bf0743ece18 89 /* End of group INTIFAO_Exported_FunctionPrototype */
demayer 0:6bf0743ece18 90
demayer 0:6bf0743ece18 91 /** @} */
demayer 0:6bf0743ece18 92 /* End of group INTIFAO */
demayer 0:6bf0743ece18 93
demayer 0:6bf0743ece18 94 /** @} */
demayer 0:6bf0743ece18 95 /* End of group TX00_Periph_Driver */
demayer 0:6bf0743ece18 96
demayer 0:6bf0743ece18 97 #ifdef __cplusplus
demayer 0:6bf0743ece18 98 }
demayer 0:6bf0743ece18 99 #endif /* __cplusplus */
demayer 0:6bf0743ece18 100 #endif /* __TMPM066_INTIFAO_H */