SW0303_20240722
This commit is contained in:
parent
06081cf3a2
commit
ed84735e60
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -1,5 +1,6 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"rte.h": "c"
|
||||
"rte.h": "c",
|
||||
"sysdiagdetect.h": "c"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -2,8 +2,6 @@
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group>
|
||||
<file>file:/F:/work/P417/20240702/P417_SWTL/firmware/src/main.c</file>
|
||||
</group>
|
||||
<group/>
|
||||
</open-files>
|
||||
</project-private>
|
||||
|
@ -80,7 +80,7 @@ static uint8 Touch_Sensor_Fault = 0;
|
||||
static void Touch_Sensor_Diag_Task(void)
|
||||
{
|
||||
static uint16_t fault_count = 0, fault_count2 = 0;
|
||||
uint16 CurrentDiag_Press_signal;
|
||||
//uint16 CurrentDiag_Press_signal;
|
||||
if (Touch_Sensor_delta00 < 200 && Touch_Sensor_delta01 < 200 && Touch_Sensor_delta02 < 200 && Touch_Sensor_delta13 < 200 && Touch_Sensor_delta14 < 200 && Touch_Sensor_delta15 < 200
|
||||
&& Touch_Sensor_delta03 < 300 && Touch_Sensor_delta04 < 300 && Touch_Sensor_delta05 < 300 && Touch_Sensor_delta06 < 300 && Touch_Sensor_delta07 < 300
|
||||
&& Touch_Sensor_delta08 < 300 && Touch_Sensor_delta09 < 300 && Touch_Sensor_delta10 < 300 && Touch_Sensor_delta11 < 300 && Touch_Sensor_delta12 < 300)
|
||||
@ -127,12 +127,13 @@ static void Touch_Sensor_Diag_Task(void)
|
||||
*/
|
||||
}
|
||||
|
||||
extern uint8_t Allow_Touch_flag;//todo
|
||||
static uint8 Vibra_Fault = 0;
|
||||
static void Vibration_Diag_Task(void)
|
||||
{
|
||||
// AD_data=voltage * 4096/3.3V normal:0-0.01(15) short: 0.15(185)-0.36(448) 0.6(742)-0.7(870) 0.95(1177)-1.05(1305) 1.27(1575)-1.39(1727) open:1.55(1921) - 1.72(2136)
|
||||
|
||||
Vibra_Fault = Vibration_Normal;
|
||||
Vibra_Fault = Vibration_Normal;//todo Allow_Touch_flag
|
||||
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLVIBRATIONFLTSTS, &Vibra_Fault);
|
||||
/*
|
||||
if(LD_AD_Val>=0 && LD_AD_Val<=15) //normal
|
||||
|
@ -78,8 +78,8 @@ typedef struct{
|
||||
* Private variables
|
||||
*/
|
||||
const UI_8 NVM_DID_CD_VIN[DLC_DID_CD_VIN] = GAC_VIN_DEFAULT_VALUE;
|
||||
const UI_8 NVM_Reprogramming_Date_App[DLC_DID_REPROGRAMMING_DATE] = {0x20,0x24,0x07,0x04};
|
||||
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','0','7','0','4'};
|
||||
const UI_8 NVM_Reprogramming_Date_App[DLC_DID_REPROGRAMMING_DATE] = {0x20,0x24,0x07,0x22};
|
||||
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','0','7','2','2'};
|
||||
const UI_8 NVM_Repair_Shop_Code[DLC_REPAIR_SHOP_CODE] = GAC_ECU_REPAIR_SHOP_CODE;
|
||||
const UI_8 NVM_DID_CD_HW_VERSION[DLC_GAC_HW_VERSION] = {'H','W','0','5',0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
|
||||
static uint8 RAM_DID_CD_VIN[DLC_DID_CD_VIN];
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "FunctionState.h"
|
||||
#include "plib_port.h"
|
||||
#include "plib_port.h"
|
||||
#include "plib_adc1.h"
|
||||
|
||||
extern uint16 adc[2] ;
|
||||
uint8 Fuction_State = 1 ;
|
||||
@ -14,6 +15,16 @@ void FunctionState_Task(void)
|
||||
static uint16 Into_B_count = 0;
|
||||
|
||||
static uint16 Into_C_count = 0;
|
||||
|
||||
static uint8_t adcResetFlag = 0;
|
||||
|
||||
adcResetFlag = !adcResetFlag;
|
||||
if (adcResetFlag == 0)
|
||||
{
|
||||
ADC1_Initialize();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
LD_AD_Val = adc[1];
|
||||
|
||||
@ -25,7 +36,7 @@ void FunctionState_Task(void)
|
||||
if((adc[0]>581 && adc[0]<862) || (adc[0]>1788 && adc[0]<2014))
|
||||
{
|
||||
Into_B_count++;
|
||||
if(Into_B_count >= 800) //4000ms
|
||||
if(Into_B_count >= 400) //4000ms
|
||||
{
|
||||
Fuction_State = Function_State_B;
|
||||
}
|
||||
@ -33,7 +44,7 @@ void FunctionState_Task(void)
|
||||
else if(adc[0]<581 || adc[0]>2014) //A switch to C
|
||||
{
|
||||
Into_C_count++;
|
||||
if(Into_C_count >= 200) //1000ms
|
||||
if(Into_C_count >= 100) //1000ms
|
||||
{
|
||||
Fuction_State = Function_State_C;
|
||||
}
|
||||
@ -48,7 +59,7 @@ void FunctionState_Task(void)
|
||||
Into_A_count++;
|
||||
|
||||
|
||||
if(Into_A_count >= 100) //500ms
|
||||
if(Into_A_count >= 50) //500ms
|
||||
{
|
||||
Fuction_State = Function_State_A;
|
||||
}
|
||||
@ -56,7 +67,7 @@ void FunctionState_Task(void)
|
||||
else if(adc[0]<581 || adc[0]>2014) //B switch to C
|
||||
{
|
||||
Into_C_count++;
|
||||
if(Into_C_count >= 200) //1000ms
|
||||
if(Into_C_count >= 100) //1000ms
|
||||
{
|
||||
Fuction_State = Function_State_C;
|
||||
}
|
||||
@ -69,7 +80,7 @@ void FunctionState_Task(void)
|
||||
if((adc[0]>614 && adc[0]<897) || (adc[0]>1754 && adc[0]<1979)) //C switch to B
|
||||
{
|
||||
Into_B_count++;
|
||||
if(Into_B_count >= 800) //4000ms
|
||||
if(Into_B_count >= 400) //4000ms
|
||||
{
|
||||
Fuction_State = Function_State_B;
|
||||
}
|
||||
@ -79,7 +90,7 @@ void FunctionState_Task(void)
|
||||
{
|
||||
Into_A_count++;
|
||||
|
||||
if(Into_A_count >= 100) //500ms
|
||||
if(Into_A_count >= 50) //500ms
|
||||
{
|
||||
Fuction_State = Function_State_A;
|
||||
}
|
||||
|
@ -53,8 +53,8 @@
|
||||
#define Cncl_Btn_E2EID ((uint16_t)(0x2136)) // in CAN ID 0x305
|
||||
uint8_t g_speeker_event = 0x00;
|
||||
extern uint8 CurrentPosition;
|
||||
extern uint8_t PressState;
|
||||
|
||||
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;
|
||||
@ -185,22 +185,11 @@ uint8_t RTE_Get_TouchBoard_Up_Sts(void)
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_UP);
|
||||
}
|
||||
|
||||
// if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
// {
|
||||
// Signal = BUTTON_RELEASE;
|
||||
// }else{
|
||||
// Signal = TouchPanel_BtnSignalRead(BTN_UP);
|
||||
// }
|
||||
if(Allow_Touch_flag==0)
|
||||
{
|
||||
Signal = 0;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
|
||||
@ -216,22 +205,11 @@ uint8_t RTE_Get_TouchBoard_Down_Sts(void)
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_DOWN);
|
||||
}
|
||||
|
||||
// if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
// {
|
||||
// Signal = BUTTON_RELEASE;
|
||||
// }else{
|
||||
// Signal = TouchPanel_BtnSignalRead(BTN_DOWN);
|
||||
// }
|
||||
if(Allow_Touch_flag==0)
|
||||
{
|
||||
Signal = 0;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
|
||||
@ -246,22 +224,12 @@ uint8_t RTE_Get_TouchBoard_Left_Sts(void)
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_LEFT);
|
||||
}
|
||||
|
||||
// if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
// {
|
||||
// Signal = BUTTON_RELEASE;
|
||||
// }else{
|
||||
// Signal = TouchPanel_BtnSignalRead(BTN_LEFT);
|
||||
// }
|
||||
|
||||
if(Allow_Touch_flag==0)
|
||||
{
|
||||
Signal = 0;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
|
||||
@ -277,22 +245,11 @@ uint8_t RTE_Get_TouchBoard_Right_Sts(void)
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_RIGHT);
|
||||
}
|
||||
|
||||
// if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
// {
|
||||
// Signal = BUTTON_RELEASE;
|
||||
// }else{
|
||||
// Signal = TouchPanel_BtnSignalRead(BTN_RIGHT);
|
||||
// }
|
||||
if(Allow_Touch_flag==0)
|
||||
{
|
||||
Signal = 0;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
|
||||
@ -304,23 +261,12 @@ uint8_t RTE_Get_TouchBoard_Center_Sts(void)
|
||||
{
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_CONFIRM);
|
||||
}
|
||||
|
||||
// if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
// BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
// {
|
||||
// Signal = BUTTON_RELEASE;
|
||||
// }else{
|
||||
// Signal = TouchPanel_BtnSignalRead(BTN_CONFIRM);
|
||||
// }
|
||||
|
||||
if(Allow_Touch_flag==0)
|
||||
{
|
||||
Signal = 0;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
|
||||
@ -328,16 +274,19 @@ uint8_t RTE_Get_TouchBoard_Center_Sts(void)
|
||||
|
||||
uint8_t RTE_Get_TouchBoard_ADAS1_Sts(void)//TJP1
|
||||
{
|
||||
|
||||
Buttons_SignalType Signal = BUTTON_RELEASE;
|
||||
|
||||
if(CurrentPosition == 2)
|
||||
{
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_ADAS1);
|
||||
}
|
||||
if (PressState == 0)
|
||||
if(Allow_Touch_flag == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
|
||||
return Signal;
|
||||
}
|
||||
uint8_t RTE_Get_TouchBoard_ADAS2_Sts(void)//TJP2
|
||||
@ -351,17 +300,18 @@ uint8_t RTE_Get_TouchBoard_ADAS2_Sts(void)//TJP2
|
||||
|
||||
uint8_t RTE_Get_TouchBoard_Resu1_Sts(void)//Resume1
|
||||
{
|
||||
|
||||
Buttons_SignalType Signal = BUTTON_RELEASE;
|
||||
|
||||
if(CurrentPosition == 1)
|
||||
{
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_RESUME1);
|
||||
}
|
||||
|
||||
if (PressState == 0)
|
||||
if(Allow_Touch_flag == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
return Signal;
|
||||
}
|
||||
uint8_t RTE_Get_TouchBoard_Resu2_Sts(void)//Resume2
|
||||
@ -374,17 +324,20 @@ uint8_t RTE_Get_TouchBoard_Resu2_Sts(void)//Resume2
|
||||
|
||||
uint8_t RTE_Get_TouchBoard_Cncl1_Sts(void)//Cancel1
|
||||
{
|
||||
|
||||
Buttons_SignalType Signal = BUTTON_RELEASE;
|
||||
|
||||
if(CurrentPosition == 3)
|
||||
{
|
||||
Signal = TouchPanel_BtnSignalRead(BTN_CANCEL1);
|
||||
}
|
||||
|
||||
if (PressState == 0)
|
||||
if(Allow_Touch_flag == 0)
|
||||
{
|
||||
Signal = BUTTON_RELEASE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return Signal;
|
||||
}
|
||||
uint8_t RTE_Get_TouchBoard_Cncl2_Sts(void)//Cancel2
|
||||
@ -481,27 +434,7 @@ uint8_t rtn_Y;
|
||||
|
||||
uint8_t RTE_Get_X_SNS(void)
|
||||
{
|
||||
#if 0
|
||||
uint8_t count;
|
||||
uint16_t sum_x=0;
|
||||
uint8 x_pos;
|
||||
GetSurface_Position(&x_pos, NULL_PTR);
|
||||
X_Buf[X_CNT++]=x_pos;
|
||||
if(X_CNT==X_Length)
|
||||
{
|
||||
X_CNT=0;
|
||||
}
|
||||
for(count=0;count<X_Length;count++)
|
||||
{
|
||||
sum_x+=(uint16_t)X_Buf[count];
|
||||
}
|
||||
if(x_pos==0)
|
||||
{
|
||||
sum_x=0;
|
||||
}
|
||||
return (uint8_t)(sum_x/X_Length);
|
||||
#endif
|
||||
|
||||
|
||||
#if 1
|
||||
uint8_t i;
|
||||
uint8_t j;
|
||||
@ -589,26 +522,6 @@ uint8_t RTE_Get_X_SNS(void)
|
||||
//uint8_t RTE_Get_Y5_SNS(void);
|
||||
uint8_t RTE_Get_Y_SNS(void)
|
||||
{
|
||||
#if 0
|
||||
uint8_t count;
|
||||
uint16_t sum_y=0;
|
||||
uint8 y_pos;
|
||||
GetSurface_Position(NULL_PTR, &y_pos);
|
||||
Y_Buf[Y_CNT++]=y_pos;
|
||||
if(Y_CNT==Y_Length)
|
||||
{
|
||||
Y_CNT=0;
|
||||
}
|
||||
for(count=0;count<Y_Length;count++)
|
||||
{
|
||||
sum_y+=(uint16_t)Y_Buf[count];
|
||||
}
|
||||
if(y_pos==0)
|
||||
{
|
||||
sum_y=0;
|
||||
}
|
||||
return (uint8_t)(sum_y/Y_Length);
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
uint8_t i;
|
||||
@ -695,31 +608,11 @@ uint8_t RTE_Get_TouchBoard_XY_Sts(void)//Not active,Touch,Touch and Press,invali
|
||||
{
|
||||
//PanelPress_LevelType Press_Level;
|
||||
Buttons_SignalType XY_Sts = BUTTON_RELEASE;
|
||||
#if 0
|
||||
if(BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_RESUME1) ||
|
||||
BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_CANCEL1) ||
|
||||
BUTTON_RELEASE != TouchPanel_BtnSignalRead(BTN_ADAS1))
|
||||
{
|
||||
g_XY_Touch_And_Below_1N = 0x00;
|
||||
XY_Sts = BUTTON_RELEASE;
|
||||
}
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
#else
|
||||
|
||||
if((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
|
||||
{
|
||||
Allow_Touch_flag=1;
|
||||
//Allow_Touch_flag=1;
|
||||
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;
|
||||
@ -729,13 +622,27 @@ uint8_t RTE_Get_TouchBoard_XY_Sts(void)//Not active,Touch,Touch and Press,invali
|
||||
}
|
||||
else
|
||||
{
|
||||
Allow_Touch_flag=0;
|
||||
|
||||
Allow_Touch_flag=0;
|
||||
|
||||
}
|
||||
#endif
|
||||
if (PressState == 0)
|
||||
|
||||
/*
|
||||
if (Two_Finger_Y_count > 4 && Two_Finger_X_count > 4)
|
||||
{
|
||||
XY_Sts = 0;
|
||||
Allow_Touch_flag=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
@ -751,14 +658,7 @@ uint8_t RTE_Get_ACT_LD_OUT_SNS(void)
|
||||
|
||||
uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
{
|
||||
#if 0
|
||||
uint8_t ret_val = 0;
|
||||
if(g_XY_Touch_And_Below_1N == TRUE)
|
||||
{
|
||||
ret_val = 0x01;
|
||||
}
|
||||
return ret_val;
|
||||
#endif
|
||||
|
||||
|
||||
#if 1
|
||||
uint8_t ret_val = 0;
|
||||
@ -767,7 +667,7 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
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;
|
||||
|
||||
@ -784,14 +684,23 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
Two_Finger_X_data[3]=Touch_Sensor_delta11;
|
||||
Two_Finger_X_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]>25)
|
||||
if(Two_Finger_Y_data[i]>th_y[i])
|
||||
{
|
||||
Two_Finger_Y_count++;
|
||||
}
|
||||
@ -799,11 +708,11 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
|
||||
i=0;
|
||||
Y_count=0;
|
||||
while(Two_Finger_Y_data[i++]<=25 && i<5);
|
||||
while(Two_Finger_Y_data[i]<=th_y[i++] && i<5);
|
||||
i--;
|
||||
for(;i<5;i++)
|
||||
{
|
||||
if(Two_Finger_Y_data[i]<=25)
|
||||
if(Two_Finger_Y_data[i]<=th_y[i])
|
||||
break;
|
||||
else
|
||||
Y_count++;
|
||||
@ -814,7 +723,7 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
Two_Finger_X_count=0;
|
||||
for(m=0;m<5;m++)
|
||||
{
|
||||
if(Two_Finger_X_data[m]>25)
|
||||
if(Two_Finger_X_data[m]>th_x[m])
|
||||
{
|
||||
Two_Finger_X_count++;
|
||||
}
|
||||
@ -822,11 +731,11 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
}
|
||||
m=0;
|
||||
X_count=0;
|
||||
while(Two_Finger_X_data[m++]<=25 && m<5);
|
||||
while(Two_Finger_X_data[m]<=th_x[m++] && m<5);
|
||||
m--;
|
||||
for(;m<5;m++)
|
||||
{
|
||||
if(Two_Finger_X_data[m]<=25)
|
||||
if(Two_Finger_X_data[m]<=th_x[m])
|
||||
break;
|
||||
else
|
||||
X_count++;
|
||||
@ -835,17 +744,6 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
|
||||
|
||||
if((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
|
||||
{
|
||||
/*
|
||||
XY_Sts = TouchSurface_XY_StsRead();
|
||||
if(XY_Sts>0)
|
||||
{
|
||||
ret_val=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ret_val=0;
|
||||
}
|
||||
*/
|
||||
if(g_XY_Touch_And_Below_1N == TRUE && CurrentPosition>=4)
|
||||
{
|
||||
ret_val = 0x01;
|
||||
@ -1160,26 +1058,52 @@ else
|
||||
//Output CAN
|
||||
void RTE_Set_CAN_LeMFctActSgCe(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
|
||||
InitMessage(SIG_LEMFCTACTSGCE, &Value);
|
||||
}
|
||||
|
||||
void RTE_Set_CAN_LeMFctActSgDn(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_LEMFCTACTSGDN, &Value);
|
||||
}
|
||||
|
||||
void RTE_Set_CAN_LeMFctActSgLe(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_LEMFCTACTSGLE, &Value);
|
||||
}
|
||||
|
||||
void RTE_Set_CAN_LeMFctActSgRi(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_LEMFCTACTSGRI, &Value);
|
||||
}
|
||||
|
||||
void RTE_Set_CAN_LeMFctActSgUp(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_LEMFCTACTSGUP, &Value);
|
||||
}
|
||||
|
||||
@ -1188,7 +1112,11 @@ uint8_t g_TouchBoard_ADAS1_Sts = BUTTON_RELEASE;
|
||||
void RTE_Set_CAN_SteerWhlTouchBdADAS(uint8_t Value)
|
||||
{
|
||||
|
||||
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
if((Value == BUTTON_TOUCH_AND_PRESS && g_TouchBoard_ADAS1_Sts != BUTTON_TOUCH_AND_PRESS) ||
|
||||
(Value != BUTTON_TOUCH_AND_PRESS && g_TouchBoard_ADAS1_Sts == BUTTON_TOUCH_AND_PRESS))
|
||||
{
|
||||
@ -1248,18 +1176,14 @@ void RTE_Set_CAN_SteerWhlTouchBdCnclQf1(uint8_t Value)
|
||||
|
||||
}
|
||||
|
||||
uint8_t g_TouchBoard_Cncl1_Sts = BUTTON_RELEASE;
|
||||
void RTE_Set_CAN_SteerWhlTouchBdCnclSteerWhlTouchBdSts(uint8_t Value)
|
||||
{
|
||||
|
||||
|
||||
if((Value == BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Cncl1_Sts != BUTTON_TOUCH_AND_PRESS) ||
|
||||
(Value != BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Cncl1_Sts == BUTTON_TOUCH_AND_PRESS))
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
g_speeker_event |= 0x02;
|
||||
//speeker_Tig_Once(60, SA51024_STRENGTH_LEVEL3);
|
||||
Value = 0;
|
||||
}
|
||||
g_TouchBoard_Cncl1_Sts = Value;
|
||||
|
||||
InitMessage(SIG_STEERWHLTOUCHBDCNCLSTEERWHLTOUCHBDSTS, &Value);
|
||||
Cancel_Sts=Value;
|
||||
}
|
||||
@ -1269,18 +1193,16 @@ void RTE_Set_CAN_SteerWhlTouchBdCrsResuQf1(uint8_t Value)
|
||||
InitMessage(SIG_STEERWHLTOUCHBDCRSRESUQF1, &Value);
|
||||
}
|
||||
|
||||
uint8_t g_TouchBoard_Resu1_Sts = BUTTON_RELEASE;
|
||||
|
||||
void RTE_Set_CAN_SteerWhlTouchBdCrsResuSteerWhlTouchBdSts(uint8_t Value)
|
||||
{
|
||||
|
||||
|
||||
if((Value == BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Resu1_Sts != BUTTON_TOUCH_AND_PRESS) ||
|
||||
(Value != BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Resu1_Sts == BUTTON_TOUCH_AND_PRESS))
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
g_speeker_event |= 0x04;
|
||||
//speeker_Tig_Once(60, SA51024_STRENGTH_LEVEL3);
|
||||
Value = 0;
|
||||
}
|
||||
g_TouchBoard_Resu1_Sts = Value;
|
||||
|
||||
InitMessage(SIG_STEERWHLTOUCHBDCRSRESUSTEERWHLTOUCHBDSTS, &Value);
|
||||
}
|
||||
|
||||
@ -1301,47 +1223,12 @@ uint8_t speeker_Tig_gap_cnt = 0;//kailong remove
|
||||
void RTE_Set_CAN_SteerWhlTouchBdLeSteerWhlTouchBdSts(uint8_t Value)
|
||||
{
|
||||
//kailong
|
||||
|
||||
#if 1
|
||||
if((Value == BUTTON_TOUCH_AND_PRESS && g_last_SteerWhlTouchBdSts != BUTTON_TOUCH_AND_PRESS) ||
|
||||
(Value != BUTTON_TOUCH_AND_PRESS && g_last_SteerWhlTouchBdSts == BUTTON_TOUCH_AND_PRESS))
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
g_speeker_event |= 0x08;
|
||||
Value = 0;
|
||||
}
|
||||
|
||||
if(speeker_Tig_gap_cnt != 0x00){
|
||||
speeker_Tig_gap_cnt--;
|
||||
}
|
||||
|
||||
if(g_speeker_event != 0x00)
|
||||
{
|
||||
|
||||
|
||||
if(speeker_Tig_gap_cnt == 0x00)
|
||||
{
|
||||
if((g_speeker_event&0x07) != 0x00)// ADAS1 Resu1 Cncl1
|
||||
{
|
||||
// speeker_Tig_Once(49, SA51024_STRENGTH_LEVEL2);
|
||||
speeker_Tig_gap_cnt = 25;//25ms
|
||||
}
|
||||
else if(g_speeker_event&0x08)
|
||||
{
|
||||
if(g_TouchBoard_ADAS1_Sts == BUTTON_RELEASE &&
|
||||
g_TouchBoard_Resu1_Sts == BUTTON_RELEASE &&
|
||||
g_TouchBoard_Cncl1_Sts == BUTTON_RELEASE)
|
||||
{
|
||||
// speeker_Tig_Once(49, SA51024_STRENGTH_LEVEL2);
|
||||
speeker_Tig_gap_cnt = 25;//25ms
|
||||
}
|
||||
}
|
||||
}
|
||||
g_speeker_event = 0x00;
|
||||
}
|
||||
|
||||
|
||||
g_last_SteerWhlTouchBdSts = Value;
|
||||
#endif
|
||||
|
||||
|
||||
InitMessage(SIG_STEERWHLTOUCHBDLESTEERWHLTOUCHBDSTS, &Value);
|
||||
//TouchBoard_Sts=Value;
|
||||
@ -1350,11 +1237,21 @@ void RTE_Set_CAN_SteerWhlTouchBdLeSteerWhlTouchBdSts(uint8_t Value)
|
||||
|
||||
void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNX, &Value);
|
||||
//TouchBoard_X=Value;
|
||||
}
|
||||
void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnY(uint8_t Value)
|
||||
{
|
||||
uint16_t Press_signal = Get_forcedetect_force_value();
|
||||
if (Press_signal < 50 || Press_signal >= 2048)
|
||||
{
|
||||
Value = 0;
|
||||
}
|
||||
InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNY, &Value);
|
||||
//TouchBoard_Y=Value;
|
||||
}
|
||||
@ -1479,6 +1376,8 @@ void RTE_Set_All_Test_Value(void)
|
||||
{
|
||||
uint16_t Press_baseline;
|
||||
uint16_t Press_signal,Press_preload;
|
||||
uint8_t i,sensor_state;
|
||||
static uint32_t Press_reset_counter[16],Press_repeat_counter[16],baseline_error_counter,baseline_error_repeat_counter;
|
||||
Press_baseline=Get_forcedetect_basline_value();
|
||||
Press_signal=Get_forcedetect_force_value();
|
||||
Press_preload = Get_forcedetect_preload_value();
|
||||
@ -1488,8 +1387,68 @@ void RTE_Set_All_Test_Value(void)
|
||||
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 < 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] > 25000)//50s = 50000 ms
|
||||
{
|
||||
if (Press_repeat_counter[i] == 0)
|
||||
{
|
||||
Press_repeat_counter[i] = 55000;//110S
|
||||
Press_reset_counter[i] = 0;
|
||||
//update_sensor_node_reference(i,get_sensor_node_signal(i));
|
||||
}
|
||||
else
|
||||
{
|
||||
touch_reset2times_flag = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Press_reset_counter[i] = 0;
|
||||
}
|
||||
|
||||
if (Press_repeat_counter[i] > 0)
|
||||
{
|
||||
Press_repeat_counter[i]--;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
if (i == 16)
|
||||
{
|
||||
baseline_error_counter = 0;
|
||||
}
|
||||
if (baseline_error_repeat_counter > 0)
|
||||
{
|
||||
baseline_error_repeat_counter--;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -32,9 +32,13 @@ void Tle9263_Init(void) {
|
||||
#endif
|
||||
//sbc_configure_watchdog(TIME_OUT_WD, WD_STARTS_AFTER_CAN_LIN_WAKE, WD_1000MS);
|
||||
}
|
||||
|
||||
extern uint8_t touch_reset2times_flag;
|
||||
void Tle9263_MainTask(void) {
|
||||
/* Trigger Watchdog every 100ms */
|
||||
if (touch_reset2times_flag == 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (timeref ++ > 5) {
|
||||
sbc_wd_trigger();
|
||||
timeref = 0;
|
||||
|
@ -21,9 +21,7 @@
|
||||
#include "calib_public.h"
|
||||
#include "smartee.h"
|
||||
#include "SysDiagDetect.h"
|
||||
//#define DEBUG_TEST
|
||||
//#define PRESS_DEBUG
|
||||
//#define TOUCH_DEBUG
|
||||
|
||||
|
||||
static uint16 sensor_signal[DEF_NUM_CHANNELS] = {0};
|
||||
static uint16 sensor_reference[DEF_NUM_CHANNELS] = {0};
|
||||
@ -46,14 +44,12 @@ volatile uint8 Vibra_force_level=0;
|
||||
volatile uint8 last_Vibra_force_level=0;
|
||||
volatile uint8 Over3N_vibra_req = 0x00;
|
||||
volatile uint8 Below1P5N_vibra_req = 0x00;
|
||||
uint8_t PressState=0;
|
||||
|
||||
|
||||
uint8 UDS_Vibration_Gain = 0;
|
||||
uint8 UDS_DAC_Timer_Period = 80;
|
||||
uint8 Touch_Flag = TOUCH_KET_OFF;
|
||||
#if defined(PRESS_DEBUG) || defined(TOUCH_DEBUG) || defined(DEBUG_TEST)
|
||||
extern void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t_can_data can_data);
|
||||
#endif
|
||||
|
||||
|
||||
uint8 CurrentPosition = 0xff;//0xff no position 1:fun1 2:fun2 3:fun3 4:up 5:down 6:left 7:right 8:ok
|
||||
uint8 Surface_Button = 0xff;
|
||||
@ -535,10 +531,7 @@ boolean TouchSurface_is_TouchActive(void)
|
||||
{
|
||||
ret = TRUE;
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
ret = FALSE;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -566,88 +559,11 @@ Buttons_SignalType TouchSurface_XY_StsRead(void)
|
||||
|
||||
|
||||
}
|
||||
if (PressState == 0)
|
||||
{
|
||||
XY_Sts = FALSE;
|
||||
}
|
||||
|
||||
return XY_Sts;
|
||||
}
|
||||
|
||||
|
||||
//kailong
|
||||
|
||||
#if 0
|
||||
uint8 Vibra_PressCheck(void)
|
||||
{
|
||||
uint16 RawData = 0;
|
||||
uint16 temp_RawData = 0;
|
||||
static uint16 LastRawData = 0;
|
||||
static PanelPress_LevelType Last_PressLevel = PANEL_PRESS_LEVEL0;
|
||||
PanelPress_LevelType ret_Press = PANEL_PRESS_LEVEL0;
|
||||
float32 FilterValue;
|
||||
float32 PressNValueTable[3][2] = {
|
||||
{1.5f, 3.0f},
|
||||
{0.5f, 3.6f},
|
||||
{0.8f, 2.0f}
|
||||
};
|
||||
|
||||
if(Last_PressLevel > PANEL_PRESS_LEVEL2){ Last_PressLevel = PANEL_PRESS_LEVEL0;}
|
||||
////if(TRUE == GET_TouchPanel_is_Press())
|
||||
temp_RawData = (0xfff & Get_forcedetect_force_value());
|
||||
if(SPEAKER_UPDATE_CYCLE == Get_Speaker_Main_State() || SPEAKER_START == Get_Speaker_Main_State())
|
||||
{
|
||||
RawData = LastRawData;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(temp_RawData&0x800)//negative
|
||||
{
|
||||
RawData = 0x00;
|
||||
}else{
|
||||
RawData = temp_RawData;
|
||||
}
|
||||
|
||||
if(abs(RawData - LastRawData) > (10*0xF2))
|
||||
{
|
||||
RawData = LastRawData;
|
||||
}
|
||||
}
|
||||
|
||||
TouchPanel_PressRawData = RawData;
|
||||
TouchPanel_PressNValue = ((float32)RawData / (float32)0xF2);
|
||||
FilterValue = AlideAverage_Filter(1, TouchPanel_PressNValue);
|
||||
if(FilterValue < PressNValueTable[Last_PressLevel][0]){//< 1N
|
||||
ret_Press = PANEL_PRESS_LEVEL0;
|
||||
}else if(FilterValue >= PressNValueTable[Last_PressLevel][0] &&
|
||||
FilterValue < PressNValueTable[Last_PressLevel][1]){//1N~~3N
|
||||
ret_Press = PANEL_PRESS_LEVEL1;
|
||||
}else{//>=3
|
||||
ret_Press = PANEL_PRESS_LEVEL2;
|
||||
}
|
||||
|
||||
LastRawData = RawData;
|
||||
Last_PressLevel = ret_Press;
|
||||
#ifdef PRESS_DEBUG
|
||||
{
|
||||
uint8 data[8] = {0};
|
||||
data[0] = (uint8)(10*FilterValue);
|
||||
data[1] = (uint8)(10*TouchPanel_PressNValue);
|
||||
data[2] = (uint8)(ret_Press);
|
||||
|
||||
|
||||
data[5] =(uint8)(TouchPanel_PressRawData & 0xff) ;
|
||||
data[4] =(uint8)(( TouchPanel_PressRawData &0xff00)>>8);
|
||||
CanTx(0, true, 0x111, 8, data);
|
||||
}
|
||||
#endif
|
||||
return ret_Press;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
//kailong
|
||||
|
||||
|
||||
|
||||
|
||||
static PanelPress_LevelType TouchPanel_PressCheck(void)
|
||||
@ -929,21 +845,12 @@ static Buttons_SignalType TouchSurface_BntCheck(Buttons_ChType ChId, TouchPanel_
|
||||
switch (TouchPanel_PressLevel)
|
||||
{
|
||||
case PANEL_PRESS_LEVEL0:
|
||||
//PB_force_Reach2_flag = 0;
|
||||
BSignal = BUTTON_TOUCH;
|
||||
break;
|
||||
case PANEL_PRESS_LEVEL1:
|
||||
//if(PB_force_Reach2_flag == 1)
|
||||
//{
|
||||
//BSignal = BUTTON_TOUCH_AND_PRESS;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
BSignal = BUTTON_TOUCH;
|
||||
// }
|
||||
break;
|
||||
case PANEL_PRESS_LEVEL2:
|
||||
//PB_force_Reach2_flag = 1;
|
||||
BSignal = BUTTON_TOUCH_AND_PRESS;
|
||||
break;
|
||||
default:
|
||||
@ -967,6 +874,11 @@ static Buttons_SignalType TouchButton_BntCheck(Buttons_ChType ChId)
|
||||
if(ChId == BTN_RESUME1 || ChId == BTN_ADAS1 || ChId == BTN_CANCEL1)
|
||||
{
|
||||
key_status[ChId].status = get_sensor_state(ChId);
|
||||
if (ChId == BTN_CANCEL1)
|
||||
{
|
||||
key_status[ChId].status = (get_sensor_state(ChId) == QTM_KEY_STATE_DETECT || get_sensor_state(ChId+13) == QTM_KEY_STATE_DETECT)?QTM_KEY_STATE_DETECT:get_sensor_state(ChId);
|
||||
}
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == (key_status[ChId].status)) {//KEY_TOUCHED_MASK
|
||||
//Touch detect
|
||||
key_status[ChId].RunCycle++;
|
||||
@ -977,35 +889,25 @@ static Buttons_SignalType TouchButton_BntCheck(Buttons_ChType ChId)
|
||||
|
||||
if(Force_Sens_Err == 0)
|
||||
{
|
||||
switch (TouchPanel_PressLevel)
|
||||
{
|
||||
case PANEL_PRESS_LEVEL0:
|
||||
//TB_force_Reach2_flag = 0;
|
||||
BSignal = BUTTON_TOUCH;
|
||||
case PANEL_PRESS_LEVEL1:
|
||||
//if(TB_force_Reach2_flag == 1)
|
||||
// {
|
||||
//BSignal = BUTTON_TOUCH_AND_PRESS;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
BSignal = BUTTON_TOUCH;
|
||||
// }
|
||||
break;
|
||||
case PANEL_PRESS_LEVEL2:
|
||||
//TB_force_Reach2_flag = 1;
|
||||
BSignal = BUTTON_TOUCH_AND_PRESS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (TouchPanel_PressLevel)
|
||||
{
|
||||
case PANEL_PRESS_LEVEL0:
|
||||
BSignal = BUTTON_TOUCH;
|
||||
case PANEL_PRESS_LEVEL1:
|
||||
BSignal = BUTTON_TOUCH;
|
||||
// }
|
||||
break;
|
||||
case PANEL_PRESS_LEVEL2:
|
||||
BSignal = BUTTON_TOUCH_AND_PRESS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else //backup When force sensor error happened
|
||||
{
|
||||
BSignal = BUTTON_TOUCH;
|
||||
}
|
||||
else //backup When force sensor error happened
|
||||
{
|
||||
|
||||
BSignal = BUTTON_TOUCH;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
@ -1086,24 +988,7 @@ static TP_SlideDirection_Enum GetSlide_Direction(uint8 startX, uint8 startY, uin
|
||||
return result;
|
||||
}
|
||||
|
||||
#if 0
|
||||
uint8 KalmanFilter(uint8 inData, uint8 Dtype)
|
||||
{
|
||||
static float32 kalman[2] = {0};
|
||||
static float32 p[2] = {10, 10};
|
||||
float32 q = 0.001;
|
||||
float32 r = 0.001;
|
||||
float32 kg = 0;
|
||||
if(Dtype < 2)
|
||||
{
|
||||
p[Dtype] += q;
|
||||
kg = p[Dtype] / ( p[Dtype] + r );
|
||||
kalman[Dtype] = kalman[Dtype] + (kg * (inData - kalman[Dtype]));
|
||||
p[Dtype] = (1 - kg) * p[Dtype];
|
||||
}
|
||||
return (uint8)kalman[Dtype];
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
struct Point {
|
||||
float x;
|
||||
@ -1164,145 +1049,16 @@ static void TouchPanel_XY_Convert(uint8 origin_x, uint8 origin_y)
|
||||
Surface_Convert.convert_x = convert_x; //KalmanFilter(convert_x, 0);
|
||||
Surface_Convert.convert_y = convert_y; //KalmanFilter(convert_y, 0);
|
||||
}
|
||||
#ifdef TOUCH_DEBUG
|
||||
#if 0
|
||||
static uint8 xAlideAverage_Filter(uint8 module, uint8 mode, uint8 RawData)
|
||||
{
|
||||
#define MAX_MODULE 8
|
||||
#define XMAX_ALIDE_AVG_NUM 3
|
||||
static uint16 CalcAverageNum[MAX_MODULE] = {0};
|
||||
static uint16 DIndex[MAX_MODULE] = {0};
|
||||
static uint16 Mode_Status[MAX_MODULE] = {0};
|
||||
static uint8 RawData_Table[MAX_MODULE][XMAX_ALIDE_AVG_NUM] = {0};
|
||||
uint16 i;
|
||||
uint32 Sum = 0;
|
||||
uint8 AverageValue = 0;
|
||||
if(mode == 0x00){
|
||||
CalcAverageNum[module] = 0;
|
||||
DIndex[module] = 0;
|
||||
Mode_Status[module] = 0;
|
||||
for(i=0; i<XMAX_ALIDE_AVG_NUM; i++){
|
||||
RawData_Table[module][i] = 0;
|
||||
}
|
||||
}else{
|
||||
if(Mode_Status[module] == 0x00)
|
||||
{
|
||||
if(CalcAverageNum[module] < XMAX_ALIDE_AVG_NUM)
|
||||
{
|
||||
RawData_Table[module][CalcAverageNum[module]++] = RawData;
|
||||
for(i=0; i<CalcAverageNum[module]; i++)
|
||||
{
|
||||
Sum += RawData_Table[module][i];
|
||||
}
|
||||
}
|
||||
if(CalcAverageNum[module] >= XMAX_ALIDE_AVG_NUM)
|
||||
{
|
||||
Mode_Status[module] = 0x01;
|
||||
DIndex[module] = 0;
|
||||
}
|
||||
AverageValue = Sum/(CalcAverageNum[module]);
|
||||
}
|
||||
else
|
||||
{
|
||||
RawData_Table[module][DIndex[module]++] = RawData;
|
||||
if(DIndex[module] >= XMAX_ALIDE_AVG_NUM){
|
||||
DIndex[module] = 0x00;
|
||||
}
|
||||
for(i=0; i<XMAX_ALIDE_AVG_NUM; i++)
|
||||
{
|
||||
Sum += RawData_Table[module][i];
|
||||
}
|
||||
AverageValue = Sum/XMAX_ALIDE_AVG_NUM;
|
||||
}
|
||||
}
|
||||
return AverageValue;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
void touch_test(void)
|
||||
{
|
||||
#ifdef TOUCH_DEBUG
|
||||
{
|
||||
uint8 touch_data2[8] = {0};
|
||||
uint8 touch_data3[8] = {0};
|
||||
#if 0
|
||||
static uint16 change_flag[2] = {0};
|
||||
static uint8 out_Average[2] = {0};
|
||||
static uint8 FilterCnt[2] = {0};
|
||||
if(TouchSurface_is_TouchActive())
|
||||
{
|
||||
if(change_flag[0] == 0x00){
|
||||
xAlideAverage_Filter(0, 0, TouchSurface.x_position);
|
||||
xAlideAverage_Filter(1, 0, TouchSurface.y_position);
|
||||
change_flag[0] = 1;
|
||||
FilterCnt[0] = 0x00;
|
||||
}
|
||||
else if(change_flag[0] == 1)
|
||||
{
|
||||
TouchSurface.x_position = xAlideAverage_Filter(0, 1, TouchSurface.x_position);
|
||||
TouchSurface.y_position = xAlideAverage_Filter(1, 1, TouchSurface.y_position);
|
||||
if(TouchSurface.Event == TOUCH_PANEL_PRESS_EVENT){
|
||||
FilterCnt[0]++;
|
||||
if(FilterCnt[0] > 3)
|
||||
{
|
||||
FilterCnt[0] = 0x00;
|
||||
out_Average[0] = TouchSurface.x_position;
|
||||
out_Average[1] = TouchSurface.y_position;
|
||||
change_flag[0] = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(TouchSurface.Event == TOUCH_PANEL_PRESS_EVENT)
|
||||
{
|
||||
if(abs(TouchSurface.x_position - out_Average[0]) <= 5 || abs(TouchSurface.y_position - out_Average[1]) <= 5)
|
||||
{
|
||||
TouchSurface.x_position = out_Average[0];
|
||||
TouchSurface.y_position = out_Average[1];
|
||||
}else{
|
||||
TouchSurface.x_position = out_Average[0];
|
||||
TouchSurface.y_position = out_Average[1];
|
||||
change_flag[0] = 1;
|
||||
FilterCnt[0] = 0x00;
|
||||
}
|
||||
}else{
|
||||
change_flag[0] = 0x00;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
change_flag[0] = 0x00;
|
||||
}
|
||||
Surface_Convert.convert_x = TouchSurface.x_position;
|
||||
Surface_Convert.convert_y = TouchSurface.y_position;
|
||||
#endif
|
||||
touch_data2[0] = Surface_Convert.convert_x;
|
||||
touch_data2[1] = Surface_Convert.convert_y;
|
||||
touch_data2[2] = TouchSurface_XY_StsRead();
|
||||
touch_data2[3] = TouchSurface_is_TouchActive();
|
||||
touch_data2[4] = (0xf0&(TouchSurface.Event<<0x04))| (0x0f&(TouchPanel_PressLevelRead())) ;
|
||||
touch_data2[5] = TouchPanel_BtnSignalRead(BTN_RESUME1);
|
||||
touch_data2[6] = TouchPanel_BtnSignalRead(BTN_ADAS1);
|
||||
touch_data2[7] = TouchPanel_BtnSignalRead(BTN_CANCEL1);
|
||||
CanTx(0, true, 0x333, 8, touch_data2);
|
||||
|
||||
touch_data3[0] = TouchPanel_BtnSignalRead(BTN_UP);
|
||||
touch_data3[1] = TouchPanel_BtnSignalRead(BTN_DOWN);
|
||||
touch_data3[2] = TouchPanel_BtnSignalRead(BTN_LEFT);
|
||||
touch_data3[3] = TouchPanel_BtnSignalRead(BTN_RIGHT);
|
||||
touch_data3[4] = TouchPanel_BtnSignalRead(BTN_CONFIRM);
|
||||
CanTx(0, true, 0x444, 8, touch_data3);
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
}
|
||||
|
||||
extern uint8_t Allow_Touch_flag;
|
||||
//static uint16_t touch_delay = 500;
|
||||
void TouchPanel_MainFunction(void)
|
||||
{
|
||||
@ -1327,71 +1083,43 @@ void TouchPanel_MainFunction(void)
|
||||
static uint8 threshold_select_left = 0;
|
||||
static uint8 threshold_select_right = 0;
|
||||
static uint8 threshold_select_confirm = 0;
|
||||
|
||||
|
||||
|
||||
#ifdef DEBUG_TEST
|
||||
volatile uint8 button_touch = 0;
|
||||
volatile uint8 touch_pannel = 0;
|
||||
#endif
|
||||
/*
|
||||
if(Get_forcedetect_force_value() < 50 || Get_forcedetect_force_value()>2047)
|
||||
{
|
||||
if (touch_delay > 0)
|
||||
{
|
||||
touch_delay--;
|
||||
}
|
||||
else
|
||||
{
|
||||
PressState = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
PressState = 1;
|
||||
touch_delay = 500;
|
||||
}*/
|
||||
PressState = 1;
|
||||
touch_process();
|
||||
|
||||
//kailong add
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_ADAS1))
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_ADAS1) && QTM_KEY_STATE_DETECT == get_sensor_state(BTN_ADAS1+13))
|
||||
{
|
||||
//if(CurrentPosition == 0xff)
|
||||
//{
|
||||
CurrentPosition = 2;
|
||||
threshold_select_adas=1;
|
||||
// }
|
||||
CurrentPosition = 2;
|
||||
threshold_select_adas=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
threshold_select_adas=0;
|
||||
}
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1))
|
||||
{
|
||||
//if(CurrentPosition == 0xff)
|
||||
//{
|
||||
CurrentPosition = 1;
|
||||
threshold_select_resume=1;
|
||||
//}
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1) && QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1+13))
|
||||
{
|
||||
|
||||
CurrentPosition = 1;
|
||||
threshold_select_resume=1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
threshold_select_resume=0;
|
||||
threshold_select_resume=0;
|
||||
}
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_CANCEL1))
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_CANCEL1) || QTM_KEY_STATE_DETECT == get_sensor_state(BTN_CANCEL1+13))
|
||||
{
|
||||
//if(CurrentPosition == 0xff)
|
||||
//{
|
||||
CurrentPosition = 3;
|
||||
threshold_select_cancel=1;
|
||||
//}
|
||||
CurrentPosition = 3;
|
||||
threshold_select_cancel=1;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
threshold_select_cancel=0;
|
||||
threshold_select_cancel=0;
|
||||
}
|
||||
|
||||
if((TouchPanel_SurfaceStatus & TOUCH_ACTIVE) == 1)
|
||||
@ -1512,7 +1240,44 @@ void TouchPanel_MainFunction(void)
|
||||
threshold_select_confirm=0;
|
||||
Surface_Button = 0;
|
||||
}
|
||||
|
||||
switch (CurrentPosition)
|
||||
{
|
||||
case 1:
|
||||
g_Trig_Threshold=Button0_GetRESUME1_Trig_Threshold();
|
||||
g_Release_Threshold=Button0_GetRESUME1_Release_Threshold();
|
||||
break;
|
||||
case 2:
|
||||
g_Trig_Threshold= Button3_GetADAS1_Trig_Threshold();
|
||||
g_Release_Threshold= Button3_GetADAS1_Release_Threshold();
|
||||
break;
|
||||
case 3:
|
||||
g_Trig_Threshold=Button5_GetCANCEL1_Trig_Threshold();
|
||||
g_Release_Threshold= Button5_GetCANCEL1_Release_Threshold();
|
||||
break;
|
||||
case 4:
|
||||
g_Trig_Threshold=Button6_GetBTN_UP_Trig_Threshold();
|
||||
g_Release_Threshold= Button6_GetBTN_UP_Release_Threshold();
|
||||
break;
|
||||
case 5:
|
||||
g_Trig_Threshold=Button7_GetBTN_DOWN_Trig_Threshold();
|
||||
g_Release_Threshold= Button7_GetBTN_DOWN_Release_Threshold();
|
||||
break;
|
||||
case 6:
|
||||
g_Trig_Threshold=Button8_GetBTN_LEFT_Trig_Threshold();
|
||||
g_Release_Threshold= Button8_GetBTN_LEFT_Release_Threshold();
|
||||
break;
|
||||
case 7:
|
||||
g_Trig_Threshold=Button9_GetBTN_RIGHT_Trig_Threshold();
|
||||
g_Release_Threshold= Button9_GetBTN_RIGHT_Release_Threshold();
|
||||
break;
|
||||
case 8:
|
||||
g_Trig_Threshold=Button10_GetBTN_CONFIRM_Trig_Threshold();
|
||||
g_Release_Threshold= Button10_GetBTN_CONFIRM_Release_Threshold();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
/*
|
||||
if(threshold_select_resume == 1 && threshold_select_adas==0 && threshold_select_cancel==0 && threshold_select_up==0 && threshold_select_down==0 && threshold_select_left==0 && threshold_select_right==0 && threshold_select_confirm==0 )
|
||||
{
|
||||
g_Trig_Threshold=Button0_GetRESUME1_Trig_Threshold();
|
||||
@ -1557,8 +1322,9 @@ void TouchPanel_MainFunction(void)
|
||||
{
|
||||
g_Trig_Threshold=Button10_GetBTN_CONFIRM_Trig_Threshold();
|
||||
g_Release_Threshold= Button10_GetBTN_CONFIRM_Release_Threshold();
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
//InitMessage(SIG_SWTLSENSOR1_BASELINE, &g_Trig_Threshold);
|
||||
|
||||
TouchPanel_PressLevel = TouchPanel_PressCheck();
|
||||
|
||||
@ -1885,7 +1651,8 @@ void TouchPanel_MainFunction(void)
|
||||
|
||||
if(count == BTN_MAX_CH_NUM)
|
||||
{
|
||||
CurrentPosition = 0xff;
|
||||
CurrentPosition = 0xff;
|
||||
//Allow_Touch_flag=1;
|
||||
}
|
||||
|
||||
|
||||
@ -1894,39 +1661,9 @@ void TouchPanel_MainFunction(void)
|
||||
TouchSurface.Event = TOUCH_PANEL_NONE_EVENT;
|
||||
}
|
||||
|
||||
|
||||
|
||||
touch_test();
|
||||
|
||||
#ifdef DEBUG_TEST
|
||||
for(index = 0; index< 3; index++)
|
||||
{
|
||||
if(Buttons_Signal[index] != BUTTON_RELEASE)
|
||||
{
|
||||
button_touch++;
|
||||
}
|
||||
//g_key_status[index] |= get_sensor_state(index) & KEY_TOUCHED_MASK;
|
||||
}
|
||||
|
||||
for(index = 3; index< 8; index++)
|
||||
{
|
||||
if(Buttons_Signal[index] != BUTTON_RELEASE)
|
||||
{
|
||||
touch_pannel++;
|
||||
}
|
||||
}
|
||||
|
||||
if(button_touch == 1 || touch_pannel > 0)
|
||||
{
|
||||
if(button_touch == 1)
|
||||
(void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)1);
|
||||
else
|
||||
(void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)400);
|
||||
button_touch = 0;
|
||||
}else{
|
||||
(void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, (uint16_t)6000);
|
||||
}
|
||||
#endif
|
||||
|
||||
measurement_done_touch = 0;
|
||||
}
|
||||
|
||||
@ -1949,7 +1686,7 @@ void TouchPanel_MainFunction(void)
|
||||
|
||||
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_ADAS1))
|
||||
if (threshold_select_adas == 1)
|
||||
{
|
||||
K_Vibra_Trig_adas=1;
|
||||
}
|
||||
@ -1958,7 +1695,7 @@ void TouchPanel_MainFunction(void)
|
||||
K_Vibra_Trig_adas=0;
|
||||
}
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_CANCEL1))
|
||||
if (threshold_select_cancel == 1)
|
||||
{
|
||||
K_Vibra_Trig_cancel=1;
|
||||
}
|
||||
@ -1967,7 +1704,7 @@ void TouchPanel_MainFunction(void)
|
||||
K_Vibra_Trig_cancel=0;
|
||||
}
|
||||
|
||||
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1))
|
||||
if (threshold_select_resume == 1)
|
||||
{
|
||||
K_Vibra_Trig_resume=1;
|
||||
}
|
||||
@ -1978,9 +1715,8 @@ void TouchPanel_MainFunction(void)
|
||||
|
||||
|
||||
if(Vibra_force_level == 2 && last_Vibra_force_level != 2
|
||||
&&
|
||||
((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
|
||||
)
|
||||
&&((Two_Finger_Y_count<=4 && Y_count == Two_Finger_Y_count)&&(Two_Finger_X_count<=4 && X_count == Two_Finger_X_count))
|
||||
)
|
||||
{
|
||||
Over3N_vibra_req = 1;
|
||||
Below1P5N_vibra_req = 0;
|
||||
@ -1992,7 +1728,7 @@ void TouchPanel_MainFunction(void)
|
||||
}
|
||||
last_Vibra_force_level=Vibra_force_level;
|
||||
|
||||
if((K_Vibra_Trig_pad==1||K_Vibra_Trig_adas==1||K_Vibra_Trig_cancel==1||K_Vibra_Trig_resume==1)&&Vibra_force_level==2)
|
||||
if((K_Vibra_Trig_pad==1||K_Vibra_Trig_adas==1||K_Vibra_Trig_cancel==1||K_Vibra_Trig_resume==1)&&Vibra_force_level==2&&Allow_Touch_flag==1)
|
||||
{
|
||||
Reach2_flag=1;
|
||||
}
|
||||
@ -2001,7 +1737,7 @@ void TouchPanel_MainFunction(void)
|
||||
//Vibra_force_level=Vibra_PressCheck();
|
||||
|
||||
|
||||
if((K_Vibra_Trig_pad==1||K_Vibra_Trig_adas==1||K_Vibra_Trig_cancel==1||K_Vibra_Trig_resume==1)&&Over3N_vibra_req == 1)
|
||||
if((K_Vibra_Trig_pad==1||K_Vibra_Trig_adas==1||K_Vibra_Trig_cancel==1||K_Vibra_Trig_resume==1)&&Over3N_vibra_req == 1&&Allow_Touch_flag==1)
|
||||
{
|
||||
Touch_Flag = TOUCH_KET_ON;
|
||||
speeker_Tig_Once(49, UDS_Vibration_Gain);
|
||||
@ -2018,6 +1754,11 @@ void TouchPanel_MainFunction(void)
|
||||
Reach2_flag = 0;
|
||||
}
|
||||
|
||||
if (CurrentPosition == 0xff)
|
||||
{
|
||||
Allow_Touch_flag=1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -118,67 +118,67 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
|
||||
#define NODE_0_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(31), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(31), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_1_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(15), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(15), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_2_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(17), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(17), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_3_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(20), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(20), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_4_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(25), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(25), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_5_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(1), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(1), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_6_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(5), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(5), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_7_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(3), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(3), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_8_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(10), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(10), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_9_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(11), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(11), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_10_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(12), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(12), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_11_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(13), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(13), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_12_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(14), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(14), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_13_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(30), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(30), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_14_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(21), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(21), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
#define NODE_15_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(16), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_64 \
|
||||
X_NONE, Y(16), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_32 \
|
||||
}
|
||||
|
||||
/**********************************************************/
|
||||
@ -196,13 +196,13 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
|
||||
#define KEY_0_PARAMS \
|
||||
{ \
|
||||
54u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_1_PARAMS \
|
||||
{ \
|
||||
49u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
@ -214,73 +214,73 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
|
||||
#define KEY_3_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
61u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_4_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
60u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_5_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
57u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_6_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
63u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_7_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
72u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_8_PARAMS \
|
||||
{ \
|
||||
44u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
49u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_9_PARAMS \
|
||||
{ \
|
||||
44u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
54u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_10_PARAMS \
|
||||
{ \
|
||||
44u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
47u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_11_PARAMS \
|
||||
{ \
|
||||
44u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
55u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_12_PARAMS \
|
||||
{ \
|
||||
44u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
59u, (uint8_t)HYST_12_5, (uint8_t)AKS_GROUP_1 \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_13_PARAMS \
|
||||
{ \
|
||||
52u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_14_PARAMS \
|
||||
{ \
|
||||
59u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
@ -301,7 +301,7 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
* Range: 0 to 255.
|
||||
* Default value: 5.
|
||||
*/
|
||||
#define DEF_ANTI_TCH_DET_INT 5u
|
||||
#define DEF_ANTI_TCH_DET_INT 3u
|
||||
|
||||
/* Threshold beyond with automatic sensor recalibration is initiated.
|
||||
* Range: RECAL_100/ RECAL_50 / RECAL_25 / RECAL_12_5 / RECAL_6_25 / MAX_RECAL
|
||||
@ -342,7 +342,7 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
* Range: 0-255
|
||||
* Default value: 0
|
||||
*/
|
||||
#define DEF_MAX_ON_DURATION 100u
|
||||
#define DEF_MAX_ON_DURATION 250u
|
||||
|
||||
|
||||
/**********************************************************/
|
||||
@ -397,7 +397,7 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
* The minimum contact size measurement for persistent contact tracking.
|
||||
* Contact size is the sum of neighbouring keys' touch deltas forming the touch contact.
|
||||
*/
|
||||
#define SURFACE_CS_MIN_CONTACT 60u
|
||||
#define SURFACE_CS_MIN_CONTACT 140u
|
||||
|
||||
|
||||
/**********************************************************/
|
||||
|
@ -323,20 +323,7 @@ int main ( void )
|
||||
|
||||
/* Check CAN Status */
|
||||
status = CAN1_ErrorGet();
|
||||
#if 0
|
||||
if (Can1BusErrFlag == false)
|
||||
{
|
||||
WDT_Clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
StopPeriodic();
|
||||
StopCom(COM_NORMAL_MODE);
|
||||
Can1BusErrFlag = false;
|
||||
NVIC_SystemReset();
|
||||
while(1);
|
||||
}
|
||||
#endif
|
||||
|
||||
WDT_Clear();
|
||||
//if(Fuction_State == Function_State_A)
|
||||
//{
|
||||
|
Loading…
x
Reference in New Issue
Block a user