// For SWTR #include "RTE.h" #include // Defines NULL #include // Defines true #include // Defines EXIT_FAILURE #include "../OsekCom/OsekCom.h" #include "../Speaker/Speaker.h" #include "TouchPanel/TouchPanel.h" // For SWTL #include "forceSnsr.h" #include "forceSnsr_Cfg.h" #include "forcedetect.h" #include "TouchPanel.h" // #include "TouchPanel_Cfg.h" #include "Std_Types.h" #include "device.h" #include "touch/touch.h" #include "math.h" #include "stdlib.h" #include // Defines NULL #include // Defines true #include // Defines EXIT_FAILURE #include "definitions.h" // SYS function prototypes #include "OsekCom/OsekCom.h" #include "Speaker/Speaker.h" #include "TouchPanel/TouchPanel.h" #include "forceSnsr/forcedetect.h" #include "TLE9263/TLE926x_Main.h" #include "DiagnosticR/UDS/UDS_Services_Common.h" #include "plib_systick.h" #include "FunctionState.h" #include "SysDiagDetect.h" // #include "Global.h" extern uint8 CurrentPosition; uint16 Fr08_send_flag; uint8_t Two_Finger_Y_count = 0; uint8_t Two_Finger_X_count = 0; uint8_t X_count = 0; uint8_t Y_count = 0; uint8_t touch_reset2times_flag = 0; uint16_t Touch_Sensor_Sts00; uint16_t Touch_Sensor_Sts01; uint16_t Touch_Sensor_Sts02; uint16_t Touch_Sensor_Sts03; uint16_t Touch_Sensor_Sts04; uint16_t Touch_Sensor_Sts05; uint16_t Touch_Sensor_Sts06; uint16_t Touch_Sensor_Sts07; uint16_t Touch_Sensor_Sts08; uint16_t Touch_Sensor_Sts09; uint16_t Touch_Sensor_Sts10; uint16_t Touch_Sensor_Sts11; uint16_t Touch_Sensor_Sts12; uint16_t Touch_Sensor_Sts13; uint16_t Touch_Sensor_Sts14; uint8_t Allow_Touch_flag = 0,Allow_Touch_counter=0; uint16_t Touch_Sensor_Ref00; uint16_t Touch_Sensor_Ref01; uint16_t Touch_Sensor_Ref02; uint16_t Touch_Sensor_Ref03; uint16_t Touch_Sensor_Ref04; uint16_t Touch_Sensor_Ref05; uint16_t Touch_Sensor_Ref06; uint16_t Touch_Sensor_Ref07; uint16_t Touch_Sensor_Ref08; uint16_t Touch_Sensor_Ref09; uint16_t Touch_Sensor_Ref10; uint16_t Touch_Sensor_Ref11; uint16_t Touch_Sensor_Ref12; uint16_t Touch_Sensor_Ref13; uint16_t Touch_Sensor_Ref14; uint16_t Touch_Sensor_CC00; uint16_t Touch_Sensor_CC01; uint16_t Touch_Sensor_CC02; uint16_t Touch_Sensor_CC03; uint16_t Touch_Sensor_CC04; uint16_t Touch_Sensor_CC05; uint16_t Touch_Sensor_CC06; uint16_t Touch_Sensor_CC07; uint16_t Touch_Sensor_CC08; uint16_t Touch_Sensor_CC09; uint16_t Touch_Sensor_CC10; uint16_t Touch_Sensor_CC11; uint16_t Touch_Sensor_CC12; uint16_t Touch_Sensor_CC13; uint16_t Touch_Sensor_CC14; uint16_t Touch_Sensor_delta00; uint16_t Touch_Sensor_delta01; uint16_t Touch_Sensor_delta02; uint16_t Touch_Sensor_delta03; uint16_t Touch_Sensor_delta04; uint16_t Touch_Sensor_delta05; uint16_t Touch_Sensor_delta06; uint16_t Touch_Sensor_delta07; uint16_t Touch_Sensor_delta08; uint16_t Touch_Sensor_delta09; uint16_t Touch_Sensor_delta10; uint16_t Touch_Sensor_delta11; uint16_t Touch_Sensor_delta12; uint16_t Touch_Sensor_delta13; uint16_t Touch_Sensor_delta14; // volatile uint8_t TouchBoard_RC; // volatile uint8_t TouchBoard_Sts; // volatile uint8_t TouchBoard_X; // volatile uint8_t TouchBoard_Y; uint8_t RTE_Get_TouchBoard_CRC(void) { return 0; } // Input Sensor // uint16_t RTE_Get_Power_AD_SNS(void); // uint8_t RTE_Get_Pressure_Sensor_xxxx(void);//IIC DATA? // Not active,Touch,Touch and Press,invalid from sensor uint8_t RTE_Get_SldVolCtrlSts(void) // 0 slip idle 1 decrease ,2 increase , 3 decrease double , 4 increase double ,5 decrease third, 6 increase third { return 0; } uint8_t RTE_Get_TouchBoard_Up_Sts(void) { /* y:a7, x: e6 */ /* y:8d, x: eb */ /* y:75, x: ed */ /* y:6a, x: eb */ /* y:75, x: eb */ Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 4) { Signal = TouchPanel_BtnSignalRead(BTN_UP); } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_Down_Sts(void) { /* x:26, y: 96 */ /* x:20, y: 80 */ /* x:20, y: 80 */ Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 5) { Signal = TouchPanel_BtnSignalRead(BTN_DOWN); } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_Left_Sts(void) { /* x:95, y: ec */ /* x:97, y: e9 */ Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 6) { Signal = TouchPanel_BtnSignalRead(BTN_LEFT); } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_Right_Sts(void) { /* x:98, y: 22 */ /* x:9d, y: 27 */ /* x:94, y: 25 */ Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 7) { Signal = TouchPanel_BtnSignalRead(BTN_RIGHT); } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_Center_Sts(void) { Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 8) { Signal = TouchPanel_BtnSignalRead(BTN_CONFIRM); } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t g_VOICE_Touch_And_Below_1N = 0; uint8_t RTE_Get_TouchBoard_VOICE1_Sts(void) // TJP1 { Buttons_SignalType Signal = BUTTON_RELEASE; static uint8_t Voice_Zero_Count = 0; if (CurrentPosition == 1) { Signal = k_voice_touch_Sts; } if (Signal != 0) // PANEL_PRESS_LEVEL0 == Press_Level && { g_VOICE_Touch_And_Below_1N = 0x01; Voice_Zero_Count = 0; } else { Voice_Zero_Count++; if (Voice_Zero_Count > 6) { g_VOICE_Touch_And_Below_1N = 0x00; Voice_Zero_Count = 7; } } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_VOICE2_Sts(void) // TJP2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_VOICE2); return Signal; } uint8_t g_MENU_Touch_And_Below_1N = 0; uint8_t RTE_Get_TouchBoard_MENU1_Sts(void) // Resume1 { Buttons_SignalType Signal = BUTTON_RELEASE; static uint8_t Menu_Zero_Count = 0; if (CurrentPosition == 3) { Signal = k_menu_touch_Sts; // TouchPanel_BtnSignalRead(BTN_MENU1); } if (Signal != 0) // PANEL_PRESS_LEVEL0 == Press_Level && { g_MENU_Touch_And_Below_1N = 0x01; Menu_Zero_Count = 0; } else { Menu_Zero_Count++; if (Menu_Zero_Count > 6) { g_MENU_Touch_And_Below_1N = 0x00; Menu_Zero_Count = 7; } } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_MENU2_Sts(void) // Resume2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_MENU2); return Signal; } uint8_t g_VOL_Touch_And_Below_1N = 0; uint8_t RTE_Get_TouchBoard_VOL1_Sts(void) // Cancel1 { Buttons_SignalType Signal = BUTTON_RELEASE; static uint8_t VOL_Zero_Count = 0; if (CurrentPosition == 2) { // PanelPress_LevelType Press_Level; Signal = k_vol_touch_Sts; // TouchPanel_BtnSignalRead(BTN_VOL1); // Press_Level = TouchPanel_PressLevelRead(); } if (Signal != 0) // PANEL_PRESS_LEVEL0 == Press_Level && { g_VOL_Touch_And_Below_1N = 0x01; VOL_Zero_Count = 0; } else { VOL_Zero_Count++; if (VOL_Zero_Count > 6) { g_VOL_Touch_And_Below_1N = 0x00; VOL_Zero_Count = 7; } } if (Allow_Touch_flag == 0) { Signal = 0; } return Signal; } uint8_t RTE_Get_TouchBoard_VOL2_Sts(void) // Cancel2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_VOL2); return Signal; } // touch borad left/right slide: 0:idle, 1:short slide left 2:short slide right 3:long slide left 4:long slide right uint8_t RTE_Get_TouchBoard_Left_Right_Slide_Sts(void) { uint8_t retval = SIG_SWPLERISTSRI_SWPLERIREQSTS_IDLE; return retval; } // touch borad Up/Down slide: 0:idle, 1:short slide up 2:short slide down 3:long slide up 4:long slide down uint8_t RTE_Get_TouchBoard_Up_Down_Slide_Sts(void) { uint8_t retval = SIG_SWPUPDWNSTSRI_SWPUPDWNREQSTS_IDLE; return retval; } // uint8_t RTE_Get_INTB_PRSS_SNS(void); // uint8_t RTE_Get_X1_SNS(void); // uint8_t RTE_Get_X2_SNS(void); // uint8_t RTE_Get_X3_SNS(void); // uint8_t RTE_Get_X4_SNS(void); // uint8_t RTE_Get_X5_SNS(void); #define X_Length 6 #define Y_Length 6 #define Initial_Movement_Hysteresis 10 #define Next_Movement_Hysteresis 5 uint8_t X_Buf[X_Length]; uint8_t Y_Buf[Y_Length]; uint8_t X_CNT = 0; uint8_t Y_CNT = 0; uint8_t Stable_CNT_X = 0; uint8_t Stable_CNT_Y = 0; uint8_t X_Update_Flg = 1; uint8_t Y_Update_Flg = 1; uint8_t X_Update = 0; uint8_t Y_Update = 0; uint8_t rtn_X = 0; uint8_t rtn_Y = 0; uint8_t RTE_Get_X_SNS(void) { #if 1 uint8_t i; uint8_t j; uint8 x_pos; uint8 temp; // uint8 rtn=0; GetSurface_Position(&x_pos, NULL_PTR); X_Buf[X_CNT++] = x_pos; if (X_CNT == X_Length) { X_CNT = 0; } for (j = 0; j < X_Length - 1; j++) { for (i = 0; i < X_Length - 1 - j; i++) { if (X_Buf[i] > X_Buf[i + 1]) { temp = X_Buf[i]; X_Buf[i] = X_Buf[i + 1]; X_Buf[i + 1] = temp; } } } if (X_Buf[X_Length - 1] - X_Buf[0] < Initial_Movement_Hysteresis) { Stable_CNT_X++; if (X_Update_Flg == 1) { X_Update = (X_Buf[0] + X_Buf[X_Length - 1]) / 2; } if (Stable_CNT_X > 10) { Stable_CNT_X = 10; X_Update_Flg = 0; rtn_X = X_Update; if ((X_Buf[0] + X_Buf[X_Length - 1]) / 2 - X_Update > 0) { if ((X_Buf[0] + X_Buf[X_Length - 1]) / 2 - X_Update > Next_Movement_Hysteresis) { Stable_CNT_X = 0; X_Update_Flg = 1; } } else { if (X_Update - (X_Buf[0] + X_Buf[X_Length - 1]) / 2 > Next_Movement_Hysteresis) { Stable_CNT_X = 0; X_Update_Flg = 1; } } } } else { Stable_CNT_X = 0; X_Update_Flg = 1; rtn_X = (X_Buf[X_Length / 2] + X_Buf[X_Length / 2 - 1]) / 2; } if(Allow_Touch_flag==0) { rtn_X = 0; } if (x_pos == 0) { rtn_X = 0; } return rtn_X; #endif } uint8_t RTE_Get_Y_SNS(void) { #if 1 uint8_t i; uint8_t j; uint8 y_pos; uint8 temp; GetSurface_Position(NULL_PTR, &y_pos); Y_Buf[Y_CNT++] = y_pos; if (Y_CNT == Y_Length) { Y_CNT = 0; } for (j = 0; j < Y_Length - 1; j++) { for (i = 0; i < Y_Length - 1 - j; i++) { if (Y_Buf[i] > Y_Buf[i + 1]) { temp = Y_Buf[i]; Y_Buf[i] = Y_Buf[i + 1]; Y_Buf[i + 1] = temp; } } } if (Y_Buf[Y_Length - 1] - Y_Buf[0] < Initial_Movement_Hysteresis) { Stable_CNT_Y++; if (Y_Update_Flg == 1) { Y_Update = (Y_Buf[0] + Y_Buf[Y_Length - 1]) / 2; } if (Stable_CNT_Y > 10) { Stable_CNT_Y = 10; Y_Update_Flg = 0; rtn_Y = Y_Update; if ((Y_Buf[0] + Y_Buf[Y_Length - 1]) / 2 - Y_Update > 0) { if ((Y_Buf[0] + Y_Buf[Y_Length - 1]) / 2 - Y_Update > Next_Movement_Hysteresis) { Stable_CNT_Y = 0; Y_Update_Flg = 1; } } else { if (Y_Update - (Y_Buf[0] + Y_Buf[Y_Length - 1]) / 2 > Next_Movement_Hysteresis) { Stable_CNT_Y = 0; Y_Update_Flg = 1; } } } } else { Stable_CNT_Y = 0; Y_Update_Flg = 1; rtn_Y = (Y_Buf[Y_Length / 2] + Y_Buf[Y_Length / 2 - 1]) / 2; } if(Allow_Touch_flag==0) { rtn_Y = 0; } if (y_pos == 0) { rtn_Y = 0; } return rtn_Y; #endif } uint8_t g_XY_Touch_And_Below_1N = 0; uint8_t RTE_Get_TouchBoard_XY_Sts(void) // Not active,Touch,Touch and Press,invalid from sensor { // PanelPress_LevelType Press_Level; Buttons_SignalType XY_Sts = BUTTON_RELEASE; XY_Sts = TouchSurface_XY_StsRead(); // Press_Level = TouchPanel_PressLevelRead(); if (TouchSurface_is_TouchActive() == TRUE) // PANEL_PRESS_LEVEL0 == Press_Level && { g_XY_Touch_And_Below_1N = 0x01; } else { g_XY_Touch_And_Below_1N = 0x00; } if(Allow_Touch_flag==0) { XY_Sts = 0; } return XY_Sts; } //统计所有触发的通道数量 uint8_t GetActiveChNum (uint16_t chdata[],uint16_t thdata[],uint8_t num) { uint8_t i,count; count = 0; for (i = 0; i < num; i++) { if (chdata[i] > thdata[i]) { count++; } } return count; } //统计连续触发的通道数量 uint8_t GetContinuousChNum(uint16_t chdata[],uint16_t thdata[],uint8_t num) { uint8_t i,count,index; count = 0; index = 0; for (i = 0; i < num; i++) { if (chdata[i] > thdata[i]) { //找到第一个触发的通道 index = i; break; } } if (i == num) { //没有触发的通道 return count; } for (i = index; i < num; i++) { if (chdata[i] <= thdata[i]) { //找到第一个触发的通道之后第一个不触发的通道 break; } } count = i - index; return count; } #if 1 uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true { uint8_t ret_val = 0; uint16_t Two_Finger_Y_data[5] = {}; uint16_t Two_Finger_X_data[5] = {}; uint16_t th_x[5], th_y[5]; uint8_t i, m; Two_Finger_X_data[0] = Touch_Sensor_delta09; Two_Finger_X_data[1] = Touch_Sensor_delta08; Two_Finger_X_data[2] = Touch_Sensor_delta07; Two_Finger_X_data[3] = Touch_Sensor_delta06; Two_Finger_X_data[4] = Touch_Sensor_delta05; Two_Finger_Y_data[0] = Touch_Sensor_delta14; Two_Finger_Y_data[1] = Touch_Sensor_delta13; Two_Finger_Y_data[2] = Touch_Sensor_delta12; Two_Finger_Y_data[3] = Touch_Sensor_delta11; Two_Finger_Y_data[4] = Touch_Sensor_delta10; th_x[0] = qtlib_key_configs_set1[9].channel_threshold; th_x[1] = qtlib_key_configs_set1[8].channel_threshold; th_x[2] = qtlib_key_configs_set1[7].channel_threshold; th_x[3] = qtlib_key_configs_set1[6].channel_threshold; th_x[4] = qtlib_key_configs_set1[5].channel_threshold; th_y[0] = qtlib_key_configs_set1[14].channel_threshold; th_y[1] = qtlib_key_configs_set1[13].channel_threshold; th_y[2] = qtlib_key_configs_set1[12].channel_threshold; th_y[3] = qtlib_key_configs_set1[11].channel_threshold; th_y[4] = qtlib_key_configs_set1[10].channel_threshold; Two_Finger_Y_count = GetActiveChNum(Two_Finger_Y_data,th_y,5U); Y_count = GetContinuousChNum(Two_Finger_Y_data,th_y,5U); /* Two_Finger_Y_count = 0; for (i = 0; i < 5; i++) { if (Two_Finger_Y_data[i] > th_y[i]) { Two_Finger_Y_count++; } } i = 0; Y_count = 0; while (Two_Finger_Y_data[i] <= th_y[i++] && i < 5) ; i--; for (; i < 5; i++) { if (Two_Finger_Y_data[i] <= th_y[i]) break; else Y_count++; } */ Two_Finger_X_count = GetActiveChNum(Two_Finger_X_data,th_x,5U); X_count = GetContinuousChNum(Two_Finger_X_data,th_x,5U); /* Two_Finger_X_count = 0; for (m = 0; m < 5; m++) { if (Two_Finger_X_data[m] > th_x[m]) { Two_Finger_X_count++; } } m = 0; X_count = 0; while (Two_Finger_X_data[m] <= th_x[m++] && m < 5) ; m--; for (; m < 5; m++) { if (Two_Finger_X_data[m] <= th_x[m]) break; else X_count++; } */ // 触发的通道数量 //连续触发的通道数量 if ((Two_Finger_Y_count > 4 && Two_Finger_X_data[0]>th_x[0]) || Y_count != Two_Finger_Y_count || Two_Finger_X_count > 4 || X_count != Two_Finger_X_count) { //满足防误触 Allow_Touch_counter++; if (Allow_Touch_counter >= 15)//60ms { Allow_Touch_counter = 15; Allow_Touch_flag = 0; } } else { Allow_Touch_counter = 0; } if(Allow_Touch_flag == 1) { if (g_XY_Touch_And_Below_1N == TRUE || g_VOICE_Touch_And_Below_1N == TRUE || g_MENU_Touch_And_Below_1N == TRUE || g_VOL_Touch_And_Below_1N == TRUE) { ret_val = 0x01; } } return ret_val; } #endif uint8_t RTE_Get_Pad_XY_trig(void) { Buttons_SignalType XY_Sts = BUTTON_RELEASE; XY_Sts = TouchSurface_is_TouchActive(); if(Allow_Touch_flag==0) { XY_Sts = 0; } return XY_Sts; } uint8_t RTE_Get_Voice_XY_trig(void) { Buttons_SignalType Signal; Signal = k_voice_touch_Sts; if(Allow_Touch_flag==0) { Signal = 0; } return Signal; } uint8_t RTE_Get_Menu_XY_trig(void) { Buttons_SignalType Signal; Signal = k_menu_touch_Sts; // TouchButton_is_TouchActive(BTN_MENU1); if(Allow_Touch_flag==0) { Signal = 0; } return Signal; } uint8_t RTE_Get_Vol_XY_trig(void) { Buttons_SignalType Signal; Signal = k_vol_touch_Sts; // TouchButton_is_TouchActive(BTN_VOL1); if(Allow_Touch_flag==0) { Signal = 0; } return Signal; } uint8_t RTE_Get_ACT_FAULT_OUT_SNS(void) { return 0; } uint8_t RTE_Get_ACT_LD_OUT_SNS(void) { return 0; } // Input CAN uint8_t rtn_data = 0; // LED on off control uint8_t RTE_Get_CAN_ActvnOfSteerWhlIllmn(void) { // uint8_t temp = 0; rtn_data = 0; (void)ReceiveMessage(SIG_ACTVNOFSTEERWHLILLMN, &rtn_data); return rtn_data; } // LED Day/Night Mode switch extern uint8_t Msg30_timeout_flag; uint8_t RTE_Get_CAN_TwliBriSts(void) { // uint8_t temp = 0; rtn_data = 0; (void)ReceiveMessage(SIG_TWLIBRISTS, &rtn_data); if (Msg30_timeout_flag == 1) { rtn_data = 0; } return rtn_data; } uint8_t RTE_Get_CAN_IntrBriSts(void) { // uint8_t temp = 0; rtn_data = 0; (void)ReceiveMessage(SIG_INTRBRISTS, &rtn_data); return rtn_data; } uint8_t RTE_Get_CAN_SteerWhlTouchBdLeFaildFb(void) { // uint8_t temp = 0; rtn_data = 0; //(void)ReceiveMessage(SIG_INTRBRISTS, &rtn_data); return rtn_data; } uint8_t RTE_Get_CAN_SwtOfKeyTone(void) { // uint8_t temp = 0; rtn_data = 0; (void)ReceiveMessage(SIG_SWTOFKEYTONE, &rtn_data); return rtn_data; } // Vibration control uint8_t RTE_Get_CAN_VibrationFbToSwtp(void) { // uint8_t temp = 0; rtn_data = 0; //(void)ReceiveMessage(SIG_SWTOFKEYTONE, &rtn_data); return rtn_data; } uint8_t RTE_Get_CAN_IhuPrivateDHUCanFr01_Frame_Timeout(void) // 0x030 frame { bool result = false; // if (ReadFlagRxErrorSig(SIG_) == COM_TRUE) //{ // result = true; // } return result; } // Output Control void RTE_Set_illumination_BL_PWM(uint32_t Percent) { /* to set PWM for LED ,PWM from 0 to 100*/ uint32_t temp = 0; static uint32_t local_percent = 0xffffffff; // uint8_t LED_Delay = 0; // LED_Delay = SYSTICK_Get1_5_S_Flag(); // if(LED_Delay==1) // { if (Fuction_State == Function_State_A) { if (local_percent != Percent) { local_percent = Percent; if (Percent == 100000 || Percent == 0) // Day mode { temp = (7999 / 100) * Percent / 1000; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else // Night mode { if (Percent == 625) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 729) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 937) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 1146) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 1354) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 1563) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 1875) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 2292) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 2813) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 3333) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 4063) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 4896) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 5938) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 7188) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 8646) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } else if (Percent == 10417) { temp = (7999 / 100) * Percent / 1000; temp /= 2; (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); } } } } // } } // void RTE_Set_Power_AD_Ctrl(uint8_t Value); // ACT control?? uint8_t trigger_ACT = 0; void RTE_Set_ACT_Vibration(uint8_t Sts) { if (Sts == 1) { if (trigger_ACT == 0) { trigger_ACT = 1; // speeker_Tig_Once(50, SA51024_STRENGTH_LEVEL3); } } else { trigger_ACT = 0; } } // void RTE_Set_Gain0(uint8_t Value); // void RTE_Set_Gain1(uint8_t Value); // void RTE_Set_SDZ(uint8_t Value); // void RTE_Set_INP(uint8_t Value); // Output CAN void RTE_Set_CAN_RiMFctActSgCe(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_RIMFCTACTSGCE, &Value); } void RTE_Set_CAN_RiMFctActSgDn(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_RIMFCTACTSGDN, &Value); } void RTE_Set_CAN_RiMFctActSgLe(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_RIMFCTACTSGLE, &Value); } void RTE_Set_CAN_RiMFctActSgRi(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_RIMFCTACTSGRI, &Value); } void RTE_Set_CAN_RiMFctActSgUp(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_RIMFCTACTSGUP, &Value); } void RTE_Set_CAN_SteerWhlTouchBdVoice(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDVOICE, &Value); } void RTE_Set_CAN_SwpLeRiStsRi(uint8_t Value) { InitMessage(SIG_SWPLERISTSRI, &Value); } void RTE_Set_CAN_SwpUpDwnStsRi(uint8_t Value) { InitMessage(SIG_SWPUPDWNSTSRI, &Value); } void RTE_Set_CAN_SldVolCtrlSts(uint8_t Value) { InitMessage(SIG_SLDVOLCTRLSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTRCmnFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRCMNFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTRTouchdFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRTOUCHDFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTRVibrationFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRVIBRATIONFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTRSnsrFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTRSNSRFLTSTS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdMenu(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDMENU, &Value); } void RTE_Set_CAN_SteerWhlTouchBdDn(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDDN, &Value); } void RTE_Set_CAN_SteerWhlTouchBdRiChks(uint8_t Value) { InitMessage(SIG_STEERWHLTOUCHBDRICHKS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdRiCntr(uint8_t Value) { InitMessage(SIG_STEERWHLTOUCHBDRICNTR, &Value); // TouchBoard_RC=Value; } uint8_t g_last_SteerWhlTouchBdSts = BUTTON_RELEASE; void RTE_Set_CAN_SteerWhlTouchBdRiSteerWhlTouchBdSts(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS, &Value); // TouchBoard_Sts=Value; } void RTE_Set_CAN_SteerWhlTouchBdRiTouchPosnX(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDRITOUCHPOSNX, &Value); // TouchBoard_X=Value; } void RTE_Set_CAN_SteerWhlTouchBdRiTouchPosnY(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDRITOUCHPOSNY, &Value); // TouchBoard_Y=Value; } uint8_t Pre_309_req; uint8_t Remain_frame; uint8_t Remain_cnt; uint8_t Remain_X = 0; uint8_t Remain_Y = 0; uint8_t Frame_0x309_RC = 15; void RTE_Set_SEND_CAN_0x309_immediately(uint8_t Value) // called immediately in 10ms task when touch,or touch and press in XY area { uint8_t Current_309_req; Current_309_req = Value; if (Value == 1) { if (Frame_0x309_RC > 14) { Frame_0x309_RC = 0; } else { Frame_0x309_RC++; } InitMessage(SIG_STEERWHLTOUCHBDRICNTR, &Frame_0x309_RC); // Send a 0x309 frame OsekComTxReqFrmSwtrPrivateDHUCanFr01(); } if (Value == 0 && Pre_309_req == 1) { Remain_frame = 1; } Pre_309_req = Current_309_req; if (Remain_frame == 1) { InitMessage(SIG_STEERWHLTOUCHBDRITOUCHPOSNX, &Remain_X); InitMessage(SIG_STEERWHLTOUCHBDRITOUCHPOSNY, &Remain_Y); InitMessage(SIG_STEERWHLTOUCHBDRISTEERWHLTOUCHBDSTS, &Remain_Y); if (Remain_cnt < 2) { if (Frame_0x309_RC > 14) { Frame_0x309_RC = 0; } else { Frame_0x309_RC++; } InitMessage(SIG_STEERWHLTOUCHBDRICNTR, &Frame_0x309_RC); OsekComTxReqFrmSwtrPrivateDHUCanFr01(); Remain_cnt++; } else { Remain_frame = 0; Remain_cnt = 0; } } } void RTE_Set_SEND_CAN_0x307_25ms(uint8_t Value) // when touch,or touch and press in 3 button area,0x305 is sent every 25ms { if (Value == 1) { // Send a 0x307 frame OsekComTxReqFrmSwtrPrivateDHUCanFr02(); } } void RTE_Set_SEND_CAN_0x307_1000ms(uint8_t Value) // when 3 button area is not active,0x305 is Sent every 1000ms { if (Value == 1) { // Send a 0x307 frame OsekComTxReqFrmSwtrPrivateDHUCanFr02(); } } uint8_t UbInitValue = 1; void RTE_Set_All_UB(void) { InitMessage(SIG_DIAGCFAILRTOUCHPANSWTR_UB, &UbInitValue); InitMessage(SIG_RIMFCTACTSGCE_UB, &UbInitValue); InitMessage(SIG_RIMFCTACTSGDN_UB, &UbInitValue); InitMessage(SIG_RIMFCTACTSGLE_UB, &UbInitValue); InitMessage(SIG_RIMFCTACTSGRI_UB, &UbInitValue); InitMessage(SIG_RIMFCTACTSGUP_UB, &UbInitValue); InitMessage(SIG_SLDVOLCTRLSTS_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDDN_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDMENU_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDRI_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDVOICE_UB, &UbInitValue); InitMessage(SIG_SWPLERISTSRI_UB, &UbInitValue); InitMessage(SIG_SWPUPDWNSTSRI_UB, &UbInitValue); InitMessage(SIG_SWTRPARTNOCMPL_UB, &UbInitValue); InitMessage(SIG_SWTRSERNO_UB, &UbInitValue); } const uint16_t max_on_time_arr[16] = { // 0 1 2 3 4 5 6 7 20,20,20,20,20,50,50,50, 50,50,50,50,50,50,50,50, }; const uint16_t low_baseline_reset_arr[16] = { // 0 1 2 3 4 5 6 7 56,51,64,54,56,59,63,60, 60,53,58,56,54,57,55,40, }; #if 1 void RTE_Set_All_Test_Value(void) // 2ms { #if 1 uint16_t Press_baseline; uint16_t Press_signal, Press_preload; uint8_t i,frccdata[8]={0}; static uint32_t Press_reset_counter[16], Press_repeat_counter[16], baseline_error_counter, baseline_error_repeat_counter; static uint32_t low_baseline_reset_counter[16]; Press_baseline = Get_forcedetect_basline_value(); Press_signal = Get_forcedetect_force_value(); Press_preload = Get_forcedetect_preload_value(); // uint16 temp = CurrentPosition; InitMessage(SIG_SWTRPRESSBASELINE, &Press_baseline); // Press_baseline if (Press_signal < 4000) { InitMessage(SIG_SWTRPRESSSIGNAL, &Press_signal); // Press_signal-Convert to N: TouchPanel_PressNValue = ((float32)Press_signal / (float32)0xF2); } // InitMessage(SIG_SWTRPRESSSIGNAL, &Fr08_send_flag); #endif for (i = 0; i < 15; i++) { if (get_sensor_node_signal(i) > (get_sensor_node_reference(i) + qtlib_key_configs_set1[i].channel_threshold)) { Press_reset_counter[i]++; if (Press_reset_counter[i] >= (500 * max_on_time_arr[i])) // { if (Press_repeat_counter[i] == 0) { Press_repeat_counter[i] = 55000; Press_reset_counter[i] = 0; calibrate_node(i); } else { touch_reset2times_flag = 1; } } } else { Press_reset_counter[i] = 0; } if (Press_repeat_counter[i] > 0) { Press_repeat_counter[i]--; } if (get_sensor_node_signal(i) + low_baseline_reset_arr[i] < get_sensor_node_reference(i)) { low_baseline_reset_counter[i]++; if (low_baseline_reset_counter[i] > 250) { low_baseline_reset_counter[i] = 0; calibrate_node(i); } } else { low_baseline_reset_counter[i] = 0; } } for (i = 0; i < 15; i++) { if (get_sensor_node_reference(i) == 0) { baseline_error_counter++; if (baseline_error_counter > 25000) // 50s { if (baseline_error_repeat_counter != 0) { touch_reset2times_flag = 1; } else { baseline_error_repeat_counter = 55000; // 110S ADC0_Initialize(); ADC0_Enable(); } } break; } } if (i == 15) { baseline_error_counter = 0; } if (baseline_error_repeat_counter > 0) { baseline_error_repeat_counter--; } Touch_Sensor_Sts00 = get_sensor_node_signal(0U); Touch_Sensor_Sts01 = get_sensor_node_signal(1U); Touch_Sensor_Sts02 = get_sensor_node_signal(2U); Touch_Sensor_Sts03 = get_sensor_node_signal(3U); Touch_Sensor_Sts04 = get_sensor_node_signal(4U); Touch_Sensor_Sts05 = get_sensor_node_signal(5U); Touch_Sensor_Sts06 = get_sensor_node_signal(6U); Touch_Sensor_Sts07 = get_sensor_node_signal(7U); Touch_Sensor_Sts08 = get_sensor_node_signal(8U); Touch_Sensor_Sts09 = get_sensor_node_signal(9U); Touch_Sensor_Sts10 = get_sensor_node_signal(10U); Touch_Sensor_Sts11 = get_sensor_node_signal(11U); Touch_Sensor_Sts12 = get_sensor_node_signal(12U); Touch_Sensor_Sts13 = get_sensor_node_signal(13U); Touch_Sensor_Sts14 = get_sensor_node_signal(14U); // get_sensor_state Touch_Sensor_Ref00 = get_sensor_node_reference(0U); Touch_Sensor_Ref01 = get_sensor_node_reference(1U); Touch_Sensor_Ref02 = get_sensor_node_reference(2U); Touch_Sensor_Ref03 = get_sensor_node_reference(3U); Touch_Sensor_Ref04 = get_sensor_node_reference(4U); Touch_Sensor_Ref05 = get_sensor_node_reference(5U); Touch_Sensor_Ref06 = get_sensor_node_reference(6U); Touch_Sensor_Ref07 = get_sensor_node_reference(7U); Touch_Sensor_Ref08 = get_sensor_node_reference(8U); Touch_Sensor_Ref09 = get_sensor_node_reference(9U); Touch_Sensor_Ref10 = get_sensor_node_reference(10U); Touch_Sensor_Ref11 = get_sensor_node_reference(11U); Touch_Sensor_Ref12 = get_sensor_node_reference(12U); Touch_Sensor_Ref13 = get_sensor_node_reference(13U); Touch_Sensor_Ref14 = get_sensor_node_reference(14U); Touch_Sensor_CC00 = get_sensor_cc_val(0U); Touch_Sensor_CC01 = get_sensor_cc_val(1U); Touch_Sensor_CC02 = get_sensor_cc_val(2U); Touch_Sensor_CC03 = get_sensor_cc_val(3U); Touch_Sensor_CC04 = get_sensor_cc_val(4U); Touch_Sensor_CC05 = get_sensor_cc_val(5U); Touch_Sensor_CC06 = get_sensor_cc_val(6U); Touch_Sensor_CC07 = get_sensor_cc_val(7U); Touch_Sensor_CC08 = get_sensor_cc_val(8U); Touch_Sensor_CC09 = get_sensor_cc_val(9U); Touch_Sensor_CC10 = get_sensor_cc_val(10U); Touch_Sensor_CC11 = get_sensor_cc_val(11U); Touch_Sensor_CC12 = get_sensor_cc_val(12U); Touch_Sensor_CC13 = get_sensor_cc_val(13U); Touch_Sensor_CC14 = get_sensor_cc_val(14U); frccdata[0] = (uint8_t)Touch_Sensor_CC00; frccdata[1] = Touch_Sensor_CC00>>8; frccdata[2] = (uint8_t)Touch_Sensor_CC01; frccdata[3] = Touch_Sensor_CC01>>8; frccdata[4] = (uint8_t)Touch_Sensor_CC02; frccdata[5] = Touch_Sensor_CC02>>8; frccdata[6] = (uint8_t)Touch_Sensor_CC03; frccdata[7] = Touch_Sensor_CC03>>8; OsekComSetFR09data(frccdata); frccdata[0] = (uint8_t)Touch_Sensor_CC04; frccdata[1] = Touch_Sensor_CC04>>8; frccdata[2] = (uint8_t)Touch_Sensor_CC05; frccdata[3] = Touch_Sensor_CC05>>8; frccdata[4] = (uint8_t)Touch_Sensor_CC06; frccdata[5] = Touch_Sensor_CC06>>8; frccdata[6] = (uint8_t)Touch_Sensor_CC07; frccdata[7] = Touch_Sensor_CC07>>8; OsekComSetFR0Adata(frccdata); frccdata[0] = (uint8_t)Touch_Sensor_CC08; frccdata[1] = Touch_Sensor_CC08>>8; frccdata[2] = (uint8_t)Touch_Sensor_CC09; frccdata[3] = Touch_Sensor_CC09>>8; frccdata[4] = (uint8_t)Touch_Sensor_CC10; frccdata[5] = Touch_Sensor_CC10>>8; frccdata[6] = (uint8_t)Touch_Sensor_CC11; frccdata[7] = Touch_Sensor_CC11>>8; OsekComSetFR0Bdata(frccdata); frccdata[0] = (uint8_t)Touch_Sensor_CC12; frccdata[1] = Touch_Sensor_CC12>>8; frccdata[2] = (uint8_t)Touch_Sensor_CC13; frccdata[3] = Touch_Sensor_CC13>>8; frccdata[4] = (uint8_t)Touch_Sensor_CC14; frccdata[5] = Touch_Sensor_CC14>>8; OsekComSetFR0Cdata(frccdata); Touch_Sensor_delta00 = Touch_Sensor_Sts00 > Touch_Sensor_Ref00 ? Touch_Sensor_Sts00 - Touch_Sensor_Ref00 : 0; Touch_Sensor_delta01 = Touch_Sensor_Sts01 > Touch_Sensor_Ref01 ? Touch_Sensor_Sts01 - Touch_Sensor_Ref01 : 0; Touch_Sensor_delta02 = Touch_Sensor_Sts02 > Touch_Sensor_Ref02 ? Touch_Sensor_Sts02 - Touch_Sensor_Ref02 : 0; Touch_Sensor_delta03 = Touch_Sensor_Sts03 > Touch_Sensor_Ref03 ? Touch_Sensor_Sts03 - Touch_Sensor_Ref03 : 0; Touch_Sensor_delta04 = Touch_Sensor_Sts04 > Touch_Sensor_Ref04 ? Touch_Sensor_Sts04 - Touch_Sensor_Ref04 : 0; Touch_Sensor_delta05 = Touch_Sensor_Sts05 > Touch_Sensor_Ref05 ? Touch_Sensor_Sts05 - Touch_Sensor_Ref05 : 0; Touch_Sensor_delta06 = Touch_Sensor_Sts06 > Touch_Sensor_Ref06 ? Touch_Sensor_Sts06 - Touch_Sensor_Ref06 : 0; Touch_Sensor_delta07 = Touch_Sensor_Sts07 > Touch_Sensor_Ref07 ? Touch_Sensor_Sts07 - Touch_Sensor_Ref07 : 0; Touch_Sensor_delta08 = Touch_Sensor_Sts08 > Touch_Sensor_Ref08 ? Touch_Sensor_Sts08 - Touch_Sensor_Ref08 : 0; Touch_Sensor_delta09 = Touch_Sensor_Sts09 > Touch_Sensor_Ref09 ? Touch_Sensor_Sts09 - Touch_Sensor_Ref09 : 0; Touch_Sensor_delta10 = Touch_Sensor_Sts10 > Touch_Sensor_Ref10 ? Touch_Sensor_Sts10 - Touch_Sensor_Ref10 : 0; Touch_Sensor_delta11 = Touch_Sensor_Sts11 > Touch_Sensor_Ref11 ? Touch_Sensor_Sts11 - Touch_Sensor_Ref11 : 0; Touch_Sensor_delta12 = Touch_Sensor_Sts12 > Touch_Sensor_Ref12 ? Touch_Sensor_Sts12 - Touch_Sensor_Ref12 : 0; Touch_Sensor_delta13 = Touch_Sensor_Sts13 > Touch_Sensor_Ref13 ? Touch_Sensor_Sts13 - Touch_Sensor_Ref13 : 0; Touch_Sensor_delta14 = Touch_Sensor_Sts14 > Touch_Sensor_Ref14 ? Touch_Sensor_Sts14 - Touch_Sensor_Ref14 : 0; // Touch_Sensor_Sts13=g_XY_Touch_And_Below_1N; InitMessage(SIG_SWTRSENSOR1_SIGNAL, &Touch_Sensor_Sts00); InitMessage(SIG_SWTRSENSOR2_SIGNAL, &Touch_Sensor_Sts01); InitMessage(SIG_SWTRSENSOR3_SIGNAL, &Touch_Sensor_Sts02); InitMessage(SIG_SWTRSENSOR4_SIGNAL, &Touch_Sensor_Sts03); InitMessage(SIG_SWTRSENSOR5_SIGNAL, &Touch_Sensor_Sts04); InitMessage(SIG_SWTRSENSOR6_SIGNAL, &Touch_Sensor_Sts05); InitMessage(SIG_SWTRSENSOR7_SIGNAL, &Touch_Sensor_Sts06); InitMessage(SIG_SWTRSENSOR8_SIGNAL, &Touch_Sensor_Sts07); InitMessage(SIG_SWTRSENSOR9_SIGNAL, &Touch_Sensor_Sts08); InitMessage(SIG_SWTRSENSOR10_SIGNAL, &Touch_Sensor_Sts09); InitMessage(SIG_SWTRSENSOR11_SIGNAL, &Touch_Sensor_Sts10); InitMessage(SIG_SWTRSENSOR12_SIGNAL, &Touch_Sensor_Sts11); InitMessage(SIG_SWTRSENSOR13_SIGNAL, &Touch_Sensor_Sts12); InitMessage(SIG_SWTRSENSOR14_SIGNAL, &Touch_Sensor_Sts13); InitMessage(SIG_SWTRSENSOR15_SIGNAL, &Touch_Sensor_Sts14); InitMessage(SIG_SWTRSENSOR1_BASELINE, &Touch_Sensor_Ref00); InitMessage(SIG_SWTRSENSOR2_BASELINE, &Touch_Sensor_Ref01); InitMessage(SIG_SWTRSENSOR3_BASELINE, &Touch_Sensor_Ref02); InitMessage(SIG_SWTRSENSOR4_BASELINE, &Touch_Sensor_Ref03); InitMessage(SIG_SWTRSENSOR5_BASELINE, &Touch_Sensor_Ref04); InitMessage(SIG_SWTRSENSOR6_BASELINE, &Touch_Sensor_Ref05); InitMessage(SIG_SWTRSENSOR7_BASELINE, &Touch_Sensor_Ref06); InitMessage(SIG_SWTRSENSOR8_BASELINE, &Touch_Sensor_Ref07); InitMessage(SIG_SWTRSENSOR9_BASELINE, &Touch_Sensor_Ref08); InitMessage(SIG_SWTRSENSOR10_BASELINE, &Touch_Sensor_Ref09); InitMessage(SIG_SWTRSENSOR11_BASELINE, &Touch_Sensor_Ref10); InitMessage(SIG_SWTRSENSOR12_BASELINE, &Touch_Sensor_Ref11); InitMessage(SIG_SWTRSENSOR13_BASELINE, &Touch_Sensor_Ref12); InitMessage(SIG_SWTRSENSOR14_BASELINE, &Touch_Sensor_Ref13); InitMessage(SIG_SWTRSENSOR15_BASELINE, &Touch_Sensor_Ref14); g16_DiagTouchPressSenRes[0][0] = Touch_Sensor_Ref00; g16_DiagTouchPressSenRes[0][1] = Touch_Sensor_Ref01; g16_DiagTouchPressSenRes[0][2] = Touch_Sensor_Ref02; g16_DiagTouchPressSenRes[0][3] = Touch_Sensor_Ref03; g16_DiagTouchPressSenRes[0][4] = Touch_Sensor_Ref04; g16_DiagTouchPressSenRes[0][5] = Touch_Sensor_Ref05; g16_DiagTouchPressSenRes[0][6] = Touch_Sensor_Ref06; g16_DiagTouchPressSenRes[0][7] = Touch_Sensor_Ref07; g16_DiagTouchPressSenRes[0][8] = Touch_Sensor_Ref08; g16_DiagTouchPressSenRes[0][9] = Touch_Sensor_Ref09; g16_DiagTouchPressSenRes[0][10] = Touch_Sensor_Ref10; g16_DiagTouchPressSenRes[0][11] = Touch_Sensor_Ref11; g16_DiagTouchPressSenRes[0][12] = Touch_Sensor_Ref12; g16_DiagTouchPressSenRes[0][13] = Touch_Sensor_Ref13; g16_DiagTouchPressSenRes[0][14] = Touch_Sensor_Ref14; g16_DiagTouchPressSenRes[1][0] = Touch_Sensor_Sts00; g16_DiagTouchPressSenRes[1][1] = Touch_Sensor_Sts01; g16_DiagTouchPressSenRes[1][2] = Touch_Sensor_Sts02; g16_DiagTouchPressSenRes[1][3] = Touch_Sensor_Sts03; g16_DiagTouchPressSenRes[1][4] = Touch_Sensor_Sts04; g16_DiagTouchPressSenRes[1][5] = Touch_Sensor_Sts05; g16_DiagTouchPressSenRes[1][6] = Touch_Sensor_Sts06; g16_DiagTouchPressSenRes[1][7] = Touch_Sensor_Sts07; g16_DiagTouchPressSenRes[1][8] = Touch_Sensor_Sts08; g16_DiagTouchPressSenRes[1][9] = Touch_Sensor_Sts09; g16_DiagTouchPressSenRes[1][10] = Touch_Sensor_Sts10; g16_DiagTouchPressSenRes[1][11] = Touch_Sensor_Sts11; g16_DiagTouchPressSenRes[1][12] = Touch_Sensor_Sts12; g16_DiagTouchPressSenRes[1][13] = Touch_Sensor_Sts13; g16_DiagTouchPressSenRes[1][14] = Touch_Sensor_Sts14; g16_DiagTouchPressSenRes[2][0] = Press_baseline; g16_DiagTouchPressSenRes[2][1] = Press_signal; g16_DiagTouchPressSenRes[2][2] = Press_preload; uint16_t contact_size = get_scroller_contact_size(0); InitMessage(SIG_SWTRSENSOR16_SIGNAL, &contact_size); uint16_t position = get_scroller_position(0); InitMessage(SIG_SWTRSENSOR16_BASELINE, &position); } #endif