SW0303_20240722

This commit is contained in:
sunbeam 2024-07-26 14:38:26 +08:00
parent 06081cf3a2
commit ed84735e60
11 changed files with 549 additions and 847 deletions

View File

@ -1,5 +1,6 @@
{ {
"files.associations": { "files.associations": {
"rte.h": "c" "rte.h": "c",
"sysdiagdetect.h": "c"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -2,8 +2,6 @@
<project-private xmlns="http://www.netbeans.org/ns/project-private/1"> <project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> <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"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group/>
<file>file:/F:/work/P417/20240702/P417_SWTL/firmware/src/main.c</file>
</group>
</open-files> </open-files>
</project-private> </project-private>

View File

@ -80,7 +80,7 @@ static uint8 Touch_Sensor_Fault = 0;
static void Touch_Sensor_Diag_Task(void) static void Touch_Sensor_Diag_Task(void)
{ {
static uint16_t fault_count = 0, fault_count2 = 0; 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 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_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) && 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 uint8 Vibra_Fault = 0;
static void Vibration_Diag_Task(void) 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) // 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); InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLVIBRATIONFLTSTS, &Vibra_Fault);
/* /*
if(LD_AD_Val>=0 && LD_AD_Val<=15) //normal if(LD_AD_Val>=0 && LD_AD_Val<=15) //normal

View File

@ -78,8 +78,8 @@ typedef struct{
* Private variables * Private variables
*/ */
const UI_8 NVM_DID_CD_VIN[DLC_DID_CD_VIN] = GAC_VIN_DEFAULT_VALUE; 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_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','0','4'}; 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_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}; 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]; static uint8 RAM_DID_CD_VIN[DLC_DID_CD_VIN];

View File

@ -1,5 +1,6 @@
#include "FunctionState.h" #include "FunctionState.h"
#include "plib_port.h" #include "plib_port.h"
#include "plib_adc1.h"
extern uint16 adc[2] ; extern uint16 adc[2] ;
uint8 Fuction_State = 1 ; uint8 Fuction_State = 1 ;
@ -15,6 +16,16 @@ void FunctionState_Task(void)
static uint16 Into_C_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]; LD_AD_Val = adc[1];
switch(Fuction_State) switch(Fuction_State)
@ -25,7 +36,7 @@ void FunctionState_Task(void)
if((adc[0]>581 && adc[0]<862) || (adc[0]>1788 && adc[0]<2014)) if((adc[0]>581 && adc[0]<862) || (adc[0]>1788 && adc[0]<2014))
{ {
Into_B_count++; Into_B_count++;
if(Into_B_count >= 800) //4000ms if(Into_B_count >= 400) //4000ms
{ {
Fuction_State = Function_State_B; 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 else if(adc[0]<581 || adc[0]>2014) //A switch to C
{ {
Into_C_count++; Into_C_count++;
if(Into_C_count >= 200) //1000ms if(Into_C_count >= 100) //1000ms
{ {
Fuction_State = Function_State_C; Fuction_State = Function_State_C;
} }
@ -48,7 +59,7 @@ void FunctionState_Task(void)
Into_A_count++; Into_A_count++;
if(Into_A_count >= 100) //500ms if(Into_A_count >= 50) //500ms
{ {
Fuction_State = Function_State_A; 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 else if(adc[0]<581 || adc[0]>2014) //B switch to C
{ {
Into_C_count++; Into_C_count++;
if(Into_C_count >= 200) //1000ms if(Into_C_count >= 100) //1000ms
{ {
Fuction_State = Function_State_C; 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 if((adc[0]>614 && adc[0]<897) || (adc[0]>1754 && adc[0]<1979)) //C switch to B
{ {
Into_B_count++; Into_B_count++;
if(Into_B_count >= 800) //4000ms if(Into_B_count >= 400) //4000ms
{ {
Fuction_State = Function_State_B; Fuction_State = Function_State_B;
} }
@ -79,7 +90,7 @@ void FunctionState_Task(void)
{ {
Into_A_count++; Into_A_count++;
if(Into_A_count >= 100) //500ms if(Into_A_count >= 50) //500ms
{ {
Fuction_State = Function_State_A; Fuction_State = Function_State_A;
} }

View File

@ -53,8 +53,8 @@
#define Cncl_Btn_E2EID ((uint16_t)(0x2136)) // in CAN ID 0x305 #define Cncl_Btn_E2EID ((uint16_t)(0x2136)) // in CAN ID 0x305
uint8_t g_speeker_event = 0x00; uint8_t g_speeker_event = 0x00;
extern uint8 CurrentPosition; extern uint8 CurrentPosition;
extern uint8_t PressState;
uint8_t touch_reset2times_flag = 0;
uint8_t Two_Finger_Y_count = 0; uint8_t Two_Finger_Y_count = 0;
uint8_t Two_Finger_X_count = 0; uint8_t Two_Finger_X_count = 0;
uint8_t 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); 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) if(Allow_Touch_flag==0)
{ {
Signal = 0; Signal = 0;
} }
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal; return Signal;
} }
@ -216,22 +205,11 @@ uint8_t RTE_Get_TouchBoard_Down_Sts(void)
Signal = TouchPanel_BtnSignalRead(BTN_DOWN); 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) if(Allow_Touch_flag==0)
{ {
Signal = 0; Signal = 0;
} }
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal; return Signal;
} }
@ -246,22 +224,12 @@ uint8_t RTE_Get_TouchBoard_Left_Sts(void)
Signal = TouchPanel_BtnSignalRead(BTN_LEFT); 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) if(Allow_Touch_flag==0)
{ {
Signal = 0; Signal = 0;
} }
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal; return Signal;
} }
@ -277,22 +245,11 @@ uint8_t RTE_Get_TouchBoard_Right_Sts(void)
Signal = TouchPanel_BtnSignalRead(BTN_RIGHT); 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) if(Allow_Touch_flag==0)
{ {
Signal = 0; Signal = 0;
} }
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal; return Signal;
} }
@ -305,22 +262,11 @@ uint8_t RTE_Get_TouchBoard_Center_Sts(void)
Signal = TouchPanel_BtnSignalRead(BTN_CONFIRM); 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) if(Allow_Touch_flag==0)
{ {
Signal = 0; Signal = 0;
} }
if (PressState == 0)
{
Signal = BUTTON_RELEASE;
}
return Signal; return Signal;
} }
@ -328,16 +274,19 @@ uint8_t RTE_Get_TouchBoard_Center_Sts(void)
uint8_t RTE_Get_TouchBoard_ADAS1_Sts(void)//TJP1 uint8_t RTE_Get_TouchBoard_ADAS1_Sts(void)//TJP1
{ {
Buttons_SignalType Signal = BUTTON_RELEASE; Buttons_SignalType Signal = BUTTON_RELEASE;
if(CurrentPosition == 2) if(CurrentPosition == 2)
{ {
Signal = TouchPanel_BtnSignalRead(BTN_ADAS1); Signal = TouchPanel_BtnSignalRead(BTN_ADAS1);
} }
if (PressState == 0) if(Allow_Touch_flag == 0)
{ {
Signal = BUTTON_RELEASE; Signal = BUTTON_RELEASE;
} }
return Signal; return Signal;
} }
uint8_t RTE_Get_TouchBoard_ADAS2_Sts(void)//TJP2 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 uint8_t RTE_Get_TouchBoard_Resu1_Sts(void)//Resume1
{ {
Buttons_SignalType Signal = BUTTON_RELEASE; Buttons_SignalType Signal = BUTTON_RELEASE;
if(CurrentPosition == 1) if(CurrentPosition == 1)
{ {
Signal = TouchPanel_BtnSignalRead(BTN_RESUME1); Signal = TouchPanel_BtnSignalRead(BTN_RESUME1);
} }
if(Allow_Touch_flag == 0)
if (PressState == 0)
{ {
Signal = BUTTON_RELEASE; Signal = BUTTON_RELEASE;
} }
return Signal; return Signal;
} }
uint8_t RTE_Get_TouchBoard_Resu2_Sts(void)//Resume2 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 uint8_t RTE_Get_TouchBoard_Cncl1_Sts(void)//Cancel1
{ {
Buttons_SignalType Signal = BUTTON_RELEASE; Buttons_SignalType Signal = BUTTON_RELEASE;
if(CurrentPosition == 3) if(CurrentPosition == 3)
{ {
Signal = TouchPanel_BtnSignalRead(BTN_CANCEL1); Signal = TouchPanel_BtnSignalRead(BTN_CANCEL1);
} }
if(Allow_Touch_flag == 0)
if (PressState == 0)
{ {
Signal = BUTTON_RELEASE; Signal = BUTTON_RELEASE;
} }
return Signal; return Signal;
} }
uint8_t RTE_Get_TouchBoard_Cncl2_Sts(void)//Cancel2 uint8_t RTE_Get_TouchBoard_Cncl2_Sts(void)//Cancel2
@ -481,26 +434,6 @@ uint8_t rtn_Y;
uint8_t RTE_Get_X_SNS(void) 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 #if 1
uint8_t i; uint8_t i;
@ -589,26 +522,6 @@ uint8_t RTE_Get_X_SNS(void)
//uint8_t RTE_Get_Y5_SNS(void); //uint8_t RTE_Get_Y5_SNS(void);
uint8_t RTE_Get_Y_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 #if 1
uint8_t i; 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; //PanelPress_LevelType Press_Level;
Buttons_SignalType XY_Sts = BUTTON_RELEASE; 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)) 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(); XY_Sts = TouchSurface_XY_StsRead();
//Press_Level = TouchPanel_PressLevelRead();
if(TouchSurface_is_TouchActive() == TRUE)//PANEL_PRESS_LEVEL0 == Press_Level && if(TouchSurface_is_TouchActive() == TRUE)//PANEL_PRESS_LEVEL0 == Press_Level &&
{ {
g_XY_Touch_And_Below_1N = 0x01; 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 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; 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 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 #if 1
uint8_t ret_val = 0; 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_Y_data[5] = {};
uint16_t Two_Finger_X_data [5] = {}; uint16_t Two_Finger_X_data [5] = {};
uint16_t th_x[5],th_y[5];
uint8_t i,m; 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[3]=Touch_Sensor_delta11;
Two_Finger_X_data[4]=Touch_Sensor_delta12; 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; Two_Finger_Y_count=0;
for(i=0;i<5;i++) 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++; 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; i=0;
Y_count=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--; i--;
for(;i<5;i++) for(;i<5;i++)
{ {
if(Two_Finger_Y_data[i]<=25) if(Two_Finger_Y_data[i]<=th_y[i])
break; break;
else else
Y_count++; 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; Two_Finger_X_count=0;
for(m=0;m<5;m++) 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++; 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; m=0;
X_count=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--; m--;
for(;m<5;m++) for(;m<5;m++)
{ {
if(Two_Finger_X_data[m]<=25) if(Two_Finger_X_data[m]<=th_x[m])
break; break;
else else
X_count++; 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)) 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) if(g_XY_Touch_And_Below_1N == TRUE && CurrentPosition>=4)
{ {
ret_val = 0x01; ret_val = 0x01;
@ -1160,26 +1058,52 @@ else
//Output CAN //Output CAN
void RTE_Set_CAN_LeMFctActSgCe(uint8_t Value) 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); InitMessage(SIG_LEMFCTACTSGCE, &Value);
} }
void RTE_Set_CAN_LeMFctActSgDn(uint8_t 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); InitMessage(SIG_LEMFCTACTSGDN, &Value);
} }
void RTE_Set_CAN_LeMFctActSgLe(uint8_t 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); InitMessage(SIG_LEMFCTACTSGLE, &Value);
} }
void RTE_Set_CAN_LeMFctActSgRi(uint8_t 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); InitMessage(SIG_LEMFCTACTSGRI, &Value);
} }
void RTE_Set_CAN_LeMFctActSgUp(uint8_t 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); InitMessage(SIG_LEMFCTACTSGUP, &Value);
} }
@ -1188,7 +1112,11 @@ uint8_t g_TouchBoard_ADAS1_Sts = BUTTON_RELEASE;
void RTE_Set_CAN_SteerWhlTouchBdADAS(uint8_t Value) 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) || 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)) (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) void RTE_Set_CAN_SteerWhlTouchBdCnclSteerWhlTouchBdSts(uint8_t Value)
{ {
uint16_t Press_signal = Get_forcedetect_force_value();
if (Press_signal < 50 || Press_signal >= 2048)
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))
{ {
g_speeker_event |= 0x02; Value = 0;
//speeker_Tig_Once(60, SA51024_STRENGTH_LEVEL3);
} }
g_TouchBoard_Cncl1_Sts = Value;
InitMessage(SIG_STEERWHLTOUCHBDCNCLSTEERWHLTOUCHBDSTS, &Value); InitMessage(SIG_STEERWHLTOUCHBDCNCLSTEERWHLTOUCHBDSTS, &Value);
Cancel_Sts=Value; Cancel_Sts=Value;
} }
@ -1269,18 +1193,16 @@ void RTE_Set_CAN_SteerWhlTouchBdCrsResuQf1(uint8_t Value)
InitMessage(SIG_STEERWHLTOUCHBDCRSRESUQF1, &Value); InitMessage(SIG_STEERWHLTOUCHBDCRSRESUQF1, &Value);
} }
uint8_t g_TouchBoard_Resu1_Sts = BUTTON_RELEASE;
void RTE_Set_CAN_SteerWhlTouchBdCrsResuSteerWhlTouchBdSts(uint8_t Value) void RTE_Set_CAN_SteerWhlTouchBdCrsResuSteerWhlTouchBdSts(uint8_t Value)
{ {
uint16_t Press_signal = Get_forcedetect_force_value();
if((Value == BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Resu1_Sts != BUTTON_TOUCH_AND_PRESS) || if (Press_signal < 50 || Press_signal >= 2048)
(Value != BUTTON_TOUCH_AND_PRESS && g_TouchBoard_Resu1_Sts == BUTTON_TOUCH_AND_PRESS))
{ {
g_speeker_event |= 0x04; Value = 0;
//speeker_Tig_Once(60, SA51024_STRENGTH_LEVEL3);
} }
g_TouchBoard_Resu1_Sts = Value;
InitMessage(SIG_STEERWHLTOUCHBDCRSRESUSTEERWHLTOUCHBDSTS, &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) void RTE_Set_CAN_SteerWhlTouchBdLeSteerWhlTouchBdSts(uint8_t Value)
{ {
//kailong //kailong
uint16_t Press_signal = Get_forcedetect_force_value();
#if 1 if (Press_signal < 50 || Press_signal >= 2048)
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))
{ {
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); InitMessage(SIG_STEERWHLTOUCHBDLESTEERWHLTOUCHBDSTS, &Value);
//TouchBoard_Sts=Value; //TouchBoard_Sts=Value;
@ -1350,11 +1237,21 @@ void RTE_Set_CAN_SteerWhlTouchBdLeSteerWhlTouchBdSts(uint8_t Value)
void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnX(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); InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNX, &Value);
//TouchBoard_X=Value; //TouchBoard_X=Value;
} }
void RTE_Set_CAN_SteerWhlTouchBdLeTouchPosnY(uint8_t 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); InitMessage(SIG_STEERWHLTOUCHBDLETOUCHPOSNY, &Value);
//TouchBoard_Y=Value; //TouchBoard_Y=Value;
} }
@ -1479,6 +1376,8 @@ void RTE_Set_All_Test_Value(void)
{ {
uint16_t Press_baseline; uint16_t Press_baseline;
uint16_t Press_signal,Press_preload; 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_baseline=Get_forcedetect_basline_value();
Press_signal=Get_forcedetect_force_value(); Press_signal=Get_forcedetect_force_value();
Press_preload = Get_forcedetect_preload_value(); Press_preload = Get_forcedetect_preload_value();
@ -1488,6 +1387,66 @@ void RTE_Set_All_Test_Value(void)
InitMessage(SIG_SWTLPRESSBASELINE, &Press_baseline);//Press_baseline InitMessage(SIG_SWTLPRESSBASELINE, &Press_baseline);//Press_baseline
InitMessage(SIG_SWTLPRESSSIGNAL, &Press_signal);//Press_signal-Convert to N: TouchPanel_PressNValue = ((float32)Press_signal / (float32)0xF2); 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--;
}

View File

@ -32,9 +32,13 @@ void Tle9263_Init(void) {
#endif #endif
//sbc_configure_watchdog(TIME_OUT_WD, WD_STARTS_AFTER_CAN_LIN_WAKE, WD_1000MS); //sbc_configure_watchdog(TIME_OUT_WD, WD_STARTS_AFTER_CAN_LIN_WAKE, WD_1000MS);
} }
extern uint8_t touch_reset2times_flag;
void Tle9263_MainTask(void) { void Tle9263_MainTask(void) {
/* Trigger Watchdog every 100ms */ /* Trigger Watchdog every 100ms */
if (touch_reset2times_flag == 1)
{
return;
}
if (timeref ++ > 5) { if (timeref ++ > 5) {
sbc_wd_trigger(); sbc_wd_trigger();
timeref = 0; timeref = 0;

View File

@ -21,9 +21,7 @@
#include "calib_public.h" #include "calib_public.h"
#include "smartee.h" #include "smartee.h"
#include "SysDiagDetect.h" #include "SysDiagDetect.h"
//#define DEBUG_TEST
//#define PRESS_DEBUG
//#define TOUCH_DEBUG
static uint16 sensor_signal[DEF_NUM_CHANNELS] = {0}; static uint16 sensor_signal[DEF_NUM_CHANNELS] = {0};
static uint16 sensor_reference[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 last_Vibra_force_level=0;
volatile uint8 Over3N_vibra_req = 0x00; volatile uint8 Over3N_vibra_req = 0x00;
volatile uint8 Below1P5N_vibra_req = 0x00; volatile uint8 Below1P5N_vibra_req = 0x00;
uint8_t PressState=0;
uint8 UDS_Vibration_Gain = 0; uint8 UDS_Vibration_Gain = 0;
uint8 UDS_DAC_Timer_Period = 80; uint8 UDS_DAC_Timer_Period = 80;
uint8 Touch_Flag = TOUCH_KET_OFF; 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 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; uint8 Surface_Button = 0xff;
@ -535,10 +531,7 @@ boolean TouchSurface_is_TouchActive(void)
{ {
ret = TRUE; ret = TRUE;
} }
if (PressState == 0)
{
ret = FALSE;
}
return ret; return ret;
} }
@ -566,88 +559,11 @@ Buttons_SignalType TouchSurface_XY_StsRead(void)
} }
if (PressState == 0)
{
XY_Sts = FALSE;
}
return XY_Sts; 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) static PanelPress_LevelType TouchPanel_PressCheck(void)
@ -929,21 +845,12 @@ static Buttons_SignalType TouchSurface_BntCheck(Buttons_ChType ChId, TouchPanel_
switch (TouchPanel_PressLevel) switch (TouchPanel_PressLevel)
{ {
case PANEL_PRESS_LEVEL0: case PANEL_PRESS_LEVEL0:
//PB_force_Reach2_flag = 0;
BSignal = BUTTON_TOUCH; BSignal = BUTTON_TOUCH;
break; break;
case PANEL_PRESS_LEVEL1: case PANEL_PRESS_LEVEL1:
//if(PB_force_Reach2_flag == 1)
//{
//BSignal = BUTTON_TOUCH_AND_PRESS;
// }
// else
// {
BSignal = BUTTON_TOUCH; BSignal = BUTTON_TOUCH;
// }
break; break;
case PANEL_PRESS_LEVEL2: case PANEL_PRESS_LEVEL2:
//PB_force_Reach2_flag = 1;
BSignal = BUTTON_TOUCH_AND_PRESS; BSignal = BUTTON_TOUCH_AND_PRESS;
break; break;
default: default:
@ -967,6 +874,11 @@ static Buttons_SignalType TouchButton_BntCheck(Buttons_ChType ChId)
if(ChId == BTN_RESUME1 || ChId == BTN_ADAS1 || ChId == BTN_CANCEL1) if(ChId == BTN_RESUME1 || ChId == BTN_ADAS1 || ChId == BTN_CANCEL1)
{ {
key_status[ChId].status = get_sensor_state(ChId); 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 if (QTM_KEY_STATE_DETECT == (key_status[ChId].status)) {//KEY_TOUCHED_MASK
//Touch detect //Touch detect
key_status[ChId].RunCycle++; key_status[ChId].RunCycle++;
@ -977,35 +889,25 @@ static Buttons_SignalType TouchButton_BntCheck(Buttons_ChType ChId)
if(Force_Sens_Err == 0) if(Force_Sens_Err == 0)
{ {
switch (TouchPanel_PressLevel) switch (TouchPanel_PressLevel)
{ {
case PANEL_PRESS_LEVEL0: case PANEL_PRESS_LEVEL0:
//TB_force_Reach2_flag = 0; BSignal = BUTTON_TOUCH;
BSignal = BUTTON_TOUCH; case PANEL_PRESS_LEVEL1:
case PANEL_PRESS_LEVEL1: BSignal = BUTTON_TOUCH;
//if(TB_force_Reach2_flag == 1) // }
// { break;
//BSignal = BUTTON_TOUCH_AND_PRESS; case PANEL_PRESS_LEVEL2:
// } BSignal = BUTTON_TOUCH_AND_PRESS;
// else break;
// { default:
BSignal = BUTTON_TOUCH; break;
// } }
break; }
case PANEL_PRESS_LEVEL2: else //backup When force sensor error happened
//TB_force_Reach2_flag = 1; {
BSignal = BUTTON_TOUCH_AND_PRESS; BSignal = BUTTON_TOUCH;
break;
default:
break;
}
} }
else //backup When force sensor error happened
{
BSignal = BUTTON_TOUCH;
}
} }
} else { } else {
@ -1086,24 +988,7 @@ static TP_SlideDirection_Enum GetSlide_Direction(uint8 startX, uint8 startY, uin
return result; 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 { struct Point {
float x; 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_x = convert_x; //KalmanFilter(convert_x, 0);
Surface_Convert.convert_y = convert_y; //KalmanFilter(convert_y, 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) 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; //static uint16_t touch_delay = 500;
void TouchPanel_MainFunction(void) void TouchPanel_MainFunction(void)
{ {
@ -1328,70 +1084,42 @@ void TouchPanel_MainFunction(void)
static uint8 threshold_select_right = 0; static uint8 threshold_select_right = 0;
static uint8 threshold_select_confirm = 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(); touch_process();
//kailong add //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 else
{ {
threshold_select_adas=0; threshold_select_adas=0;
} }
if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1)) if (QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1) && QTM_KEY_STATE_DETECT == get_sensor_state(BTN_RESUME1+13))
{ {
//if(CurrentPosition == 0xff)
//{ CurrentPosition = 1;
CurrentPosition = 1; threshold_select_resume=1;
threshold_select_resume=1;
//}
} }
else 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 else
{ {
threshold_select_cancel=0; threshold_select_cancel=0;
} }
if((TouchPanel_SurfaceStatus & TOUCH_ACTIVE) == 1) if((TouchPanel_SurfaceStatus & TOUCH_ACTIVE) == 1)
@ -1512,7 +1240,44 @@ void TouchPanel_MainFunction(void)
threshold_select_confirm=0; threshold_select_confirm=0;
Surface_Button = 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 ) 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(); g_Trig_Threshold=Button0_GetRESUME1_Trig_Threshold();
@ -1558,7 +1323,8 @@ void TouchPanel_MainFunction(void)
g_Trig_Threshold=Button10_GetBTN_CONFIRM_Trig_Threshold(); g_Trig_Threshold=Button10_GetBTN_CONFIRM_Trig_Threshold();
g_Release_Threshold= Button10_GetBTN_CONFIRM_Release_Threshold(); g_Release_Threshold= Button10_GetBTN_CONFIRM_Release_Threshold();
} }
*/
//InitMessage(SIG_SWTLSENSOR1_BASELINE, &g_Trig_Threshold);
TouchPanel_PressLevel = TouchPanel_PressCheck(); TouchPanel_PressLevel = TouchPanel_PressCheck();
@ -1885,7 +1651,8 @@ void TouchPanel_MainFunction(void)
if(count == BTN_MAX_CH_NUM) 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; TouchSurface.Event = TOUCH_PANEL_NONE_EVENT;
} }
touch_test(); 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; 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; K_Vibra_Trig_adas=1;
} }
@ -1958,7 +1695,7 @@ void TouchPanel_MainFunction(void)
K_Vibra_Trig_adas=0; 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; K_Vibra_Trig_cancel=1;
} }
@ -1967,7 +1704,7 @@ void TouchPanel_MainFunction(void)
K_Vibra_Trig_cancel=0; 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; K_Vibra_Trig_resume=1;
} }
@ -1978,9 +1715,8 @@ void TouchPanel_MainFunction(void)
if(Vibra_force_level == 2 && last_Vibra_force_level != 2 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; Over3N_vibra_req = 1;
Below1P5N_vibra_req = 0; Below1P5N_vibra_req = 0;
@ -1992,7 +1728,7 @@ void TouchPanel_MainFunction(void)
} }
last_Vibra_force_level=Vibra_force_level; 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; Reach2_flag=1;
} }
@ -2001,7 +1737,7 @@ void TouchPanel_MainFunction(void)
//Vibra_force_level=Vibra_PressCheck(); //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; Touch_Flag = TOUCH_KET_ON;
speeker_Tig_Once(49, UDS_Vibration_Gain); speeker_Tig_Once(49, UDS_Vibration_Gain);
@ -2018,6 +1754,11 @@ void TouchPanel_MainFunction(void)
Reach2_flag = 0; Reach2_flag = 0;
} }
if (CurrentPosition == 0xff)
{
Allow_Touch_flag=1;
}

View File

@ -118,67 +118,67 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
#define NODE_0_PARAMS \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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 \ #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. * Range: 0 to 255.
* Default value: 5. * 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. /* Threshold beyond with automatic sensor recalibration is initiated.
* Range: RECAL_100/ RECAL_50 / RECAL_25 / RECAL_12_5 / RECAL_6_25 / MAX_RECAL * 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 * Range: 0-255
* Default value: 0 * 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. * The minimum contact size measurement for persistent contact tracking.
* Contact size is the sum of neighbouring keys' touch deltas forming the touch contact. * 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
/**********************************************************/ /**********************************************************/

View File

@ -323,20 +323,7 @@ int main ( void )
/* Check CAN Status */ /* Check CAN Status */
status = CAN1_ErrorGet(); 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(); WDT_Clear();
//if(Fuction_State == Function_State_A) //if(Fuction_State == Function_State_A)
//{ //{