修复评审问题

This commit is contained in:
sunbeam 2024-12-02 16:26:09 +08:00
parent 98ac302bc0
commit 5345f7e294
10 changed files with 162 additions and 106 deletions

View File

@ -1,5 +1,5 @@
#
#Fri Nov 15 15:26:57 CST 2024
#Mon Dec 02 16:25:50 CST 2024
mcal.com-microchip-mplab-nbide-toolchain-xc32-XC32LanguageToolchain.md5=1eaf555a844840d91945cb14109201c3
conf.ids=mcal
mcal.languagetoolchain.version=4.10

View File

@ -3,9 +3,8 @@
<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:/FCB_project/P417/CODE/20240727HW06/P417_SWTR/firmware/src/main.c</file>
<file>file:/F:/FCB_project/P417/CODE/20240727HW06/P417_SWTR/firmware/src/TouchPanel/TouchPanel.c</file>
<file>file:/F:/FCB_project/P417/CODE/20240727HW06/P417_SWTR/firmware/src/DiagnosticR/Sys_Diag_Detect/SysDiagDetect.c</file>
<file>file:/F:/FCB_project/P417/CODE/20240727HW06/P417_SWTR/firmware/src/main.c</file>
</group>
</open-files>
</project-private>

View File

@ -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,0x10,0x19};
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','1','0','1','9'};
const UI_8 NVM_Reprogramming_Date_App[DLC_DID_REPROGRAMMING_DATE] = {0x20,0x24,0x12,0x02};
const UI_8 NVM_DID_CD_SUPPLIER_ID[DLC_SYSTEM_SUPPLIER_ID] = {'2','4','1','2','0','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','6',0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20};
static uint8 RAM_DID_CD_VIN[DLC_DID_CD_VIN];

View File

