summaryrefslogtreecommitdiff
path: root/third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h')
-rw-r--r--third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h b/third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h
new file mode 100644
index 0000000..64b4d01
--- /dev/null
+++ b/third_party/TouchSense/STMTouch_Driver/inc/tsl_object.h
@@ -0,0 +1,89 @@
+/**
+ ******************************************************************************
+ * @file tsl_object.h
+ * @author MCD Application Team
+ * @version V1.4.4
+ * @date 31-March-2014
+ * @brief This file contains external declarations of the tsl_object.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
+ *
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.st.com/software_license_agreement_liberty_v2
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __TSL_OBJECT_H
+#define __TSL_OBJECT_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "tsl_touchkey.h"
+#include "tsl_linrot.h"
+
+/* Exported types ------------------------------------------------------------*/
+
+#define TSL_OBJ_TYPE_TKEY_MASK (0x10) /**< TouchKey object mask */
+#define TSL_OBJ_TYPE_LINROT_MASK (0x20) /**< Linear and Rotary objects mask */
+#define TSL_OBJ_TYPE_TRACKNAV_MASK (0x40) /**< TrackPad and NaviPad objects mask */
+
+/** Contains all different kinds of sensors.
+ */
+typedef enum
+{
+ TSL_OBJ_TOUCHKEY = (TSL_OBJ_TYPE_TKEY_MASK + 0), /**< Normal TouchKey */
+ TSL_OBJ_TOUCHKEYB = (TSL_OBJ_TYPE_TKEY_MASK + 1), /**< Basic TouchKey */
+ TSL_OBJ_LINEAR = (TSL_OBJ_TYPE_LINROT_MASK + 0), /**< Normal Linear sensor */
+ TSL_OBJ_LINEARB = (TSL_OBJ_TYPE_LINROT_MASK + 1), /**< Basic Linear sensor */
+ TSL_OBJ_ROTARY = (TSL_OBJ_TYPE_LINROT_MASK + 2), /**< Normal Rotary sensor */
+ TSL_OBJ_ROTARYB = (TSL_OBJ_TYPE_LINROT_MASK + 3), /**< Basic Rotary sensor */
+ TSL_OBJ_TRACKPAD = (TSL_OBJ_TYPE_TRACKNAV_MASK + 0), /**< TrackPad sensor */
+ TSL_OBJ_NAVIPAD = (TSL_OBJ_TYPE_TRACKNAV_MASK + 1) /**< NaviPad sensor */
+} TSL_ObjectType_enum_T;
+
+/** Contains the definition of an Object.
+ * Variables of this structure type can be placed in RAM or ROM.
+ */
+typedef struct
+{
+ TSL_ObjectType_enum_T Type; /**< Object type */
+ void *Elmt; /**< Pointer to the object */
+} TSL_Object_T;
+
+/** Contains the definition of a Group of Objects.
+ * Variables of this structure type must be placed in RAM only.
+ */
+typedef struct
+{
+ CONST TSL_Object_T *p_Obj; /**< Pointer to the first object */
+ TSL_tNb_T NbObjects; /**< Number of objects in the group */
+ TSL_tNb_T StateMask; /**< "OR" of all objects state mask */
+ TSL_StateChange_enum_T Change; /**< The State is different from the previous one */
+ TSL_tIndex_T ECS_exec; /**< Flag for the ECS execution */
+#if TSLPRM_ECS_DELAY > 0
+ TSL_tIndex_T ECS_wait; /**< Flag for the ECS delay */
+ TSL_tTick_ms_T ECS_start_time; /**< Keep the time for the ECS delay */
+#endif
+} TSL_ObjectGroup_T;
+
+/* Exported functions --------------------------------------------------------*/
+
+void TSL_obj_GroupInit(TSL_ObjectGroup_T *objgrp);
+void TSL_obj_GroupProcess(TSL_ObjectGroup_T *objgrp);
+void TSL_obj_SetGlobalObj(CONST TSL_Object_T *pobj);
+
+#endif /* __TSL_OBJECT_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/