// For SWTL #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" #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 "P417_SWTL_App_ert_rtw/P417_SWTL_App.h" #include "TouchPanel/TouchPanel.h" #include "forceSnsr/forcedetect.h" #include "TLE9263/TLE926x_Main.h" #include "DiagnosticL/UDS/UDS_Services_Common.h" #include "plib_systick.h" #include "FunctionState.h" #include "SysDiagDetect.h" #include "touch_api_ptc.h" // For SWTL // #include "Global.h" #ifndef uint8_t #define uint8_t unsigned char #endif #ifndef uint16_t #define uint16_t unsigned short #endif #ifndef uint32_t #define uint32_t unsigned int #endif #define Cncl_Btn_E2EID ((uint16_t)(0x2136)) // in CAN ID 0x305 extern uint8 CurrentPosition; uint8_t touch_reset2times_flag = 0; uint8_t Two_Finger_Y_count = 0; uint8_t Two_Finger_X_count = 0; uint8_t X_count = 0; uint8_t Y_count = 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; uint16_t Touch_Sensor_Sts15; 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_Ref15; 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_CC15; 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; // TJP2/ADAS2 uint16_t Touch_Sensor_delta14; // Res2 uint16_t Touch_Sensor_delta15; // Cancel2 uint8_t RTE_Get_TouchBoard_CRC(void) { return 0; } volatile uint8_t Cancel_RC; volatile uint8_t Cancel_Sts; volatile uint8_t Cancel_Qf1; uint8_t RTE_Get_RC(void) { return Cancel_RC; } // #define Cncl_Btn_E2EID ((uint16_t)(0x2136)) // in CAN ID 0x305 uint8_t RTE_Get_Cancel_CRC(void) { uint8_t Crc_Value = 0x00; uint8_t i, j; uint8_t Data[5]; Data[0] = (uint8_t)(Cncl_Btn_E2EID & 0x00FF); // E2E ID low byte Data[1] = (uint8_t)((Cncl_Btn_E2EID & 0xFF00) >> 8); // E2E ID high byte Data[2] = Cancel_RC; Data[3] = Cancel_Qf1; Data[4] = Cancel_Sts; for (i = 0; i < 5; i++) { Crc_Value ^= Data[i]; for (j = 0; j < 8; j++) { if (Crc_Value & 0x80u) { Crc_Value <<= 1; Crc_Value ^= 0x1du; } else { Crc_Value <<= 1; } } } Crc_Value ^= 0x00u; return Crc_Value & 0xffu; } // 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_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 RTE_Get_TouchBoard_ADAS1_Sts(void) // TJP1 { Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 2) { Signal = TouchPanel_BtnSignalRead(BTN_ADAS1); } if (Allow_Touch_flag == 0) { Signal = BUTTON_RELEASE; } return Signal; } uint8_t RTE_Get_TouchBoard_ADAS2_Sts(void) // TJP2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_TJP2); return Signal; } uint8_t RTE_Get_TouchBoard_Resu1_Sts(void) // Resume1 { Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 1) { Signal = TouchPanel_BtnSignalRead(BTN_RESUME1); } if (Allow_Touch_flag == 0) { Signal = BUTTON_RELEASE; } return Signal; } uint8_t RTE_Get_TouchBoard_Resu2_Sts(void) // Resume2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_RES2); return Signal; } uint8_t RTE_Get_TouchBoard_Cncl1_Sts(void) // Cancel1 { Buttons_SignalType Signal = BUTTON_RELEASE; if (CurrentPosition == 3) { Signal = TouchPanel_BtnSignalRead(BTN_CANCEL1); } if (Allow_Touch_flag == 0) { Signal = BUTTON_RELEASE; } return Signal; } uint8_t RTE_Get_TouchBoard_Cncl2_Sts(void) // Cancel2 { Buttons_SignalType Signal = BUTTON_RELEASE; // Signal = TouchPanel_BtnSignalRead(BTN_CANCEL2); 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_SWPLERISTSLE_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_SWPUPDWNSTSLE_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 Initial_Movement_Hysteresis 10 #define Next_Movement_Hysteresis 5 #define X_Length 6 #define Y_Length 6 uint8_t X_Buf[X_Length]; uint8_t Y_Buf[Y_Length]; uint8_t X_CNT; uint8_t Y_CNT; uint8_t Stable_CNT_X; uint8_t Stable_CNT_Y; uint8_t X_Update_Flg; uint8_t Y_Update_Flg; uint8_t X_Update; uint8_t Y_Update; uint8_t rtn_X; uint8_t rtn_Y; uint8_t RTE_Get_X_SNS(void) { #if 1 uint8_t i; uint8_t j; uint8 x_pos; uint8 temp; // uint8 rtn=0; if (BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) || BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) || BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1)) { x_pos = 0x00; } else { 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 (x_pos == 0) { rtn_X = 0; } if (Allow_Touch_flag == 0) { rtn_X = 0; } return rtn_X; #endif } // uint8_t RTE_Get_Y1_SNS(void); // uint8_t RTE_Get_Y2_SNS(void); // uint8_t RTE_Get_Y3_SNS(void); // uint8_t RTE_Get_Y4_SNS(void); // uint8_t RTE_Get_Y5_SNS(void); uint8_t RTE_Get_Y_SNS(void) { #if 1 uint8_t i; uint8_t j; uint8 y_pos; uint8 temp; if (BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) || BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) || BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1)) { y_pos = 0x00; } else { 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 (y_pos == 0) { rtn_Y = 0; } if (Allow_Touch_flag == 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; if (Allow_Touch_flag == 1) { // Allow_Touch_flag=1; XY_Sts = TouchSurface_XY_StsRead(); 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; } } return XY_Sts; } uint8_t RTE_Get_ACT_FAULT_OUT_SNS(void) { return 0; } uint8_t RTE_Get_ACT_LD_OUT_SNS(void) { return 0; } uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true { #if 1 uint8_t ret_val = 0; // Buttons_SignalType XY_Sts = BUTTON_RELEASE; 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_delta03; Two_Finger_X_data[1] = Touch_Sensor_delta04; Two_Finger_X_data[2] = Touch_Sensor_delta05; Two_Finger_X_data[3] = Touch_Sensor_delta06; Two_Finger_X_data[4] = Touch_Sensor_delta07; Two_Finger_Y_data[0] = Touch_Sensor_delta08; Two_Finger_Y_data[1] = Touch_Sensor_delta09; Two_Finger_Y_data[2] = Touch_Sensor_delta10; Two_Finger_Y_data[3] = Touch_Sensor_delta11; Two_Finger_Y_data[4] = Touch_Sensor_delta12; th_x[0] = qtlib_key_configs_set1[3].channel_threshold; th_x[1] = qtlib_key_configs_set1[4].channel_threshold; th_x[2] = qtlib_key_configs_set1[5].channel_threshold; th_x[3] = qtlib_key_configs_set1[6].channel_threshold; th_x[4] = qtlib_key_configs_set1[7].channel_threshold; th_y[0] = qtlib_key_configs_set1[8].channel_threshold; th_y[1] = qtlib_key_configs_set1[9].channel_threshold; th_y[2] = qtlib_key_configs_set1[10].channel_threshold; th_y[3] = qtlib_key_configs_set1[11].channel_threshold; th_y[4] = qtlib_key_configs_set1[12].channel_threshold; 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 = 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 && CurrentPosition >= 4) { ret_val = 0x01; } } return ret_val; #endif } // Input CANimage.png 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; } extern uint8_t Msg30_timeout_flag; // LED Day/Night Mode switch 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) { // 100000 means 100% /* 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; // temp = Percent * 0xff / 100; if (Percent == 100000 || Percent == 0) // Day mode { temp = 7999 * Percent / 1000 / 100; // TJP PWM (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 250 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else // Night mode { if (Percent == 625) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 480 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 729) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 540 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 937) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 540 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 1146) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 380 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 1354) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 380 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 1563) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 390 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 1875) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 330 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 2292) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 330 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 2813) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 310 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 3333) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 300 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 4063) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 290 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 4896) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 290 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 5938) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 260 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 7188) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 260 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 8646) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 260 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_t)temp); } else if (Percent == 10417) { Percent /= 2; temp = 7999 * Percent / 1000 / 100; // TJP PWM // IoHw_PWM3_Setter(PWM_CHANNEL_CHANNEL0, temp); (void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)temp); temp = 260 * Percent / 100000; // Res CANCEL PWM TC0_Compare8bitMatch1Set((uint8_t)temp); TC1_Compare8bitMatch0Set((uint8_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_LeMFctActSgCe(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_LEMFCTACTSGCE, &Value); } void RTE_Set_CAN_LeMFctActSgDn(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_LEMFCTACTSGDN, &Value); } void RTE_Set_CAN_LeMFctActSgLe(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_LEMFCTACTSGLE, &Value); } void RTE_Set_CAN_LeMFctActSgRi(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_LEMFCTACTSGRI, &Value); } void RTE_Set_CAN_LeMFctActSgUp(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_LEMFCTACTSGUP, &Value); } void RTE_Set_CAN_SteerWhlTouchBdADAS(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key2 != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDADAS, &Value); } void RTE_Set_CAN_SwpLeRiStsLe(uint8_t Value) { InitMessage(SIG_SWPLERISTSLE, &Value); } void RTE_Set_CAN_SwpUpDwnStsLe(uint8_t Value) { InitMessage(SIG_SWPUPDWNSTSLE, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTLCmnFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLCMNFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTLTouchdFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLTOUCHDFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTLVibrationFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLVIBRATIONFLTSTS, &Value); } void RTE_Set_CAN_DiagcFailrTouchPanSWTLSnsrFltSts(uint8_t Value) { // InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLSNSRFLTSTS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdCnclChks(uint8_t Value) { Value = RTE_Get_Cancel_CRC(); InitMessage(SIG_STEERWHLTOUCHBDCNCLCHKS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdCnclCntr(uint8_t Value) { } void RTE_Set_CAN_SteerWhlTouchBdCnclQf1(uint8_t Value) { if (Touch_Sensor_Fault_key3 != Touch_NoFault) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDCNCLQF1, &Value); Cancel_Qf1 = Value; } void RTE_Set_CAN_SteerWhlTouchBdCnclSteerWhlTouchBdSts(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key3 != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDCNCLSTEERWHLTOUCHBDSTS, &Value); Cancel_Sts = Value; } void RTE_Set_CAN_SteerWhlTouchBdCrsResuQf1(uint8_t Value) { if (Touch_Sensor_Fault_key1 != Touch_NoFault) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDCRSRESUQF1, &Value); } void RTE_Set_CAN_SteerWhlTouchBdCrsResuSteerWhlTouchBdSts(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_key1 != Touch_NoFault) { Value = 0x00; } InitMessage(SIG_STEERWHLTOUCHBDCRSRESUSTEERWHLTOUCHBDSTS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdLeChks(uint8_t Value) { InitMessage(SIG_STEERWHLTOUCHBDLECHKS, &Value); } void RTE_Set_CAN_SteerWhlTouchBdLeCntr(uint8_t Value) { InitMessage(SIG_STEERWHLTOUCHBDLECNTR, &Value); // TouchBoard_RC=Value; } uint8_t g_last_SteerWhlTouchBdSts = BUTTON_RELEASE; uint8_t speeker_Tig_gap_cnt = 0; // kailong remove void RTE_Set_CAN_SteerWhlTouchBdLeSteerWhlTouchBdSts(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } if (Touch_Sensor_Fault_pad != Touch_NoFault) { Value = 0x03; } InitMessage(SIG_STEERWHLTOUCHBDLESTEERWHLTOUCHBDSTS, &Value); // TouchBoard_Sts=Value; } void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNX, &Value); // TouchBoard_X=Value; } void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnY(uint8_t Value) { if (Get_forcedetect_allowed_send_flag() == 0) { Value = 0; } InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNY, &Value); // TouchBoard_Y=Value; } uint8_t Pre_300_req; uint8_t Remain_frame; uint8_t Remain_cnt; uint8_t Remain_X = 0; uint8_t Remain_Y = 0; uint8_t Frame_0x300_RC = 15; void RTE_Set_SEND_CAN_0x300_immediately(uint8_t Value) // called immediately in 10ms task when touch,or touch and press in XY area { uint8_t Current_300_req; Current_300_req = Value; if (Value == 1) { if (Frame_0x300_RC > 14) { Frame_0x300_RC = 0; } else { Frame_0x300_RC++; } InitMessage(SIG_STEERWHLTOUCHBDLECNTR, &Frame_0x300_RC); // Send a 0x300 frame OsekComTxReqFrmSwtlPrivateDHUCanFr01(); } if (Value == 0 && Pre_300_req == 1) { Remain_frame = 1; } Pre_300_req = Current_300_req; if (Remain_frame == 1) { InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNX, &Remain_X); InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNY, &Remain_Y); InitMessage(SIG_STEERWHLTOUCHBDLESTEERWHLTOUCHBDSTS, &Remain_Y); if (Remain_cnt < 2) { if (Frame_0x300_RC > 14) { Frame_0x300_RC = 0; } else { Frame_0x300_RC++; } InitMessage(SIG_STEERWHLTOUCHBDLECNTR, &Frame_0x300_RC); OsekComTxReqFrmSwtlPrivateDHUCanFr01(); Remain_cnt++; } else { Remain_frame = 0; Remain_cnt = 0; } } } uint8_t Cancel_0x305_RC = 15; void RTE_Set_SEND_CAN_0x305_25ms(uint8_t Value) // when touch,or touch and press in 3 button area,0x305 is sent every 25ms { uint8_t temp; if (Value == 1) { if (Cancel_0x305_RC > 14) { Cancel_0x305_RC = 0; } else { Cancel_0x305_RC++; } InitMessage(SIG_STEERWHLTOUCHBDCNCLCNTR, &Cancel_0x305_RC); Cancel_RC = Cancel_0x305_RC; temp = RTE_Get_Cancel_CRC(); InitMessage(SIG_STEERWHLTOUCHBDCNCLCHKS, &temp); // Send a 0x305 frame OsekComTxReqFrmSwtlPrivateDHUCanFr02(); } } void RTE_Set_SEND_CAN_0x305_1000ms(uint8_t Value) // when 3 button area is not active,0x305 is Sent every 1000ms { uint8_t temp; if (Value == 1) { if (Cancel_0x305_RC > 14) { Cancel_0x305_RC = 0; } else { Cancel_0x305_RC++; } InitMessage(SIG_STEERWHLTOUCHBDCNCLCNTR, &Cancel_0x305_RC); Cancel_RC = Cancel_0x305_RC; temp = RTE_Get_Cancel_CRC(); InitMessage(SIG_STEERWHLTOUCHBDCNCLCHKS, &temp); // Send a 0x305 frame OsekComTxReqFrmSwtlPrivateDHUCanFr02(); } } uint8_t UbInitValue = 1; void RTE_Set_All_UB(void) { InitMessage(SIG_DIAGCFAILRTOUCHPANSWTL_UB, &UbInitValue); InitMessage(SIG_LEMFCTACTSGCE_UB, &UbInitValue); InitMessage(SIG_LEMFCTACTSGDN_UB, &UbInitValue); InitMessage(SIG_LEMFCTACTSGLE_UB, &UbInitValue); InitMessage(SIG_LEMFCTACTSGRI_UB, &UbInitValue); InitMessage(SIG_LEMFCTACTSGUP_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDADAS_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDCNCL_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDCRSRESU_UB, &UbInitValue); InitMessage(SIG_STEERWHLTOUCHBDLE_UB, &UbInitValue); InitMessage(SIG_SWPLERISTSLE_UB, &UbInitValue); InitMessage(SIG_SWPUPDWNSTSLE_UB, &UbInitValue); InitMessage(SIG_SWTLPARTNOCMPL_UB, &UbInitValue); InitMessage(SIG_SWTLSERNO_UB, &UbInitValue); } const uint16_t max_on_time_arr[16] = { // 0 1 2 3 4 5 6 7 20,20,20,50,50,50,50,50, 50,50,50,50,50,20,20,20, }; const uint16_t low_baseline_reset_arr[16] = { // 0 1 2 3 4 5 6 7 59,59,52,62,60,62,64,60, 56,59,57,59,59,54,58,52, }; #if 1 void RTE_Set_All_Test_Value(void) { 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(); // Press_baseline=Bat_AD_Val; // Press_signal=LD_AD_Val; // uint16_t temp = CurrentPosition; InitMessage(SIG_SWTLPRESSBASELINE, &Press_baseline); // Press_baseline InitMessage(SIG_SWTLPRESSSIGNAL, &Press_signal); // Press_signal-Convert to N: TouchPanel_PressNValue = ((float32)Press_signal / (float32)0xF2); for (i = 0; i < 16; 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; // 110S 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 < 16; 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 == 16) { baseline_error_counter = 0; } if (baseline_error_repeat_counter > 0) { baseline_error_repeat_counter--; } // uint8_t Touch_Sensor_Sts13; 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); Touch_Sensor_Sts15 = get_sensor_node_signal(15U); 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_Ref15 = get_sensor_node_reference(15U); 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); Touch_Sensor_CC15 = get_sensor_cc_val(15U); 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; frccdata[6] = (uint8_t)Touch_Sensor_CC15; frccdata[7] = Touch_Sensor_CC15>>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_delta15 = Touch_Sensor_Sts15 > Touch_Sensor_Ref15 ? Touch_Sensor_Sts15 - Touch_Sensor_Ref15 : 0; // Touch_Sensor_Sts13=g_XY_Touch_And_Below_1N; InitMessage(SIG_SWTLSENSOR1_SIGNAL, &Touch_Sensor_Sts00); InitMessage(SIG_SWTLSENSOR2_SINGAL, &Touch_Sensor_Sts01); InitMessage(SIG_SWTLSENSOR3_SIGNAL, &Touch_Sensor_Sts02); InitMessage(SIG_SWTLSENSOR4_SIGNAL, &Touch_Sensor_Sts03); InitMessage(SIG_SWTLSENSOR5_SIGNAL, &Touch_Sensor_Sts04); InitMessage(SIG_SWTLSENSOR6_SIGNAL, &Touch_Sensor_Sts05); InitMessage(SIG_SWTLSENSOR7_SIGNAL, &Touch_Sensor_Sts06); InitMessage(SIG_SWTLSENSOR8_SIGNAL, &Touch_Sensor_Sts07); InitMessage(SIG_SWTLSENSOR9_SIGNAL, &Touch_Sensor_Sts08); InitMessage(SIG_SWTLSENSOR10_SIGNAL, &Touch_Sensor_Sts09); InitMessage(SIG_SWTLSENSOR11_SIGNAL, &Touch_Sensor_Sts10); InitMessage(SIG_SWTLSENSOR12_SIGNAL, &Touch_Sensor_Sts11); InitMessage(SIG_SWTLSENSOR13_SIGNAL, &Touch_Sensor_Sts12); InitMessage(SIG_SWTLSENSOR14_SIGNAL, &Touch_Sensor_Sts13); InitMessage(SIG_SWTLSENSOR15_SIGNAL, &Touch_Sensor_Sts14); InitMessage(SIG_SWTLSENSOR16_SIGNAL, &Touch_Sensor_Sts15); InitMessage(SIG_SWTLSENSOR1_BASELINE, &Touch_Sensor_Ref00); InitMessage(SIG_SWTLSENSOR2_BASELINE, &Touch_Sensor_Ref01); InitMessage(SIG_SWTLSENSOR3_BASELINE, &Touch_Sensor_Ref02); InitMessage(SIG_SWTLSENSOR4_BASELINE, &Touch_Sensor_Ref03); InitMessage(SIG_SWTLSENSOR5_BASELINE, &Touch_Sensor_Ref04); InitMessage(SIG_SWTLSENSOR6_BASELINE, &Touch_Sensor_Ref05); InitMessage(SIG_SWTLSENSOR7_BASELINE, &Touch_Sensor_Ref06); InitMessage(SIG_SWTLSENSOR8_BASELINE, &Touch_Sensor_Ref07); InitMessage(SIG_SWTLSENSOR9_BASELINE, &Touch_Sensor_Ref08); InitMessage(SIG_SWTLSENSOR10_BASELINE, &Touch_Sensor_Ref09); InitMessage(SIG_SWTLSENSOR11_BASELINE, &Touch_Sensor_Ref10); InitMessage(SIG_SWTLSENSOR12_BASELINE, &Touch_Sensor_Ref11); InitMessage(SIG_SWTLSENSOR13_BASELINE, &Touch_Sensor_Ref12); InitMessage(SIG_SWTLSENSOR14_BASELINE, &Touch_Sensor_Ref13); InitMessage(SIG_SWTLSENSOR15_BASELINE, &Touch_Sensor_Ref14); InitMessage(SIG_SWTLSENSOR16_BASELINE, &Touch_Sensor_Ref15); 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[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[2][0] = Press_baseline; g16_DiagTouchPressSenRes[2][1] = Press_signal; g16_DiagTouchPressSenRes[2][2] = Press_preload; } #endif