@ -577,6 +577,54 @@ uint8_t RTE_Get_TouchBoard_XY_Sts(void) // Not active,Touch,Touch and Press,inva
return XY_Sts;
}
//统计所有触发的通道数量
uint8_t GetActiveChNum (uint16_t chdata[],uint16_t thdata[],uint8_t num)
{
uint8_t i,count;
count = 0;
for (i = 0; i < num; i++)
{
if (chdata[i] > thdata[i])
{
count++;
}
}
return count;
}
//统计连续触发的通道数量
uint8_t GetContinuousChNum(uint16_t chdata[],uint16_t thdata[],uint8_t num)
{
uint8_t i,count,index;
count = 0;
index = 0;
for (i = 0; i < num; i++)
{
if (chdata[i] > thdata[i])
{
//找到第一个触发的通道
index = i;
break;
}
}
if (i == num)
{
//没有触发的通道
return count;
}
for (i = index; i < num; i++)
{
if (chdata[i] <= thdata[i])
{
//找到第一个触发的通道之后第一个不触发的通道
break;
}
}
count = i - index;
return count;
}
#if 1
uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
{
@ -611,8 +659,9 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
th_y[3] = qtlib_key_configs_set1[11].channel_threshold;
th_y[4] = qtlib_key_configs_set1[10].channel_threshold;
Two_Finger_Y_count = GetActiveChNum(Two_Finger_Y_data,th_y,5U);
Y_count = GetContinuousChNum(Two_Finger_Y_data,th_y,5U);
/*
Two_Finger_Y_count = 0;
for (i = 0; i < 5; i++)
{
@ -634,7 +683,11 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
else
Y_count++;
}
*/
Two_Finger_X_count = GetActiveChNum(Two_Finger_X_data,th_x,5U);
X_count = GetContinuousChNum(Two_Finger_X_data,th_x,5U);
/*
Two_Finger_X_count = 0;
for (m = 0; m < 5; m++)
{
@ -655,6 +708,8 @@ uint8_t RTE_Get_TouchBoard_XY_Touch_And_Below_1N(void) // 0 false 1 true
else
X_count++;
}
*/
// 触发的通道数量 //连续触发的通道数量
if ((Two_Finger_Y_count > 4 && Two_Finger_X_data[0]>th_x[0]) || Y_count != Two_Finger_Y_count || Two_Finger_X_count > 4 || X_count != Two_Finger_X_count)

View File

@ -36,15 +36,15 @@
#define CW_BUS_CTRL_2 (0x0) /*decimal 0*/
#define CW_GPIO_CTRL (0x0) /*decimal 0*/
#define CW_GPIO_CTRL (0x24) /*decimal 36*/
#define CW_HS_CTRL1 (0x0) /*decimal 0*/
#define CW_HS_CTRL2 (0x0) /*decimal 0*/
#define CW_HW_CTRL (0x80) /*decimal 128*/
#define CW_HW_CTRL (0x9) /*decimal 9*/
#define CW_M_S_CTRL (0x18) /*decimal 8*/
#define CW_M_S_CTRL (0x1C) /*decimal 28*/
#define CW_PWM1_CTRL (0x0) /*decimal 0*/
@ -92,15 +92,15 @@
#define CW_TIMER2_CTRL (0x0) /*decimal 0*/
#define CW_WD_CTRL (0x4) /*decimal 4*/
#define CW_WD_CTRL (0x84) /*decimal 132*/
#define CW_WK_CTRL_1 (0x0) /*decimal 0*/
#define CW_WK_CTRL_2 (0x7) /*decimal 7*/
#define CW_WK_CTRL_2 (0x0) /*decimal 0*/
#define CW_WK_FLT_CTRL (0x0) /*decimal 0*/
#define CW_WK_PUPD_CTRL (0x3F) /*decimal 63*/
#define CW_WK_PUPD_CTRL (0x0) /*decimal 0*/
#define LED_EXTENDED_ID (0x1) /*decimal 1*/
@ -120,6 +120,6 @@
#define UI_SWK_MASK_IDx_CTRL 0x00000000
#define UI_VARIANT (0x3) /*decimal 3*/
#define UI_VARIANT (0x5) /*decimal 5*/
#endif /* SBC_TLE926X_H */

View File

@ -206,11 +206,14 @@ SBC_ErrorCode sbc_init(void) {
/* Describes initialization sequence.
init Sequence containing {reg_address, reg_value}*/
uint8_t initSequence[4][2] = {
uint8_t initSequence[8][2] = {
{SBC_WD_CTRL, WD_CTRL},//0x04 TimeOut; 200ms period
{SBC_M_S_CTRL, CW_M_S_CTRL},//0x18 SBC normal;vcc3off;vcc2 on in normal;
{SBC_BUS_CTRL_1, CW_BUS_CTRL_1},//0x03 lin off; can normal
{SBC_WK_CTRL_2, CW_WK_CTRL_2},
{SBC_HW_CTRL, CW_HW_CTRL},
{SBC_GPIO_CTRL, CW_GPIO_CTRL},
{SBC_WK_PUPD_CTRL, CW_WK_PUPD_CTRL},
/* End Configuration */
{0x00U, 0x00U}
};

View File

@ -39,7 +39,6 @@ void Tle9263_MainTask(void) {
{
return;
}
if (timeref ++ > 5) {
sbc_wd_trigger();
timeref = 0;

View File

@ -1,24 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<icwpxml version="2.6.4">
<checksum>938a5187cdcc759f78b6bae262f689a50c384e539a95618defe57f554fa7fafd</checksum>
<checksum>b31f5011f3959a9e7cc2c9ca70f9a9d697b17587a54185c423e628478807656e</checksum>
<XmlFile>TLE926x_Lib.xml</XmlFile>
<XmlVersion>V0.0.1</XmlVersion>
<ActiveElements>
<CheckBox>
<define>CW.M_S_CTRL[2]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<ComboBox>
<define>CW.M_S_CTRL[1:0]</define>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<CheckBox>
<define>CW.HW_CTRL[3]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.HW_CTRL[1]</define>
<value>0</value>
@ -34,21 +24,11 @@
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<CheckBox>
<define>CW.BUS_CTRL_1[5]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<CheckBox>
<define>CW.BUS_CTRL_1[6]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.BUS_CTRL_1[7]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>MATH.EN_PN</define>
<value>0</value>
@ -79,11 +59,6 @@
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<Slider>
<define>CW.SWK_BTL2_CTRL[5:0]</define>
<value>0</value>
<dispValue>0</dispValue>
</Slider>
<CheckBox>
<define>CW.SWK_ID0_CTRL[0]</define>
<value>0</value>
@ -114,16 +89,6 @@
<value>0x00000000</value>
<dispValue>0x00000000</dispValue>
</LineEdit>
<ComboBox>
<define>CW.GPIO_CTRL[2:0]</define>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ComboBox>
<define>CW.GPIO_CTRL[5:3]</define>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ComboBox>
<define>CW.GPIO_CTRL[7:6]</define>
<value>0</value>
@ -134,11 +99,6 @@
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.HW_CTRL[0]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.HW_CTRL[5]</define>
<value>0</value>
@ -164,21 +124,6 @@
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.WK_CTRL_2[0]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<CheckBox>
<define>CW.WK_CTRL_2[1]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<CheckBox>
<define>CW.WK_CTRL_2[2]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<ComboBox>
<define>CW.WK_FLT_CTRL[1:0]</define>
<value>0</value>
@ -279,50 +224,105 @@
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ButtonGroup>
<define>UI.VARIANT</define>
<value>3</value>
<dispValue>3</dispValue>
</ButtonGroup>
<ButtonGroup>
<define>CW.M_S_CTRL[4:3]</define>
<value>1</value>
<dispValue>1</dispValue>
</ButtonGroup>
<ComboBox>
<define>CW.BUS_CTRL_1[2:0]</define>
<value>3</value>
<dispValue>3</dispValue>
</ComboBox>
<ComboBox>
<define>CW.BUS_CTRL_1[4:3]</define>
<value>3</value>
<dispValue>3</dispValue>
</ComboBox>
<ComboBox>
<define>CW.WD_CTRL[2:0]</define>
<value>6</value>
<dispValue>6</dispValue>
</ComboBox>
<CheckBox>
<define>CW.HW_CTRL[7]</define>
<value>1</value>
<dispValue>0</dispValue>
</CheckBox>
<ComboBox>
<define>CW.BUS_CTRL_1[4:3]</define>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ButtonGroup>
<define>UI.VARIANT</define>
<value>5</value>
<dispValue>5</dispValue>
</ButtonGroup>
<ComboBox>
<define>CW.GPIO_CTRL[2:0]</define>
<value>4</value>
<dispValue>4</dispValue>
</ComboBox>
<ComboBox>
<define>CW.GPIO_CTRL[5:3]</define>
<value>4</value>
<dispValue>4</dispValue>
</ComboBox>
<CheckBox>
<define>CW.M_S_CTRL[2]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<ButtonGroup>
<define>CW.M_S_CTRL[4:3]</define>
<value>3</value>
<dispValue>3</dispValue>
</ButtonGroup>
<CheckBox>
<define>CW.HW_CTRL[3]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<CheckBox>
<define>CW.BUS_CTRL_1[5]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.BUS_CTRL_1[7]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<Slider>
<define>CW.SWK_BTL2_CTRL[5:0]</define>
<value>52</value>
<dispValue>52</dispValue>
</Slider>
<CheckBox>
<define>CW.HW_CTRL[0]</define>
<value>1</value>
<dispValue>1</dispValue>
</CheckBox>
<ComboBox>
<define>CW.WD_CTRL[2:0]</define>
<value>4</value>
<dispValue>4</dispValue>
</ComboBox>
<CheckBox>
<define>CW.WK_CTRL_2[0]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.WK_CTRL_2[1]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<CheckBox>
<define>CW.WK_CTRL_2[2]</define>
<value>0</value>
<dispValue>0</dispValue>
</CheckBox>
<ComboBox>
<define>CW.WK_PUPD_CTRL[1:0]</define>
<value>3</value>
<dispValue>3</dispValue>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ComboBox>
<define>CW.WK_PUPD_CTRL[3:2]</define>
<value>3</value>
<dispValue>3</dispValue>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
<ComboBox>
<define>CW.WK_PUPD_CTRL[5:4]</define>
<value>3</value>
<dispValue>3</dispValue>
<value>0</value>
<dispValue>0</dispValue>
</ComboBox>
</ActiveElements>
</icwpxml>

View File

@ -534,7 +534,7 @@ PanelPress_LevelType TouchPanel_PressLevelRead(void)
boolean TouchSurface_is_TouchActive(void)
{
boolean ret = FALSE;
if (TouchPanel_SurfaceStatus & TOUCH_ACTIVE && CurrentPosition>0 && CurrentPosition<9)
if ((TouchPanel_SurfaceStatus & TOUCH_ACTIVE) && (CurrentPosition>0 && CurrentPosition<9))
{
ret = TRUE;
}
@ -557,7 +557,7 @@ boolean TouchButton_is_TouchActive(Buttons_ChType BtId)
Buttons_SignalType TouchSurface_XY_StsRead(void)
{
Buttons_SignalType XY_Sts = BUTTON_RELEASE;
if (TouchPanel_SurfaceStatus & TOUCH_ACTIVE && CurrentPosition>0 && CurrentPosition<9)
if ((TouchPanel_SurfaceStatus & TOUCH_ACTIVE) && (CurrentPosition>0 && CurrentPosition<9))
{
switch (TouchPanel_PressLevel)
@ -589,8 +589,8 @@ static PanelPress_LevelType TouchPanel_PressCheck(void)
// static uint16 ForceMcount = 0;
// static uint16 ForceLcount = 0;
static uint16 tempForcePress = 0xffff;
static uint16 tempForceRelease = 0xffff;
uint16 tempForcePress = 0xffff;
uint16 tempForceRelease = 0xffff;
uint16 RawData = 0;
uint16 temp_RawData = 0;

View File

@ -154,8 +154,8 @@ uint8_t CanBufQueryDataByte(uint8_t hdl, uint8_t index)
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;
CAN1_MessageReceiveFifo(CAN_RX_FIFO_0, numberOfMessage, (CAN_RX_BUFFER *)(uintptr_t)canRxBuffer);
CanRxBuf_t = (CAN_RX_BUFFER *)(uintptr_t)canRxBuffer;
for (; MessageNumer < numberOfMessage; MessageNumer++)
{
Received_buf[MessageNumer].id = READ_ID(CanRxBuf_t[MessageNumer].id);
@ -175,7 +175,7 @@ void CanTx(t_can_handler can_handler, bool notif, uint32_t idtp, uint16_t len, t
uint8_t loop_count = 0;
memset(canTxBuffer, 0x00, CAN1_TX_FIFO_BUFFER_ELEMENT_SIZE);
CanTxBuffer = (CAN_TX_BUFFER *)canTxBuffer;
CanTxBuffer = (CAN_TX_BUFFER *)(uintptr_t)canTxBuffer;
CanTxBuffer->id = WRITE_ID(idtp);
CanTxBuffer->dlc = len;
for (loop_count = 0; loop_count < len; loop_count++)