Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BSP_DISCO_F746NG by
stm32746g_discovery_ts.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32746g_discovery_ts.h 00004 * @author MCD Application Team 00005 * @version V1.0.0 00006 * @date 25-June-2015 00007 * @brief This file contains the common defines and functions prototypes for 00008 * the stm32746g_discovery_ts.c driver. 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __STM32746G_DISCOVERY_TS_H 00041 #define __STM32746G_DISCOVERY_TS_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 #include "stm32746g_discovery.h" 00049 /* Include touch screen FT5336 component Driver */ 00050 #include "ft5336.h" 00051 00052 /** @addtogroup BSP 00053 * @{ 00054 */ 00055 00056 /** @addtogroup STM32746G_DISCOVERY 00057 * @{ 00058 */ 00059 00060 /** @addtogroup STM32746G_DISCOVERY_TS 00061 * @{ 00062 */ 00063 00064 /** @defgroup STM32746G_DISCOVERY_TS_Exported_Constants STM32746G_DISCOVERY_TS Exported Constants 00065 * @{ 00066 */ 00067 00068 /** @brief With FT5336 : maximum 5 touches detected simultaneously 00069 */ 00070 #define TS_MAX_NB_TOUCH ((uint32_t) FT5336_MAX_DETECTABLE_TOUCH) 00071 00072 #define TS_NO_IRQ_PENDING ((uint8_t) 0) 00073 #define TS_IRQ_PENDING ((uint8_t) 1) 00074 00075 #define TS_SWAP_NONE ((uint8_t) 0x01) 00076 #define TS_SWAP_X ((uint8_t) 0x02) 00077 #define TS_SWAP_Y ((uint8_t) 0x04) 00078 #define TS_SWAP_XY ((uint8_t) 0x08) 00079 00080 /** 00081 * @} 00082 */ 00083 00084 /** @defgroup STM32746G_DISCOVERY_TS_Exported_Types STM32746G_DISCOVERY_TS Exported Types 00085 * @{ 00086 */ 00087 /** 00088 * @brief TS_StateTypeDef 00089 * Define TS State structure 00090 */ 00091 typedef struct 00092 { 00093 uint8_t touchDetected; /*!< Total number of active touches detected at last scan */ 00094 uint16_t touchX[TS_MAX_NB_TOUCH]; /*!< Touch X[0], X[1] coordinates on 12 bits */ 00095 uint16_t touchY[TS_MAX_NB_TOUCH]; /*!< Touch Y[0], Y[1] coordinates on 12 bits */ 00096 00097 #if (TS_MULTI_TOUCH_SUPPORTED == 1) 00098 uint8_t touchWeight[TS_MAX_NB_TOUCH]; /*!< Touch_Weight[0], Touch_Weight[1] : weight property of touches */ 00099 uint8_t touchEventId[TS_MAX_NB_TOUCH]; /*!< Touch_EventId[0], Touch_EventId[1] : take value of type @ref TS_TouchEventTypeDef */ 00100 uint8_t touchArea[TS_MAX_NB_TOUCH]; /*!< Touch_Area[0], Touch_Area[1] : touch area of each touch */ 00101 uint32_t gestureId; /*!< type of gesture detected : take value of type @ref TS_GestureIdTypeDef */ 00102 #endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ 00103 00104 } TS_StateTypeDef; 00105 00106 /** 00107 * @} 00108 */ 00109 00110 /** @defgroup STM32746G_DISCOVERY_TS_Exported_Constants STM32746G_DISCOVERY_TS Exported Constants 00111 * @{ 00112 */ 00113 00114 typedef enum 00115 { 00116 TS_OK = 0x00, /*!< Touch Ok */ 00117 TS_ERROR = 0x01, /*!< Touch Error */ 00118 TS_TIMEOUT = 0x02, /*!< Touch Timeout */ 00119 TS_DEVICE_NOT_FOUND = 0x03 /*!< Touchscreen device not found */ 00120 }TS_StatusTypeDef; 00121 00122 /** 00123 * @brief TS_GestureIdTypeDef 00124 * Define Possible managed gesture identification values returned by touch screen 00125 * driver. 00126 */ 00127 typedef enum 00128 { 00129 GEST_ID_NO_GESTURE = 0x00, /*!< Gesture not defined / recognized */ 00130 GEST_ID_MOVE_UP = 0x01, /*!< Gesture Move Up */ 00131 GEST_ID_MOVE_RIGHT = 0x02, /*!< Gesture Move Right */ 00132 GEST_ID_MOVE_DOWN = 0x03, /*!< Gesture Move Down */ 00133 GEST_ID_MOVE_LEFT = 0x04, /*!< Gesture Move Left */ 00134 GEST_ID_ZOOM_IN = 0x05, /*!< Gesture Zoom In */ 00135 GEST_ID_ZOOM_OUT = 0x06, /*!< Gesture Zoom Out */ 00136 GEST_ID_NB_MAX = 0x07 /*!< max number of gesture id */ 00137 00138 } TS_GestureIdTypeDef; 00139 00140 /** 00141 * @brief TS_TouchEventTypeDef 00142 * Define Possible touch events kind as returned values 00143 * by touch screen IC Driver. 00144 */ 00145 typedef enum 00146 { 00147 TOUCH_EVENT_NO_EVT = 0x00, /*!< Touch Event : undetermined */ 00148 TOUCH_EVENT_PRESS_DOWN = 0x01, /*!< Touch Event Press Down */ 00149 TOUCH_EVENT_LIFT_UP = 0x02, /*!< Touch Event Lift Up */ 00150 TOUCH_EVENT_CONTACT = 0x03, /*!< Touch Event Contact */ 00151 TOUCH_EVENT_NB_MAX = 0x04 /*!< max number of touch events kind */ 00152 00153 } TS_TouchEventTypeDef; 00154 /** 00155 * @} 00156 */ 00157 00158 /** @defgroup STM32746G_DISCOVERY_TS_Imported_Variables STM32746G_DISCOVERY_TS Imported Variables 00159 * @{ 00160 */ 00161 /** 00162 * @brief Table for touchscreen event information display on LCD : 00163 * table indexed on enum @ref TS_TouchEventTypeDef information 00164 */ 00165 extern char * ts_event_string_tab[TOUCH_EVENT_NB_MAX]; 00166 00167 /** 00168 * @brief Table for touchscreen gesture Id information display on LCD : table indexed 00169 * on enum @ref TS_GestureIdTypeDef information 00170 */ 00171 extern char * ts_gesture_id_string_tab[GEST_ID_NB_MAX]; 00172 /** 00173 * @} 00174 */ 00175 00176 /** @addtogroup STM32746G_DISCOVERY_TS_Exported_Functions 00177 * @{ 00178 */ 00179 uint8_t BSP_TS_Init(uint16_t ts_SizeX, uint16_t ts_SizeY); 00180 uint8_t BSP_TS_DeInit(void); 00181 uint8_t BSP_TS_GetState(TS_StateTypeDef *TS_State); 00182 00183 #if (TS_MULTI_TOUCH_SUPPORTED == 1) 00184 uint8_t BSP_TS_Get_GestureId(TS_StateTypeDef *TS_State); 00185 #endif /* TS_MULTI_TOUCH_SUPPORTED == 1 */ 00186 00187 uint8_t BSP_TS_ITConfig(void); 00188 uint8_t BSP_TS_ITGetStatus(void); 00189 void BSP_TS_ITClear(void); 00190 uint8_t BSP_TS_ResetTouchData(TS_StateTypeDef *TS_State); 00191 /** 00192 * @} 00193 */ 00194 00195 /** 00196 * @} 00197 */ 00198 00199 /** 00200 * @} 00201 */ 00202 00203 /** 00204 * @} 00205 */ 00206 00207 00208 #ifdef __cplusplus 00209 } 00210 #endif 00211 00212 #endif /* __STM32746G_DISCOVERY_TS_H */ 00213 00214 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 16:12:50 by
