HW06初版
This commit is contained in:
parent
cdd4f5074f
commit
9c1f7d86dc
@ -1,10 +1,10 @@
|
||||
#
|
||||
#Mon Aug 19 22:45:18 CST 2024
|
||||
#Tue Aug 20 14:39:42 CST 2024
|
||||
mcal.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=1eaf555a844840d91945cb14109201c3
|
||||
conf.ids=mcal
|
||||
mcal.languagetoolchain.version=4.10
|
||||
host.id=10k5-yicy-7x
|
||||
configurations-xml=05dd0273e546475b33ce901a10b16f28
|
||||
configurations-xml=82d12c4bf5f229226e945ddd8fae0eb3
|
||||
mcal.Pack.dfplocation=E\:\\Program Files\\Microchip\\MPLABX\\v6.20\\packs\\Microchip\\SAME51_DFP\\3.7.242
|
||||
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=f612087c95360c842296d189edfe3321
|
||||
proj.dir=F\:\\FCB_project\\P417\\CODE\\20240727HW06\\P417_SWTL\\firmware\\p417_SWTL.X
|
||||
|
@ -34,5 +34,5 @@ MP_CPPC_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
|
||||
MP_AS_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
|
||||
MP_LD_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
|
||||
MP_AR_DIR="E:\Program Files\Microchip\xc32\v4.10\bin"
|
||||
DFP_DIR=E:/Program Files/Microchip/MPLABX/v6.20/packs/Microchip/SAME51_DFP/3.7.242
|
||||
CMSIS_DIR=E:/Program Files/Microchip/MPLABX/v6.20/packs/arm/CMSIS/5.4.0
|
||||
DFP_DIR=E:/Program Files/Microchip/MPLABX/v6.20/packs/Microchip/SAME51_DFP/3.7.242
|
||||
|
@ -497,8 +497,8 @@
|
||||
<platform>3</platform>
|
||||
</toolsSet>
|
||||
<packs>
|
||||
<pack name="SAME51_DFP" vendor="Microchip" version="3.7.242"/>
|
||||
<pack name="CMSIS" vendor="ARM" version="5.4.0"/>
|
||||
<pack name="SAME51_DFP" vendor="Microchip" version="3.7.242"/>
|
||||
</packs>
|
||||
<ScriptingSettings>
|
||||
</ScriptingSettings>
|
||||
@ -558,7 +558,6 @@
|
||||
<C32>
|
||||
<property key="additional-warnings" value="false"/>
|
||||
<property key="addresss-attribute-use" value="false"/>
|
||||
<property key="appendMe" value=""/>
|
||||
<property key="enable-app-io" value="false"/>
|
||||
<property key="enable-omit-frame-pointer" value="false"/>
|
||||
<property key="enable-symbols" value="true"/>
|
||||
@ -615,7 +614,6 @@
|
||||
<property key="additional-options-use-response-files" value="false"/>
|
||||
<property key="additional-options-write-sla" value="false"/>
|
||||
<property key="allocate-dinit" value="false"/>
|
||||
<property key="appendMe" value=""/>
|
||||
<property key="code-dinit" value="false"/>
|
||||
<property key="ebase-addr" value=""/>
|
||||
<property key="enable-check-sections" value="false"/>
|
||||
@ -655,7 +653,6 @@
|
||||
<C32CPP>
|
||||
<property key="additional-warnings" value="false"/>
|
||||
<property key="addresss-attribute-use" value="false"/>
|
||||
<property key="appendMe" value=""/>
|
||||
<property key="check-new" value="false"/>
|
||||
<property key="eh-specs" value="true"/>
|
||||
<property key="enable-app-io" value="false"/>
|
||||
@ -684,7 +681,6 @@
|
||||
<property key="use-indirect-calls" value="false"/>
|
||||
</C32CPP>
|
||||
<C32Global>
|
||||
<property key="appendMe" value=""/>
|
||||
<property key="common-include-directories" value=""/>
|
||||
<property key="gp-relative-option" value=""/>
|
||||
<property key="legacy-libc" value="false"/>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<cpp-extensions/>
|
||||
<header-extensions>h</header-extensions>
|
||||
<asminc-extensions/>
|
||||
<sourceEncoding>ISO-8859-1</sourceEncoding>
|
||||
<sourceEncoding>UTF-8</sourceEncoding>
|
||||
<make-dep-projects/>
|
||||
<sourceRootList>
|
||||
<sourceRootElem>../src</sourceRootElem>
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include "RTE.h"
|
||||
#include "forcedetect.h"
|
||||
#include "forceSnsr.h"
|
||||
#include "Speaker.h"
|
||||
uint8 Touch_Sensor_Fault=0,Touch_Sensor_Fault_key1=0,Touch_Sensor_Fault_key2=0,Touch_Sensor_Fault_key3=0,Touch_Sensor_Fault_pad=0;
|
||||
|
||||
static uint8 Bat_Rng = 0;
|
||||
static void Battery_Volt_Diag_Task(void)
|
||||
@ -76,55 +78,86 @@ static void Force_Sensor_Diag_Task(void)
|
||||
}
|
||||
|
||||
// Touch_Sensor_Sts00;
|
||||
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;
|
||||
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
|
||||
static uint16_t fault_countk1 = 0,fault_countk2 = 0,fault_countk3 = 0, fault_countpad = 0;
|
||||
//恢复
|
||||
if (Touch_Sensor_delta00 < 200 && Touch_Sensor_delta13 < 200)
|
||||
{
|
||||
Touch_Sensor_Fault_key1 = Touch_NoFault;
|
||||
fault_countk1 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_countk1++;
|
||||
if (fault_countk1 > 40)
|
||||
{
|
||||
fault_countk1 = 40;
|
||||
}
|
||||
Touch_Sensor_Fault_key1 = Touch_Out_Range;
|
||||
}
|
||||
//巡航
|
||||
if (Touch_Sensor_delta01 < 200 && Touch_Sensor_delta14 < 200)
|
||||
{
|
||||
Touch_Sensor_Fault_key2 = Touch_NoFault;
|
||||
fault_countk2 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_countk2++;
|
||||
if (fault_countk2 > 40)
|
||||
{
|
||||
fault_countk2 = 40;
|
||||
}
|
||||
Touch_Sensor_Fault_key2 = Touch_Out_Range;
|
||||
}
|
||||
//取消
|
||||
if (Touch_Sensor_delta02 < 200 && Touch_Sensor_delta15 < 200)
|
||||
{
|
||||
Touch_Sensor_Fault_key2 = Touch_NoFault;
|
||||
fault_countk3 = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_countk3++;
|
||||
if (fault_countk3 > 40)
|
||||
{
|
||||
fault_countk3 = 40;
|
||||
}
|
||||
Touch_Sensor_Fault_key2 = Touch_Out_Range;
|
||||
}
|
||||
//PAD
|
||||
if (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_Fault_pad = Touch_NoFault;
|
||||
fault_countpad = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_countpad++;
|
||||
if (fault_countpad > 40)
|
||||
{
|
||||
fault_countpad = 40;
|
||||
}
|
||||
Touch_Sensor_Fault_pad = Touch_Out_Range;
|
||||
}
|
||||
|
||||
|
||||
if (Touch_Sensor_Fault_key1 == Touch_NoFault &&
|
||||
Touch_Sensor_Fault_key2 == Touch_NoFault &&
|
||||
Touch_Sensor_Fault_key3 == Touch_NoFault &&
|
||||
Touch_Sensor_Fault_pad == Touch_NoFault )
|
||||
{
|
||||
Touch_Sensor_Fault = Touch_NoFault;
|
||||
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLTOUCHDFLTSTS, &Touch_Sensor_Fault);
|
||||
fault_count = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
Touch_Sensor_Fault = Touch_Out_Range;
|
||||
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLTOUCHDFLTSTS, &Touch_Sensor_Fault);
|
||||
fault_count++;
|
||||
if (fault_count > 200)
|
||||
{
|
||||
fault_count = 0;
|
||||
//touch_init();
|
||||
}
|
||||
}
|
||||
/*
|
||||
CurrentDiag_Press_signal = Get_forcedetect_force_value();
|
||||
if (CurrentDiag_Press_signal < 50)
|
||||
{
|
||||
if (Touch_Sensor_delta00 > 10 || Touch_Sensor_delta01 > 10 || Touch_Sensor_delta02 > 10 || Touch_Sensor_delta13 > 10 || Touch_Sensor_delta14 > 10 || Touch_Sensor_delta15 > 10
|
||||
|| Touch_Sensor_delta03 > 20 || Touch_Sensor_delta04 > 20 || Touch_Sensor_delta05 > 20 || Touch_Sensor_delta06 > 20 || Touch_Sensor_delta07 > 20
|
||||
|| Touch_Sensor_delta08 > 20 || Touch_Sensor_delta09 > 20 || Touch_Sensor_delta10 > 20 || Touch_Sensor_delta11 > 20 || Touch_Sensor_delta12 > 20)
|
||||
{
|
||||
fault_count2++;
|
||||
if (fault_count2 > 200)
|
||||
{
|
||||
fault_count2 = 0;
|
||||
//touch_init();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_count2 = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fault_count2 = 0;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
extern uint8_t Allow_Touch_flag;//todo
|
||||
@ -133,7 +166,7 @@ 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;//todo Allow_Touch_flag
|
||||
Vibra_Fault = Get_Speaker_Fault();//
|
||||
InitMessage(SIG_DIAGCFAILRTOUCHPANSWTLVIBRATIONFLTSTS, &Vibra_Fault);
|
||||
/*
|
||||
if(LD_AD_Val>=0 && LD_AD_Val<=15) //normal
|
||||
|
@ -17,6 +17,7 @@ extern uint8 Force_Sens_Err;
|
||||
//extern uint8 Fuction_State ;
|
||||
//extern uint8 Control_SDZ ;
|
||||
|
||||
extern uint8 Touch_Sensor_Fault,Touch_Sensor_Fault_key1,Touch_Sensor_Fault_key2,Touch_Sensor_Fault_key3,Touch_Sensor_Fault_pad;
|
||||
|
||||
extern void Sys_Diag_Detcet_Task(void);
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -834,5 +834,14 @@ void ResetFlagRxSigDiagnosticFuncAddrReq(void);
|
||||
void OsekComTask(void);
|
||||
void OsekComTxReqFrmSwtlPrivateDHUCanFr01(void);
|
||||
void OsekComTxReqFrmSwtlPrivateDHUCanFr02(void);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
void OsekComSetFR09data(uint8_t data[]);
|
||||
void OsekComSetFR0Adata(uint8_t data[]);
|
||||
void OsekComSetFR0Bdata(uint8_t data[]);
|
||||
void OsekComSetFR0Cdata(uint8_t data[]);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -12,6 +12,7 @@ STATE_UINT16 speaker_cycle_u16;
|
||||
speaker_ctrl_Str speaker_ctrl_buf_str;
|
||||
static uint8_t DAC_Initialize_status = 0;
|
||||
static uint8_t DAC_Initialize_RetryCnt = 3;
|
||||
static uint8_t speaker_fault_status = 0;
|
||||
/************************************
|
||||
Get Sw Fifo empty condition
|
||||
************************************/
|
||||
@ -225,7 +226,14 @@ void speaker_MainTask(void)
|
||||
if(speaker_cycle_u16 >= SA51024_WAVE_MAX_NUM)
|
||||
{
|
||||
speaker_main_state_str = SPEAKER_STOP;
|
||||
speaker_fault_status = 0;
|
||||
}
|
||||
if (PORT_PinRead(FAULT_OUT_PIN) == false)
|
||||
{
|
||||
speaker_main_state_str = SPEAKER_STOP;
|
||||
speaker_fault_status = 1;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -282,5 +290,9 @@ Speaker_main_e_typ Get_Speaker_Main_State(void)
|
||||
return speaker_main_state_str;
|
||||
}
|
||||
|
||||
uint8_t Get_Speaker_Fault(void)
|
||||
{
|
||||
return speaker_fault_status;
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,7 +51,7 @@ extern void speaker_Init(void);
|
||||
extern void speaker_MainTask(void);
|
||||
extern STATE_UINT8 speeker_Tig_Once(uint16_t cycle_time,FA51024_ctrl_e_typ level);
|
||||
extern Speaker_main_e_typ Get_Speaker_Main_State(void);
|
||||
|
||||
extern uint8_t Get_Speaker_Fault(void);
|
||||
/***************************extern function end************************************/
|
||||
|
||||
|
||||
|
@ -1715,7 +1715,7 @@ void TouchPanel_MainFunction(void)
|
||||
|
||||
|
||||
if(Vibra_force_level == 2 && last_Vibra_force_level != 2
|
||||
&&Allow_Touch_flag)//((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)
|
||||
{
|
||||
Over3N_vibra_req = 1;
|
||||
Below1P5N_vibra_req = 0;
|
||||
|
@ -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_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(31), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_1_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(15), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(15), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_2_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(17), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(17), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_3_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(24), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(24), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_4_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(25), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(25), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_5_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(1), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(1), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_6_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(2), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(2), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_7_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(3), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(3), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#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_32 \
|
||||
X_NONE, Y(10), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#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_32 \
|
||||
X_NONE, Y(11), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#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_32 \
|
||||
X_NONE, Y(12), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#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_32 \
|
||||
X_NONE, Y(13), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#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_32 \
|
||||
X_NONE, Y(14), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_13_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(30), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(30), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_14_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(21), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(21), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
#define NODE_15_PARAMS \
|
||||
{ \
|
||||
X_NONE, Y(16), 0,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_4), (uint8_t)FILTER_LEVEL_32 \
|
||||
X_NONE, Y(16), 8,(uint8_t)PRSC_DIV_SEL_8, NODE_GAIN(GAIN_1, GAIN_8), (uint8_t)FILTER_LEVEL_16 \
|
||||
}
|
||||
|
||||
/**********************************************************/
|
||||
@ -196,97 +196,97 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
|
||||
#define KEY_0_PARAMS \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_2_PARAMS \
|
||||
{ \
|
||||
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
54u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_3_PARAMS \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (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 \
|
||||
{ \
|
||||
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
48u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
#define KEY_15_PARAMS \
|
||||
{ \
|
||||
40u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
60u, (uint8_t)HYST_12_5, (uint8_t)NO_AKS_GROUP \
|
||||
}
|
||||
|
||||
|
||||
@ -294,14 +294,14 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
||||
* Range: 0 to 255.
|
||||
* Default value: 4.
|
||||
*/
|
||||
#define DEF_TOUCH_DET_INT 4u
|
||||
#define DEF_TOUCH_DET_INT 3u
|
||||
|
||||
/* De-bounce counter for additional measurements to confirm away from touch signal
|
||||
* to initiate Away from touch re-calibration.
|
||||
* 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 0u
|
||||
#define DEF_MAX_ON_DURATION 250u
|
||||
|
||||
|
||||
/**********************************************************/
|
||||
|
@ -22,10 +22,10 @@
|
||||
// *****************************************************************************
|
||||
// *****************************************************************************
|
||||
|
||||
#include <stddef.h> // Defines NULL
|
||||
#include <stdbool.h> // Defines true
|
||||
#include <stdlib.h> // Defines EXIT_FAILURE
|
||||
#include "definitions.h" // SYS function prototypes
|
||||
#include <stddef.h> // Defines NULL
|
||||
#include <stdbool.h> // Defines true
|
||||
#include <stdlib.h> // Defines EXIT_FAILURE
|
||||
#include "definitions.h" // SYS function prototypes
|
||||
#include "OsekCom/OsekCom.h"
|
||||
#include "Speaker/Speaker.h"
|
||||
#include "P417_SWTL_App_ert_rtw/P417_SWTL_App.h"
|
||||
@ -42,10 +42,10 @@
|
||||
|
||||
#include "calib_public.h"
|
||||
#include "smartee.h"
|
||||
#include "FunctionState.h"
|
||||
#include "SysDiagDetect.h"
|
||||
#include "FunctionState.h"
|
||||
#include "SysDiagDetect.h"
|
||||
/* System tick */
|
||||
uint32_t SysTick_1ms_Period = 0;
|
||||
uint32_t SysTick_1ms_Period = 0;
|
||||
uint32_t SysTick_Cur_Counter = 0;
|
||||
volatile uint32_t SysTick_Elapse = 0;
|
||||
uint32_t CyclicTskSchM_CurTime = 0;
|
||||
@ -53,21 +53,20 @@ uint8_t Test_frame_On = 0;
|
||||
uint8_t SDZ_init_flag = 0;
|
||||
uint8_t SDZ_first_delay = 0;
|
||||
|
||||
|
||||
void OS_TimerCallback(uintptr_t context)
|
||||
{
|
||||
SysTick_Elapse++;
|
||||
}
|
||||
|
||||
void CyclicTskSchM_TimerSync (void)
|
||||
void CyclicTskSchM_TimerSync(void)
|
||||
{
|
||||
CyclicTskSchM_CurTime+= 1;
|
||||
CyclicTskSchM_CurTime += 1;
|
||||
|
||||
while (SysTick_Elapse < CyclicTskSchM_CurTime)
|
||||
{
|
||||
/* TimerSync */
|
||||
}
|
||||
|
||||
|
||||
CyclicTskSchM_CurTime = SysTick_Elapse;
|
||||
}
|
||||
/* PWM */
|
||||
@ -76,46 +75,46 @@ uint32_t duty = 7999;
|
||||
uint32_t period = 0;
|
||||
|
||||
/* ADC1 */
|
||||
#define ADC1_CH_AD_LDO_SNS 0
|
||||
#define ADC1_CH_LD_OUT_SNS 1
|
||||
#define ADC1_CH_MAX 2
|
||||
#define ADC1_CH_AD_LDO_SNS 0
|
||||
#define ADC1_CH_LD_OUT_SNS 1
|
||||
#define ADC1_CH_MAX 2
|
||||
|
||||
uint8_t adc_ch_sel = 0;
|
||||
uint8_t adc_ch_sel = 0;
|
||||
uint16_t adc_result = 0;
|
||||
uint16_t adc[ADC1_CH_MAX] = {0};
|
||||
|
||||
void ADC1_ConversionCallback (ADC_STATUS status, uintptr_t context)
|
||||
void ADC1_ConversionCallback(ADC_STATUS status, uintptr_t context)
|
||||
{
|
||||
if(status == ADC_STATUS_RESRDY) {
|
||||
if (status == ADC_STATUS_RESRDY)
|
||||
{
|
||||
adc_result = ADC1_ConversionResultGet();
|
||||
//adc[adc_ch_sel - 1] = adc_result & 0xFFF;
|
||||
// adc[adc_ch_sel - 1] = adc_result & 0xFFF;
|
||||
adc[adc_ch_sel] = adc_result & 0xFFF;
|
||||
|
||||
|
||||
switch (adc_ch_sel)
|
||||
{
|
||||
case ADC1_CH_AD_LDO_SNS:
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
|
||||
adc_ch_sel= ADC1_CH_LD_OUT_SNS;
|
||||
break;
|
||||
case ADC1_CH_LD_OUT_SNS:
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN7, ADC_NEGINPUT_GND);
|
||||
adc_ch_sel= ADC1_CH_AD_LDO_SNS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//adc_ch_sel++;
|
||||
//if (adc_ch_sel > ADC1_CH_MAX) {
|
||||
// adc_ch_sel = ADC1_CH_AD_LDO_SNS + 1;
|
||||
//}
|
||||
case ADC1_CH_AD_LDO_SNS:
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
|
||||
adc_ch_sel = ADC1_CH_LD_OUT_SNS;
|
||||
break;
|
||||
case ADC1_CH_LD_OUT_SNS:
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN7, ADC_NEGINPUT_GND);
|
||||
adc_ch_sel = ADC1_CH_AD_LDO_SNS;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// adc_ch_sel++;
|
||||
// if (adc_ch_sel > ADC1_CH_MAX) {
|
||||
// adc_ch_sel = ADC1_CH_AD_LDO_SNS + 1;
|
||||
// }
|
||||
ADC1_ConversionStart();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* CAN1 */
|
||||
bool Can1BusErrFlag = false;
|
||||
uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned (32)));
|
||||
uint8_t Can1MessageRAM[CAN1_MESSAGE_RAM_CONFIG_SIZE] __attribute__((aligned(32)));
|
||||
uint32_t Received_id[8] = {0};
|
||||
typedef struct
|
||||
{
|
||||
@ -128,7 +127,7 @@ typedef struct
|
||||
CAN_Received_Buffer Received_buf[8] = {0};
|
||||
|
||||
#define WRITE_ID(id) (id << 18)
|
||||
#define READ_ID(id) (id >> 18)
|
||||
#define READ_ID(id) (id >> 18)
|
||||
static uint8_t canTxBuffer[CAN1_TX_FIFO_BUFFER_SIZE];
|
||||
static uint8_t canRxBuffer[CAN1_RX_FIFO0_SIZE];
|
||||
|
||||
@ -137,21 +136,21 @@ CAN_TX_BUFFER *CanTxBuffer = NULL;
|
||||
|
||||
uint32_t CanBufQueryIdTp(void)
|
||||
{
|
||||
return Received_buf[0].id;
|
||||
return Received_buf[0].id;
|
||||
}
|
||||
|
||||
uint32_t CanBufQueryIdTp_Tx(void)
|
||||
{
|
||||
return CanTxBuffer->id;
|
||||
return CanTxBuffer->id;
|
||||
}
|
||||
|
||||
uint8_t CanBufQueryDataByte(uint8_t hdl, uint8_t index)
|
||||
{
|
||||
uint8_t byte;
|
||||
uint8_t byte;
|
||||
|
||||
byte = (uint8_t)Received_buf[0].data[index];
|
||||
|
||||
return byte;
|
||||
|
||||
return byte;
|
||||
}
|
||||
|
||||
void CAN_Rx_FIFO0_CALLBACK(uint8_t numberOfMessage, uintptr_t context)
|
||||
@ -159,7 +158,7 @@ void CAN_Rx_FIFO0_CALLBACK(uint8_t numberOfMessage, uintptr_t context)
|
||||
uint8_t MessageNumer = 0;
|
||||
CAN1_MessageReceiveFifo(CAN_RX_FIFO_0, numberOfMessage, (CAN_RX_BUFFER *)canRxBuffer);
|
||||
CanRxBuf_t = (CAN_RX_BUFFER *)canRxBuffer;
|
||||
for (;MessageNumer < numberOfMessage; MessageNumer++)
|
||||
for (; MessageNumer < numberOfMessage; MessageNumer++)
|
||||
{
|
||||
Received_buf[MessageNumer].id = READ_ID(CanRxBuf_t[MessageNumer].id);
|
||||
memcpy(Received_buf[MessageNumer].data, CanRxBuf_t[MessageNumer].data, 8);
|
||||
@ -169,7 +168,7 @@ void CAN_Rx_FIFO0_CALLBACK(uint8_t numberOfMessage, uintptr_t context)
|
||||
|
||||
void CAN_Tx_FIFO0_CALLBACK(uintptr_t context)
|
||||
{
|
||||
OsekComTxNotifCallbackSWTL(0);
|
||||
OsekComTxNotifCallbackSWTL(0);
|
||||
}
|
||||
|
||||
/* CAN handlers definition */
|
||||
@ -181,17 +180,18 @@ void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t
|
||||
CanTxBuffer = (CAN_TX_BUFFER *)canTxBuffer;
|
||||
CanTxBuffer->id = WRITE_ID(idtp);
|
||||
CanTxBuffer->dlc = len;
|
||||
for (loop_count = 0; loop_count < len; loop_count++){
|
||||
for (loop_count = 0; loop_count < len; loop_count++)
|
||||
{
|
||||
CanTxBuffer->data[loop_count] = can_data[loop_count];
|
||||
}
|
||||
}
|
||||
if (CAN1_MessageTransmitFifo(1, CanTxBuffer) == true)
|
||||
{
|
||||
;
|
||||
{
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
void IhuPrivateDHUCanFr01_CALLBACK(void)
|
||||
{
|
||||
@ -212,25 +212,25 @@ static uint32_t status = 0;
|
||||
uint8_t g_SBC_STATUS[8] = {0};
|
||||
void GetResetSource(void)
|
||||
{
|
||||
g_SBC_STATUS[0] = (uint8_t)sbc_read_reg(SBC_SUP_STAT_2);
|
||||
g_SBC_STATUS[1] = (uint8_t)sbc_read_reg(SBC_SUP_STAT_1);
|
||||
g_SBC_STATUS[2] = (uint8_t)sbc_read_reg(SBC_DEV_STAT);
|
||||
g_SBC_STATUS[0] = (uint8_t)sbc_read_reg(SBC_SUP_STAT_2);
|
||||
g_SBC_STATUS[1] = (uint8_t)sbc_read_reg(SBC_SUP_STAT_1);
|
||||
g_SBC_STATUS[2] = (uint8_t)sbc_read_reg(SBC_DEV_STAT);
|
||||
g_SBC_STATUS[3] = RSTC_REGS->RSTC_RCAUSE;
|
||||
g_SBC_STATUS[4] = RSTC_REGS->RSTC_BKUPEXIT;
|
||||
g_SBC_STATUS[5] = 0x00;
|
||||
g_SBC_STATUS[6] = 0x00;
|
||||
g_SBC_STATUS[7] = 0x00;
|
||||
CanTx(0,true,0x420,8,g_SBC_STATUS);
|
||||
CanTx(0, true, 0x420, 8, g_SBC_STATUS);
|
||||
}
|
||||
|
||||
int main ( void )
|
||||
int main(void)
|
||||
{
|
||||
uint32_t loop_counter = 0;
|
||||
/* Initialize all modules */
|
||||
SYS_Initialize ( NULL );
|
||||
|
||||
SYS_Initialize(NULL);
|
||||
|
||||
Calib_Init();
|
||||
|
||||
|
||||
WDT_TimeoutPeriodSet(3);
|
||||
SysTick_1ms_Period = SYSTICK_TimerPeriodGet() + 1;
|
||||
SYSTICK_TimerCallbackSet(OS_TimerCallback, 0);
|
||||
@ -246,27 +246,25 @@ int main ( void )
|
||||
StartPeriodic();
|
||||
|
||||
speaker_Init();
|
||||
|
||||
forcedetect_Init();
|
||||
TouchPanel_init();
|
||||
//sbc_write_reg(SBC_M_S_CTRL,0x18,0);
|
||||
|
||||
|
||||
Tle9263_Init();
|
||||
//touch_init();//test:11ms
|
||||
//sbc_wd_trigger();
|
||||
forcedetect_Init();
|
||||
TouchPanel_init();
|
||||
// sbc_write_reg(SBC_M_S_CTRL,0x18,0);
|
||||
|
||||
Tle9263_Init();
|
||||
// touch_init();//test:11ms
|
||||
// sbc_wd_trigger();
|
||||
|
||||
ADC1_Enable();
|
||||
ADC1_CallbackRegister(ADC1_ConversionCallback, 0);
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
|
||||
|
||||
|
||||
ADC1_ConversionStart();
|
||||
|
||||
|
||||
P417_SWTL_App_initialize();
|
||||
TC0_CompareStart();
|
||||
TC1_CompareStart();
|
||||
|
||||
|
||||
TC0_Compare8bitMatch1Set(0);
|
||||
TC1_Compare8bitMatch0Set(0);
|
||||
WDT_Enable();
|
||||
@ -274,69 +272,62 @@ int main ( void )
|
||||
InicialitzaIso15765_3Task();
|
||||
Dem_Init();
|
||||
UDS_DID_initNVM();
|
||||
PORT_PinWrite(PORT_PIN_PB02,1);//battery voltage detection onPB02
|
||||
PORT_PinWrite(PORT_PIN_PA13,0);/*init turn off SDZ*/
|
||||
SmartEE_Read(0x783, &Test_frame_On , 1);
|
||||
PORT_PinWrite(PORT_PIN_PB02, 1); // battery voltage detection onPB02
|
||||
PORT_PinWrite(PORT_PIN_PA13, 0); /*init turn off SDZ*/
|
||||
SmartEE_Read(0x783, &Test_frame_On, 1);
|
||||
if (Test_frame_On > 1)
|
||||
{
|
||||
Test_frame_On = 1;
|
||||
}
|
||||
GetResetSource();
|
||||
Fuction_State = Function_State_A;
|
||||
while ( true )
|
||||
while (true)
|
||||
{
|
||||
/* Maintain state machines of all polled MPLAB Harmony modules. */
|
||||
SYS_Tasks ( );
|
||||
ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
|
||||
|
||||
ADC1_ConversionStart();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SYS_Tasks();
|
||||
// ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
|
||||
// ADC1_ConversionStart();
|
||||
|
||||
if (!(loop_counter % 2))
|
||||
{
|
||||
//(void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, duty);
|
||||
OsekComTask();
|
||||
Tle9263_MainTask();
|
||||
/* call touch process function */
|
||||
if(Fuction_State == Function_State_A)
|
||||
if (Fuction_State == Function_State_A)
|
||||
{
|
||||
TouchPanel_MainFunction();
|
||||
speaker_MainTask();
|
||||
forcedetect_MainTask();
|
||||
|
||||
//TCC0_PWM24bitDutySet(TCC0_CHANNEL0,6999);
|
||||
|
||||
// TCC0_PWM24bitDutySet(TCC0_CHANNEL0,6999);
|
||||
RTE_Set_All_Test_Value();
|
||||
}
|
||||
else
|
||||
{
|
||||
//(void)TCC0_PWM24bitDutySet(TCC0_CHANNEL0, 0); //turn off led
|
||||
//TC0_Compare8bitMatch1Set(0);//turn off led
|
||||
//TC1_Compare8bitMatch0Set(0);//turn off led
|
||||
// TC0_Compare8bitMatch1Set(0);//turn off led
|
||||
// TC1_Compare8bitMatch0Set(0);//turn off led
|
||||
}
|
||||
|
||||
if(Fuction_State != Function_State_C)
|
||||
|
||||
if (Fuction_State != Function_State_C)
|
||||
{
|
||||
TPTask(ISO15765_2_REPROGONCAN_HANDLER);
|
||||
Iso15765_3Task();
|
||||
Dem_MainFunction();
|
||||
}
|
||||
Calib_Task();
|
||||
|
||||
//SBC VCC2 always on Setting
|
||||
sbc_write_reg(SBC_M_S_CTRL,0x18,0);
|
||||
|
||||
|
||||
// SBC VCC2 always on Setting
|
||||
sbc_write_reg(SBC_M_S_CTRL, 0x18, 0);
|
||||
}
|
||||
|
||||
if (!(loop_counter % 5))
|
||||
{
|
||||
FunctionState_Task();
|
||||
Sys_Diag_Detcet_Task();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* Check CAN Status */
|
||||
status = CAN1_ErrorGet();
|
||||
|
||||
@ -350,11 +341,9 @@ int main ( void )
|
||||
|
||||
/* Execution should not come here during normal operation */
|
||||
|
||||
return ( EXIT_FAILURE );
|
||||
return (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
End of File
|
||||
*/
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user