1 /*!
2  * @file        tsc_ecs.h
3  *
4  * @brief       This file contains external declarations of the tsc_ecs.c file.
5  *
6  * @version     V1.0.1
7  *
8  * @date        2022-09-20
9  *
10  * @attention
11  *
12  *  Copyright (C) 2020-2022 Geehy Semiconductor
13  *
14  *  You may not use this file except in compliance with the
15  *  GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
16  *
17  *  The program is only for reference, which is distributed in the hope
18  *  that it will be useful and instructional for customers to develop
19  *  their software. Unless required by applicable law or agreed to in
20  *  writing, the program is distributed on an "AS IS" BASIS, WITHOUT
21  *  ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
22  *  See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
23  *  and limitations under the License.
24  */
25 
26 /* Define to prevent recursive inclusion */
27 #ifndef __TOUCH_ECS_H
28 #define __TOUCH_ECS_H
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /* Includes */
35 #include "tsc_object.h"
36 
37 /** @addtogroup TSC_Driver_Library TSC Driver Library
38   @{
39 */
40 
41 /** @addtogroup TSC_ECS_Driver TSC ECS Driver
42   @{
43 */
44 
45 /** @defgroup TSC_ECS_Macros Macros
46   @{
47 */
48 
49 #define FOR_OBJ_TYPE     TSC_Globals.For_Obj->Type
50 #define FOR_KEY_REF      TSC_Globals.For_Key->p_ChD->Refer
51 #define FOR_KEY_REFREST  TSC_Globals.For_Key->p_ChD->RefRest
52 #define FOR_KEY_DELTA    TSC_Globals.For_Key->p_ChD->Delta
53 #define FOR_KEY_STATEID  TSC_Globals.For_Key->p_Data->StateId
54 
55 #define FOR_LINROT_STATEID      TSC_Globals.For_LinRot->p_Data->StateId
56 #define FOR_LINROT_NB_CHANNELS  TSC_Globals.For_LinRot->NumChannel
57 
58 /**@} end of group TSC_ECS_Macros */
59 
60 /** @defgroup TSC_ECS_Enumerations Enumerations
61   @{
62 */
63 
64 /**@} end of group TSC_ECS_Enumerations */
65 
66 /** @defgroup TSC_ECS_Structures Structures
67   @{
68 */
69 
70 /**@} end of group TSC_ECS_Structures */
71 
72 /** @defgroup TSC_ECS_Variables Variables
73   @{
74 */
75 
76 /**@} end of group TSC_ECS_Variables */
77 
78 /** @defgroup TSC_ECS_Functions Functions
79   @{
80 */
81 
82 TSC_tKCoeff_T TSC_Ecs_CalculateK(TSC_ObjectGroup_T* objgrp, TSC_tKCoeff_T kDiffer, TSC_tKCoeff_T kSame);
83 void TSC_Ecs_ProcessK(TSC_ObjectGroup_T* objgrp, TSC_tKCoeff_T kCoeff);
84 TSC_STATUS_T TSC_Ecs_Process(TSC_ObjectGroup_T* objgrp);
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif /* __TSC_ECS_H */
91 
92 /**@} end of group TSC_ECS_Functions*/
93 /**@} end of group TSC_ECS_Driver */
94 /**@} end of group TSC_Driver_Library*/
95