Commit 50e878e0 authored by hu's avatar hu

增加双路CAN

parent 93c0ccab
......@@ -111,10 +111,8 @@ void BackLightDamp(uint8_t TimeX)
{
if (BLEffectFlag == BGL_GRADUAL)
{
if (BackLightPara[i].CurBackLightDuty < BackLightPara[i].DestBackLightDuty)
{
BackLightModifyTimer[i] = (uint16_t)(400u / (BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) + 2u);
if ((BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) >= TmpStep)
{
......
......@@ -383,6 +383,20 @@ void Key_Operation_Up(Key_Event_en_t enKeyEvent)
{
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_UP);
}
/*主界面 一级菜单 二级菜单那*/
else if (((bCurMenuIDX >= _MN_DSP_LEVEL1MENU_1) && (bCurMenuIDX <= _MN_DSP_LEVEL1MENU_6)) ||
((bCurMenuIDX >= _MN_DSP_LEVEL3_4_MENU_41) && (bCurMenuIDX <= _MN_DSP_LEVEL3_4_MENU_47)))
{
/*系统演示模式*/
if ((bCurMenuIDX == _MN_DSP_LEVEL2MENU_6) && (K_Line_Set.K_Line_LID27 != 0x01u) && (K_Line_Set.K_Line_LID28 != 0x01u))
{
NextMenu(_MN_DSP_LEVEL2MENU_4);
}
else
{
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_UP);
}
}
else
{
;/*Do Nothing!*/
......@@ -762,6 +776,20 @@ void Key_Operation_Down(Key_Event_en_t enKeyEvent)
{
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_DOWN);
}
/*主界面 一级菜单 二级菜单*/
else if (((bCurMenuIDX >= _MN_DSP_LEVEL1MENU_1) && (bCurMenuIDX <= _MN_DSP_LEVEL1MENU_6)) ||
((bCurMenuIDX >= _MN_DSP_LEVEL3_4_MENU_41) && (bCurMenuIDX <= _MN_DSP_LEVEL3_4_MENU_47)))
{
/*系统演示模式*/
if ((bCurMenuIDX == _MN_DSP_LEVEL2MENU_4) && (K_Line_Set.K_Line_LID27 != 0x01u) && (K_Line_Set.K_Line_LID28 != 0x01u))
{
NextMenu(_MN_DSP_LEVEL2MENU_6);
}
else
{
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_DOWN);
}
}
else
{
;/*Do Nothing!*/
......
......@@ -33,7 +33,7 @@ void Power_Management_Service ( void )
case m_IGN_Sleep_Init:
Power_Sleep_Init();
g_Power_St = m_IGN_Sleep;
break;
//break;
case m_IGN_Sleep:
g_Power_St = Power_Stay_Sleep();
break;
......
......@@ -215,7 +215,6 @@ void Power_IG_OFF_Init(void)
Popup_Scheduler_OFF();
//Menu_Init_IG(0u);
GUI_Display_KL15_OFF_Init();
}
void Power_IG_ON_Init(void)
{
......@@ -294,7 +293,7 @@ Power_Status_t Power_Stay_OFF(void)
{
if ((u8Condition1 == COMMON_POWER_OFF ) && (u8Condition2 == COMMON_Valid))
{
if (PowerGetNMStatus() == POWER_NM_SLEEP)
if ((PowerGetNMStatus() == POWER_NM_SLEEP) && (LED_WAKEUP == LEVEL_LOW))
{
u8PowerSts = m_IGN_Sleep_Init;
}
......
......@@ -5,20 +5,16 @@
#define Base_Vol 0u
#define ENTER_LOW_N_RANGE 6500U
#define EXIT_LOW_N_RANGE 7000U
#define ENTER_LOW_Y_RANGE 9000U
#define EXIT_LOW_Y_RANGE 9500U
#define EXIT_HIGH_Y_RANGE 32000U
#define ENTER_HIGH_Y_RANGE 32500U
#define EXIT_HIGH_N_RANGE 38500U
#define ENTER_HIGH_N_RANGE 39000U
#define EXIT_HIGH_N_RANGE 31000U
#define ENTER_HIGH_N_RANGE 33000U
#define Top_Vol 0xffffu
......@@ -37,31 +33,31 @@ static uint16_t t_FUN_KL30_Debounce;
static uint16_t t_FUN_KL15_Debounce;
static uint16_t FUNSysVol_Range[10u] =
{
Base_Vol,
ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE,
Top_Vol,
{
Base_Vol,
ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE,
Top_Vol,
};
static uint16_t NMSysVol_Range[10u] =
{
Base_Vol,
ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE,
Top_Vol,
{
Base_Vol,
ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE,
Top_Vol,
};
uint8_t Read_KL30_ConvertFinish(void)
......
......@@ -14,13 +14,8 @@ volatile uint8_t FlashSync5Hz;
volatile uint8_t FlashSync05Hz;
volatile uint8_t FlashSync_2_5_Hz;
volatile uint8_t FlashSync3Hz;
const uint8_t FlashSync1HzTable[] = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
};
const uint8_t FlashSync2HzTable[] = {0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u,
0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u,
......@@ -39,15 +34,8 @@ const uint8_t FlashSync_2_5_HzTable[] = {0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 0u, 0u,
1u, 1u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u,
}; /* 2.5Hz */
const uint8_t FlashSync3HzTable[] = {0u, 1u};/* 3Hz */
uint8_t count_10 = 0u;//此变量在0~9循环,一周期50ms
uint8_t count_33 = 0u;//此变量在0~32循环,一周期165ms
uint8_t FlashTimer = 0u;//数组下标,数组元素总数为20
uint8_t FlashTimer40 = 0u;//数组下标,数组元素总数为40
uint8_t FlashTimer2 = 0u;//数组下标,数组元素总数为2
uint8_t FlashTimer = 0u;
uint8_t FlashTimer40 = 0u;
/******************************************************************************
函数名:Flash_Sync_Signal_Generation_Service
......@@ -55,49 +43,24 @@ uint8_t FlashTimer2 = 0u;//数组下标,数组元素总数为2
参 数:无
返回值:无
*******************************************************************************
注 意:该服务函数必须每5ms被调用一次
注 意:该服务函数必须每50ms被调用一次
******************************************************************************/
void Flash_Sync_Signal_Generation_Service ( void )
{
count_10++;//每5ms加1
count_33++;//每5ms加1
if (count_10 >= 10u)
FlashTimer++; /*50ms一次 加 1*/
if ( FlashTimer >= 20u )
{
count_10 = 0u;
{
FlashTimer++; /*50ms一次 加 1*/
if ( FlashTimer >= 20u )
{
FlashTimer = 0u;
}
FlashTimer40++; /*50ms一次 加 1*/
if ( FlashTimer40 >= 40u )
{
FlashTimer40 = 0u;
}
}
FlashTimer = 0u;
}
if (count_33 >= 33u)
FlashTimer40++; /*50ms一次 加 1*/
if ( FlashTimer40 >= 40u )
{
count_33 = 0u;
FlashTimer2++; /*165ms一次 加 1*/
if (FlashTimer2 >= 2)
{
FlashTimer2 = 0u;
}
FlashTimer40 = 0u;
}
FLASH_SYNC_1Hz = FlashSync1HzTable[FlashTimer]; /*500ms*/
FLASH_SYNC_2Hz = FlashSync2HzTable[FlashTimer]; /*250ms*/
FLASH_SYNC_5Hz = FlashSync5HzTable[FlashTimer]; /*100ms*/
FLASH_SYNC_05Hz = FlashSync05HzTable[FlashTimer40]; /*1000ms*/
FLASH_SYNC_2_5_Hz = FlashSync_2_5_HzTable[FlashTimer40]; /*200ms*/
FLASH_SYNC_3Hz = FlashSync3HzTable[FlashTimer2];/*165ms*/
}
\ No newline at end of file
......@@ -20,9 +20,6 @@ extern volatile uint8_t FlashSync5Hz;
extern volatile uint8_t FlashSync05Hz;
extern volatile uint8_t FlashSync_2_5_Hz;
extern volatile uint8_t FlashSync3Hz;
#define FLASH_SYNC_1Hz FlashSync1Hz
#define FLASH_SYNC_2Hz FlashSync2Hz
#define FLASH_SYNC_4Hz FlashSync4Hz
......@@ -30,8 +27,6 @@ extern volatile uint8_t FlashSync3Hz;
#define FLASH_SYNC_05Hz FlashSync05Hz
#define FLASH_SYNC_2_5_Hz FlashSync_2_5_Hz /* 2.5Hz闪烁 */
#define FLASH_SYNC_3Hz FlashSync3Hz/* 3Hz闪烁 */
/******************************************************************************
函数声明
******************************************************************************/
......
This diff is collapsed.
......@@ -28,7 +28,7 @@ void None_NM_Service(void)
}
else
{
if (NM_Idle_Timer <= 1600000ul)
if (NM_Idle_Timer <= 1600000ul) /*休眠唤醒*/
{
NM_Idle_Timer++;
}
......@@ -53,5 +53,5 @@ void None_NM_Request(void)
}
void None_NM_Release(void)
{
}
\ No newline at end of file
This diff is collapsed.
......@@ -92,7 +92,8 @@ typedef struct
} _Display_State_Flag;
extern volatile _Display_State_Flag State_Flag;
extern _Display_State_Flag State_Flag;
typedef struct
{
uint16_t Year; /* 年 */
......@@ -155,6 +156,9 @@ typedef struct
uint8_t T11;
uint8_t T12;
uint8_t FLAG;
uint8_t Reserve1;
uint8_t Reserve2;
uint8_t Reserve3;
} _TPMS;
extern _TPMS TPMS_Matching;
......@@ -252,10 +256,13 @@ static const uint32_t GUIMenuWedk[7u] = {CN_ri, CN_Mon, CN_Tue, CN_Wed, CN_Thu,
static const uint32_t GUIGear[12u] = {CN_dangwei_1, CN_dangwei_2, CN_dangwei_3, CN_dangwei_4, CN_dangwei_5, CN_dangwei_6,
CN_dangwei_7, CN_dangwei_8, CN_dangwei_9, CN_dangwei_10, CN_dangwei_11, CN_dangwei_12
};
static const uint32_t GUIMETERY[5] = {Nb_15_2, Nb_15_3, Nb_15_4, Nb_15_5, CN_Fty_Menu2_08_A};
static const uint32_t GUIMETERYNUM[16] = {Nb_15_0, Nb_15_1, Nb_15_2, Nb_15_3, Nb_15_4, Nb_15_5, Nb_15_6, Nb_15_7,
Nb_15_8, Nb_15_9, CN_Fty_Menu2_08_A, CN_Fty_Menu2_08_B, CN_Fty_Menu2_08_C, CN_Fty_Menu2_08_D, CN_Fty_Menu2_08_E, CN_Fty_Menu2_08_F
};
static const uint32_t GUIMETERY[5u] = {Nb_15_2, Nb_15_3, Nb_15_4, Nb_15_5, CN_Fty_Menu2_08_A};
static const uint32_t GUIMETERYNUM[16u] = {Nb_15_0, Nb_15_1, Nb_15_2, Nb_15_3, Nb_15_4, Nb_15_5, Nb_15_6, Nb_15_7,
Nb_15_8, Nb_15_9, CN_Fty_Menu2_08_A, CN_Fty_Menu2_08_B, CN_Fty_Menu2_08_C, CN_Fty_Menu2_08_D, CN_Fty_Menu2_08_E, CN_Fty_Menu2_08_F
};
static const uint32_t GUIDTCNUM[16u] = {CN_Nb_28_0, CN_Nb_28_1, CN_Nb_28_2, CN_Nb_28_3, CN_Nb_28_4, CN_Nb_28_5, CN_Nb_28_6, CN_Nb_28_7, CN_Nb_28_8, CN_Nb_28_9,
CN_Alarm_Fault_A, CN_Alarm_Fault_B, CN_Alarm_Fault_C, CN_Alarm_Fault_D, CN_Alarm_Fault_E, CN_Alarm_Fault_F
};
static const uint16_t GUI_DISP_LEMPY[4] = {92u, 158u, 225u, 291u};
static const uint16_t GUI_DISP_AC_TEMP[2] = {229u, 216u}; /*室外温度数字显示*/
......@@ -444,8 +451,8 @@ void GUI_BG_FacDTCClear2_Display(uint8_t Mode); /*工厂模式清除DTC2
void GUI_BG_FacDTCClear3_Display(uint8_t Mode); /*工厂模式清除DTC2*/
void GUI_BG_FacDTCClear4_Display(uint8_t Mode); /*工厂模式清除DTC2*/
void GUI_BG_FacMeter_Display(uint8_t Mode); /*工厂模式仪表显示*/
void GUI_BG_FacHIDAutoInit1_Display(uint8_t Mode);
void GUI_BG_FacHIDAutoInit2_Display(uint8_t Mode);
void GUI_BG_FacHIDAutoInit1_Display(uint8_t Mode); /**/
void GUI_BG_FacHIDAutoInit2_Display(uint8_t Mode); /**/
void GUI_BG_FacMeterExit_Display(uint8_t Mode); /*工厂模式是否结束工厂模式*/
void GUI_DeaMenu_Display(uint8_t Mode); /*经销商模式MENU*/
void GUI_BG_DeaMenu_Display(uint8_t Mode); /*经销商模式*/
......@@ -460,8 +467,8 @@ void GUI_BG_DeaDTCClear2_Display(uint8_t Mode); /*经销商模式清除D
void GUI_BG_DeaDTCClear3_Display(uint8_t Mode); /*经销商模式清除DTC3*/
void GUI_BG_DeaDTCClear4_Display(uint8_t Mode); /*经销商模式清除DTC4*/
void GUI_BG_DeaMeter_Display(uint8_t Mode); /*经销商模式仪表显示*/
void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode);
void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode);
void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode); /**/
void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode); /**/
void GUI_BG_DeaMeterExit_Display(uint8_t Mode); /*经销商模式是否结束经销商模式*/
void GUI_Display_DTC_Server(void); /**/
......@@ -470,10 +477,10 @@ void GUI_BG_DTCSCR_Display(uint8_t Mode); /*SCR故障*/
void GUI_BG_DTCAMT_Display(uint8_t Mode); /*AMT故障*/
void GUI_Display_NULL(uint8_t Mode); /*无故障码*/
void GUI_BG_Enter_Return_Display(uint8_t Mode); /**/
void GUI_Test_Display(uint8_t Mode);
void Common_EOL_User_Server(void);
void K_LINE_EOL_Val_Server(void);
void GUI_BG_Enter_Return_Display(uint8_t Mode); /**/
void GUI_Test_Display(uint8_t Mode); /**/
void Common_EOL_User_Server(void); /**/
void K_LINE_EOL_Val_Server(void); /**/
/*-----报警--------------------------------------------------------*/
void GUI_General_Popup(void);
......
......@@ -563,6 +563,7 @@ void Level2_1Menu_1Do(void)
if (DTCNumDis == 1u) /*故障码轮显*/
{
GUI_Display_DTC_Server();
//GUI_BG_DTCEngine_Display(GUI_DISP_MODE_NORMAL);
}
else /*故障码读取中*/
{
......
......@@ -119,6 +119,7 @@ unsigned char kwp_EcuReset(unsigned char *TxData, unsigned char *RequestData)
unsigned char kwp_TesterPresent(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
(*TxData) = KWP2000_TESTERPRESENT_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET;
Tx_Len = 1;
return Tx_Len;
......@@ -135,6 +136,7 @@ unsigned char kwp_TesterPresent(unsigned char *TxData, unsigned char *RequestDat
unsigned char kwp_StartCommunication(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
K_LINE_SIGNAL_FLAG.RecvStart = 1;
(*TxData++) = KWP2000_STARTCOMMUNICATION_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET;
......@@ -156,6 +158,7 @@ unsigned char kwp_StartCommunication(unsigned char *TxData, unsigned char *Reque
unsigned char kwp_StopCommunication(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
if (K_LINE_SIGNAL_FLAG.RecvStart == 1)
{
K_LINE_SIGNAL_FLAG.RecvStart = 0; /*EOL诊断结束标识*/
......@@ -182,6 +185,7 @@ unsigned char kwp_StopCommunication(unsigned char *TxData, unsigned char *Reques
unsigned char kwp_readEcuIdentification(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */
{
case 0x81: /* ECUIdentificationScalingTable */
......@@ -195,7 +199,7 @@ unsigned char kwp_readEcuIdentification(unsigned char *TxData, unsigned char *Re
break;
case 0x91: /* vehicleManufacturerECUHardwareNumber */
(*TxData++) = KWP2000_READECUIDENTIFICATION_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET;
(*TxData++) = RequestData[0]; // ISUZU Parts No. 8979683010
(*TxData++) = RequestData[0]; /* ISUZU Parts No. 8979683010 */
(*TxData++) = K_Line_Set.No_Digit1;
(*TxData++) = K_Line_Set.No_Digit2;
(*TxData++) = K_Line_Set.No_Digit3;
......@@ -227,6 +231,7 @@ unsigned char kwp_writeDataByLocalIdentifier(unsigned char *TxData, unsigned cha
{
unsigned char Tx_Len = 0;
unsigned char CupFlag = 0;
if ((K_Line_Set.KLINE == 0) || ((K_Line_Set.KLINE == 1) && (K_LINE_SIGNAL_FLAG.SendSeedEQUSRecvSeed == 1)))
{
switch (RequestData[0]) /* */
......@@ -679,6 +684,7 @@ unsigned char kwp_readDataByLocalIdentifier(unsigned char *TxData, unsigned char
{
unsigned char Tx_Len = 0;
unsigned int ECUStatusCup = 0;
switch (RequestData[0]) /* subFunction */
{
case 0x20: /* 应对ECE R13 */
......@@ -1099,6 +1105,7 @@ unsigned char kwp_readDataByLocalIdentifier(unsigned char *TxData, unsigned char
unsigned char kwp_readDataByCommonIdentifier(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
return Tx_Len;
}
/*-------------------------------------------------------------------------
......@@ -1194,6 +1201,7 @@ unsigned char kwp_readDataAccessMode(unsigned char *TxData, unsigned char *Reque
unsigned char kwp_StartroutInebykocalIdentifier(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
switch (RequestData[0]) /* */
{
case 0x08: /* */
......@@ -1222,6 +1230,7 @@ unsigned char kwp_StartroutInebykocalIdentifier(unsigned char *TxData, unsigned
unsigned char kwp_readDataStatusofDTC(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */
{
case 0x00: /* */
......@@ -1319,6 +1328,7 @@ unsigned char kwp_readDataStatusofDTC(unsigned char *TxData, unsigned char *Requ
unsigned char kwp_ClearDiagnosticInformation(unsigned char *TxData, unsigned char *RequestData)
{
unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */
{
case 0xFF: /* */
......@@ -1432,6 +1442,14 @@ void Common_Set_DTCstatusCHGFFK_Flag(unsigned char Val)
DTCstatusCHGFFK_Line = Val;
}
/*-------------------------------------------------------------------------
* Function Name : K_LINE_EOL_InitVal
* Description : k-line数据初始化
* Input :
* Output : None
* Return : None
* onther :
--------------------------------------------------------------------------*/
void K_LINE_EOL_InitVal(void)
{
K_Line_Set.Flag = 0x7AA7A55Au;
......@@ -1469,45 +1487,46 @@ void K_LINE_EOL_InitVal(void)
K_Line_Set.K_Line_LID3E = 0x01u; /* 01 胎压匹配功能 //0:胎压功能未匹配 1:匹配 */
K_Line_Set.K_Line_LID3F = 0x00u; /* -- 预留 */
K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */
K_Line_Set.K_Line_LID41 = 0x13u; /* 50 变速器种类&控制 /*初值50*/
K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/
K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型 /*初值44*/
K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/
K_Line_Set.K_Line_LID45 = 0xFFu; /* FF 发动机转速 /*初值FF*/
K_Line_Set.K_Line_LID46 = 0xFFu; /* FF 急加速 /*初值FF*/
K_Line_Set.K_Line_LID47 = 0xFFu; /* FF 急减速 /*初值FF*/
K_Line_Set.K_Line_LID48 = 0xFFu; /* FF 长时间怠速 /*初值FF*/
K_Line_Set.K_Line_LID49 = 0xFFu; /* FF 辅助驻车 /*初值FF*/
K_Line_Set.K_Line_LID4A = 0x32u; /* 37 变速箱油 55000 */
K_Line_Set.K_Line_LID4B = 0x32u; /* 37 差速器油 55000 */
K_Line_Set.K_Line_LID4C = 0x32u; /* 37 离合器油 55000 */
K_Line_Set.K_Line_LID4D = 0x64u; /* 37 动力转向油 55000 */
K_Line_Set.K_Line_LID4E = 0x78u; /* 32 轮胎 50000 */
K_Line_Set.K_Line_LID4F = 0x32u; /* 34 机油&滤清器 22000 */
K_Line_Set.K_Line_LID41 = 0x13u; /* 50 变速器种类&控制 /*初值50*/
K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/
K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型 /*初值44*/
K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/
K_Line_Set.K_Line_LID45 = 0xFFu; /* FF 发动机转速 /*初值FF*/
K_Line_Set.K_Line_LID46 = 0xFFu; /* FF 急加速 /*初值FF*/
K_Line_Set.K_Line_LID47 = 0xFFu; /* FF 急减速 /*初值FF*/
K_Line_Set.K_Line_LID48 = 0xFFu; /* FF 长时间怠速 /*初值FF*/
K_Line_Set.K_Line_LID49 = 0xFFu; /* FF 辅助驻车 /*初值FF*/
K_Line_Set.K_Line_LID4A = 0x32u; /* 37 变速箱油 55000 */
K_Line_Set.K_Line_LID4B = 0x32u; /* 37 差速器油 55000 */
K_Line_Set.K_Line_LID4C = 0x32u; /* 37 离合器油 55000 */
K_Line_Set.K_Line_LID4D = 0x64u; /* 37 动力转向油 55000 */
K_Line_Set.K_Line_LID4E = 0x78u; /* 32 轮胎 50000 */
K_Line_Set.K_Line_LID4F = 0x32u; /* 34 机油&滤清器 22000 */
K_Line_Set.K_Line_LID50 = 0x00u; /* -- 预留 */
K_Line_Set.K_Line_LID51 = 0x01u; /* 01 工作模式 */
K_Line_Set.K_Line_LID52 = 0x00u; /* 00 电子部件设定 */
K_Line_Set.No_Digit1 = 0x38u; //01
K_Line_Set.No_Digit2 = 0x39u; //02
K_Line_Set.No_Digit3 = 0x37u; //03
K_Line_Set.No_Digit4 = 0x39u; //04
K_Line_Set.No_Digit5 = 0x36u; //05
K_Line_Set.No_Digit6 = 0x38u; //06
K_Line_Set.No_Digit7 = 0x33u; //07
K_Line_Set.No_Digit8 = 0x30u; //08
K_Line_Set.No_Digit9 = 0x31u; //09
K_Line_Set.No_Digit10 = 0x30u; //10
K_Line_Set.ECUStatus1 = 0x00u; //11
K_Line_Set.ECUStatus2 = 0x00u; //12
K_Line_Set.ECUStatus3 = 0x00u; //13
K_Line_Set.ECUStatus4 = 0x00u; //14
K_Line_Set.ECUStatus5 = 0x00u; //15
K_Line_Set.METERCOUNT = 0x00u; //16
K_Line_Set.NoOfDTCFF00 = 0x00u; //17
K_Line_Set.NoOfDTC8000 = 0x00u; //18
K_Line_Set.TesterECU = 0x00u; //19
K_Line_Set.TesterECUCAN = 0x00u; //20
K_Line_Set.User_Light1 = 10u;
K_Line_Set.User_Light2 = 10u;
K_Line_Set.KLINE = 0x00u;
K_Line_Set.No_Digit1 = 0x38u; /* 01 */
K_Line_Set.No_Digit2 = 0x39u; /* 02 */
K_Line_Set.No_Digit3 = 0x37u; /* 03 */
K_Line_Set.No_Digit4 = 0x39u; /* 04 */
K_Line_Set.No_Digit5 = 0x36u; /* 05 */
K_Line_Set.No_Digit6 = 0x38u; /* 06 */
K_Line_Set.No_Digit7 = 0x33u; /* 07 */
K_Line_Set.No_Digit8 = 0x30u; /* 08 */
K_Line_Set.No_Digit9 = 0x31u; /* 09 */
K_Line_Set.No_Digit10 = 0x30u; /* 10 */
K_Line_Set.ECUStatus1 = 0x00u; /* 11 */
K_Line_Set.ECUStatus2 = 0x00u; /* 12 */
K_Line_Set.ECUStatus3 = 0x00u; /* 13 */
K_Line_Set.ECUStatus4 = 0x00u; /* 14 */
K_Line_Set.ECUStatus5 = 0x00u; /* 15 */
K_Line_Set.METERCOUNT = 0x00u; /* 16 */
K_Line_Set.NoOfDTCFF00 = 0x00u; /* 17 */
K_Line_Set.NoOfDTC8000 = 0x00u; /* 18 */
K_Line_Set.TesterECU = 0x00u; /* 19 */
K_Line_Set.TesterECUCAN = 0x00u; /* 20 */
K_Line_Set.User_Light1 = 10u; /*背光亮度等级*/
K_Line_Set.User_Light2 = 10u; /*背光亮度等级*/
}
\ No newline at end of file
......@@ -14,6 +14,7 @@
#include "UDS_Common.h"
#include "Watchdog.h"
#include "RSCAN.h"
static uint16_t Can_Init_Lock = 0U;
......@@ -34,111 +35,138 @@ void Can_Init(void)
uint32_t CANLLCCh0OwnIDList[4];
uint32_t i;
CANFD_Filter_Init_st_t CANLLCCh0Filter;
if (Can_Init_Lock != 0x55AAu)
{
/* Sys_Startup_Init */
/*50304*/
/* Channel0 Filter Data */
for (i = 2u; i < (ID_TOTAL_MAX + 2u); i++)
{
CANLLCCh0MsgIDList[i] = CAN_MSG_CONST_ARRAY[i - 2].MSG_Identifier;
}
/* Channel0 Filter Data configeration */
RSCAN0_Config_st_t CANLLCCh0Filter;
CANLLCCh0Filter.stRSCANCh0.u32RSCANChEn = 1u; /*通道是否使能*/
CANLLCCh0Filter.stRSCANCh0.enRSCANChBps = RSCAN_Baud_Rate_500K; /*通道波特率*/
CANLLCCh0Filter.stRSCANCh0.u32RSCANChRuleSize = CANFD0_CH0_RX_RULE_SIZE; /*通道接收规则条数*/
CANLLCCh0Filter.stRSCANCh0.pfnRSCANConfirmCallBack = 0u; /*发送确认*/
CANLLCCh0Filter.stRSCANCh0.pfnRSCANAbortConfirmCallBack = 0u; /*发送中止确认*/
CANLLCCh0Filter.stRSCANCh0.pfnRSCANReadMsgCallBack = 0u; /*接收完成*/
CANLLCCh0Filter.stRSCANCh1.u32RSCANChEn = 0u; /*通道是否使能*/
CANLLCCh0Filter.stRSCANCh1.enRSCANChBps = RSCAN_Baud_Rate_500K; /*通道波特率*/
CANLLCCh0Filter.stRSCANCh1.u32RSCANChRuleSize = CANFD0_CH1_RX_RULE_SIZE; /*通道接收规则条数*/
CANLLCCh0Filter.stRSCANCh1.pfnRSCANConfirmCallBack = 0u; /*发送确认*/
CANLLCCh0Filter.stRSCANCh1.pfnRSCANAbortConfirmCallBack = 0u; /*发送中止确认*/
CANLLCCh0Filter.stRSCANCh1.pfnRSCANReadMsgCallBack = 0u; /*接收完成*/
CANLLCCh0Filter.stRSCANCh2.u32RSCANChEn = 1u; /*通道是否使能*/
CANLLCCh0Filter.stRSCANCh2.enRSCANChBps = RSCAN_Baud_Rate_500K; /*通道波特率*/
CANLLCCh0Filter.stRSCANCh2.u32RSCANChRuleSize = CANFD0_CH2_RX_RULE_SIZE; /*通道接收规则条数*/
CANLLCCh0Filter.stRSCANCh2.pfnRSCANConfirmCallBack = 0u; /*发送确认*/
CANLLCCh0Filter.stRSCANCh2.pfnRSCANAbortConfirmCallBack = 0u; /*发送中止确认*/
CANLLCCh0Filter.stRSCANCh2.pfnRSCANReadMsgCallBack = 0u; /*接收完成*/
CANSTB_OUT = 1U; //CANSTB_OUT
CANSTB_OUT = 1U; //CANSTB_OUT
RSCAN0_CH_Init(CANFD_RX_RULE_TABLE_LIST, &CANLLCCh0Filter);
CANSTB_OUT = 0U; //CANSTB_OUT
CANSTB_OUT = 0U; //CANSTB_OUT
}
CH0_IDFilterNum = 24;
void Can_DeInit(void)
{
}
IDFilterNum = (uint32_t)(CH0_IDFilterNum & 0xFFUL);
IDFilterNum |= (uint32_t)((0 & 0xFFUL) << 8U);
IDFilterNum |= (uint32_t)((0 & 0xFFUL) << 16U);
uint8_t Can_Write(_CAN_Msg *Msg)
{
CAN_Frame_st_t CANFrame;
CANLLCCh0Filter.pfCAN0DataIndCb = Can_Read_Msg;
CANLLCCh0Filter.pfCAN0DataConfirmCb = Can_Confirm;
CANFrame.unCANData.u8CANData[0] = Msg->Msg[0];
CANFrame.unCANData.u8CANData[1] = Msg->Msg[1];
CANFrame.unCANData.u8CANData[2] = Msg->Msg[2];
CANFrame.unCANData.u8CANData[3] = Msg->Msg[3];
CANFrame.unCANData.u8CANData[4] = Msg->Msg[4];
CANFrame.unCANData.u8CANData[5] = Msg->Msg[5];
CANFrame.unCANData.u8CANData[6] = Msg->Msg[6];
CANFrame.unCANData.u8CANData[7] = Msg->Msg[7];
CANLLCCh0Filter.pfCAN1DataIndCb = (void *)0;
CANLLCCh0Filter.pfCAN1DataConfirmCb = (void *)0;
CANFrame.u32CANID = Msg->MsgID;
CANFrame.u8CANLEN = 8;
CANFrame.u8CANFrameIDE = 1u;
CANLLCCh0Filter.pfCAN2DataIndCb = (void *)0;
CANLLCCh0Filter.pfCAN2DataConfirmCb = (void *)0;
CANLLCCh0Filter.CH0_Enable = 1u;
CANLLCCh0Filter.CH1_Enable = 0u;
CANLLCCh0Filter.CH2_Enable = 0u;
switch (Msg->MsgPro)
{
case 0x00u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_0, &CANFrame); break;
case 0x01u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_1, &CANFrame); break;
case 0x02u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_2, &CANFrame); break;
case 0x03u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_3, &CANFrame); break;
case 0x04u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_4, &CANFrame); break;
case 0x05u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_5, &CANFrame); break;
case 0x06u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_6, &CANFrame); break;
case 0x07u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_7, &CANFrame); break;
case 0x08u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_8, &CANFrame); break;
case 0x09u : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_9, &CANFrame); break;
case 0x0Au : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_10, &CANFrame); break;
case 0x0Bu : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_11, &CANFrame); break;
case 0x0Cu : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_12, &CANFrame); break;
case 0x0Du : RSCAN0_CH0_Set_TXBUF_Data(RSCAN_CHANNEL_BUF_13, &CANFrame); break;
CANLLCCh0Filter.CH0_Std_Ext = 0u;
CANLLCCh0Filter.CH1_Std_Ext = 0u;
CANLLCCh0Filter.CH2_Std_Ext = 0u;
default:
break;
CANSTB_OUT = 0U; //CANSTB_OUT
RSCAN0_CH_Init(&CANLLCCh0Filter, IDFilterNum);
Can_Init_Lock = 0x55AAu;
}
CANSTB_OUT = 0U; //CANSTB_OUT
}
void Can_DeInit(void)
{
}
uint8_t Can_Write(_CAN_Msg *Msg)
{
/*
switch (Msg->MsgPro)
{
case 0:
RSCAN0_SendCH0_TxBuf0(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf0(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 1:
RSCAN0_SendCH0_TxBuf1(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf1(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 2:
RSCAN0_SendCH0_TxBuf2(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf2(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 3:
RSCAN0_SendCH0_TxBuf3(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf3(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 4:
RSCAN0_SendCH0_TxBuf4(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf4(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 5:
RSCAN0_SendCH0_TxBuf5(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf5(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 6:
RSCAN0_SendCH0_TxBuf6(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf6(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 7:
RSCAN0_SendCH0_TxBuf7(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf7(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 8:
RSCAN0_SendCH0_TxBuf8(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf8(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 9:
RSCAN0_SendCH0_TxBuf9(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf9(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 10:
RSCAN0_SendCH0_TxBuf10(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf10(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 11:
RSCAN0_SendCH0_TxBuf11(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf11(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 12:
RSCAN0_SendCH0_TxBuf12(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf12(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 13:
RSCAN0_SendCH0_TxBuf13(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf13(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 14:
RSCAN0_SendCH0_TxBuf14(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf14(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
case 15:
RSCAN0_SendCH0_TxBuf15(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
RSCAN0_SendCH0_TxBuf15(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break;
default:
CAN_CH0_Data_Request(Msg->MsgID, Msg->MsgStd, Msg->MsgRTR, Msg->MsgDLC, Msg->Msg);
break;
CAN_CH0_Data_Request(Msg->MsgID, Msg->MsgStd, Msg->MsgRTR, Msg->MsgDLC, Msg->Msg);
break;
}
*/
return 0;
}
......@@ -154,9 +182,12 @@ void Can_Wakeup_Fun(void)
{
}
/*诊断发送终止----20220320----*/
void Can_Uds_Abort(void)
{
CANFD_SetTX_Abort();
//CANFD_SetTX_Abort();
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_0);
RSCAN0_CH2_Abort(RSCAN_CHANNEL_BUF_1);
}
void Can_Abort_All(void)
......@@ -183,5 +214,6 @@ void Can_Confirm(uint32_t Identifier, uint8_t TransferStatus)
void CAN_BUSOFF_Recover(void)
{
CH0_BusOff_Recovery();
//CH0_BusOff_Recovery();
RSCAN0_CH0_Busoff_Recover();
}
......@@ -17,7 +17,7 @@ void RTE_CAN_NM_Init(void)
CAN_APP_MSG_TX_ENABLE = 0X55U;
CAN_NM_MSG_RX_ENABLE = 0X00U;
CAN_NM_MSG_TX_ENABLE = 0X55U;
CAN_NM_MSG_TX_ENABLE = 0X55U;
CAN_NM_MODE_Status = 0X00U;
......@@ -106,7 +106,8 @@ uint8_t RTE_CAN_GetBusStatus(void)
{
uint8_t m_condition;
uint8_t ret;
m_condition = Get_CH0_RecStatus();
//m_condition = Get_CH0_RecStatus();
m_condition = RSCAN0_CH0_Get_Rec_Status();
if (m_condition == 1u) /*总线有报文 在接收状态*/
{
ret = 1u;
......
......@@ -160,7 +160,8 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
/*TpCtrl.TxReq = 1u;*/
DoCAN_Start_Timer ( TIMING_PARA_N_As ); /*启动N_As计时*/
TpCtrl.Process = TP_TX_INIT; /*数据帧已发出,等待发送完成*/
DoCAN_L_Data_Request(id, dlc, data);
//DoCAN_L_Data_Request(id, dlc, data);
}
}
}
......@@ -252,9 +253,9 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
LinkTxCtrl.Data[i] = FILLER_BYTE;
}
RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#else
RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
//RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#endif
LinkTxCtrl.Busy = 1u;
}
......
......@@ -136,7 +136,9 @@ void Buzzer_Play_ISR(void)
if (BuzzerPlayCtrl.Mode)
{
if (BuzzerPlayCtrl.Timer)
{
BuzzerPlayCtrl.Timer--;
}
if (BuzzerPlayCtrl.Timer == 0)
{
......@@ -151,7 +153,9 @@ void Buzzer_Play_ISR(void)
TimerB_PWM_Channel_Start(BUZZER_PWM_CHANNEL);
}
else
{
TimerB_PWM_Channel_Stop(BUZZER_PWM_CHANNEL);
}
BuzzerPlayCtrl.Timer = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Interval * 20;
BuzzerPlayCtrl.Fade = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Fade * 20;
......@@ -160,7 +164,9 @@ void Buzzer_Play_ISR(void)
else
{
if (BuzzerPlayCtrl.Mode == BUZZER_MODE_LOOP)
{
BuzzerPlayCtrl.Note = 0;
}
else
{
BUZZER_CTRL = 0;
......
/*-----------------use for RH850_D1M1A_1441 --------------------*/
#include "RSCAN_Table.h"
#if 0
const canfd_filter_type RX_RULE_TABLE_LIST[33] =
{
/* CAN 0 reception rules */
{0x000002E5ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000064Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000028Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000313ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000314ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000315ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000234ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000045Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000245ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000291ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000323ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000326ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000455ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000003D2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000328ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000329ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000003B8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000003BBul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000003ACul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000003A6ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x000004A8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000123ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000238ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000318ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000145ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000225ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000231ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000469ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000046Bul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000680ul, 0xDFFFFF80UL, 0x00000000ul, 0x00000200ul},
{0x000007DFul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000046Ful, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x00000743ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
};
#endif
const canfd_filter_type RX_RULE_TABLE_LIST[RX_RULE_SIZE] =
#define CANFD0_CH0_RX_SELECT 0x00000400UL
#define CANFD0_CH1_RX_SELECT 0x00002000UL
#define CANFD0_CH2_RX_SELECT 0x00010000UL
const RSCANFD_Filter_st_t CANFD_RX_RULE_TABLE_LIST[CANFD0_RX_RULE_SIZE] =
{
/* CAN 0 reception rules */
{0x8C010305ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8C0320A8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8C0320B0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8C0320B8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8C0320C0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8C0320C8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8CF00400ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8CF02F2Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8CF02FA0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8CF02FA1ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0CFF0F15ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90F007E8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FF462Dul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x90FF477Eul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98011733ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98021733ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98EA0021ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98EBFF03ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98ECFF03ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98EF1718ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98F00000ul, 0xDFF00000UL, 0x00000000ul, 0x00000200ul},
{0x9CFFFEF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98DA17FAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x98DBFFFAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
/* ID , MASK , LEN */
//{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH0_RX_SELECT},
//{0x8C010305UL, 0x00000000UL, 0x80000000UL, CANFD0_CH1_RX_SELECT},
//{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH1_RX_SELECT},
//{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH2_RX_SELECT},
{0x8C010305ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 1*/
{0x8C0320A8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 2*/
{0x8C0320B0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 3*/
{0x8C0320B8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 4*/
{0x8C0320C0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 5*/
{0x8C0320C8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 6*/
{0x8CF00400ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 7*/
{0x8CF02F2Aul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 8*/
{0x8CF02FA0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 9*/
{0x8CF02FA1ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*10*/
{0x0CFF0F15ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*11*/
{0x90F007E8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*12*/
{0x90FF462Dul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*13*/
{0x90FF477Eul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*14*/
{0x98011733ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*15*/
{0x98021733ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*16*/
{0x98EA0021ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*17*/
{0x98EBFF03ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*18*/
{0x98ECFF03ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*19*/
{0x98EF1718ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*20*/
{0x98F00000ul, 0xDFF00000UL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*21*/
{0x9CFFFEF2ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*22*/
{0x98DA17FAul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*23*/
{0x98DBFFFAul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*24*/
};
\ No newline at end of file
#ifndef RSCAN_TABLE_H
#define RSCAN_TABLE_H
/*-----------------use for RH850_D1M1A_1441 --------------------*/
#include "r_typedefs.h"
/* structure */
typedef struct {
typedef struct
{
uint32_t data[4];
}canfd_filter_type;
#define RX_RULE_SIZE 24U
extern const canfd_filter_type RX_RULE_TABLE_LIST[RX_RULE_SIZE] ;
} RSCANFD_Filter_st_t;
#define CANFD0_CH0_RX_RULE_SIZE 24u
#define CANFD0_CH1_RX_RULE_SIZE 0U
#define CANFD0_CH2_RX_RULE_SIZE 2U
#define CANFD0_RX_RULE_SIZE (CANFD0_CH0_RX_RULE_SIZE + \
CANFD0_CH1_RX_RULE_SIZE + \
CANFD0_CH2_RX_RULE_SIZE )
extern const RSCANFD_Filter_st_t CANFD_RX_RULE_TABLE_LIST[CANFD0_RX_RULE_SIZE];
#endif
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -15,8 +15,8 @@
#define CD4051B_InputGOIO_Com6 CD4051A_COM6_MCU_IN
#define CD4051B_InputGOIO_Com7 CD4051A_COM7_MCU_IN
#define CD4051B_DEBOUNCE_High_TIME 20u
#define CD4051B_DEBOUNCE_Low_TIME 20u
#define CD4051B_DEBOUNCE_High_TIME 100u
#define CD4051B_DEBOUNCE_Low_TIME 100u
#define CD4051B_DEBOUNCE_High_CNT CD4051B_DEBOUNCE_High_TIME / 20u
#define CD4051B_DEBOUNCE_Low_CNT CD4051B_DEBOUNCE_Low_TIME / 20u
/*通道枚举*/
......
......@@ -13,13 +13,13 @@
extern uint32_t TestBackupRam;
#define CLOCK_PROTECTED_WRITE(preg, pstatus, reg, value) \
do \
{ \
(preg) = 0xA5U; \
(reg) = (value); \
(reg) = ~(value); \
(reg) = (value); \
} while ((pstatus) == 1U)
do \
{ \
(preg) = 0xA5U; \
(reg) = (value); \
(reg) = ~(value); \
(reg) = (value); \
} while ((pstatus) == 1U)
static const r_dev_ClkGenConfig_t g_stClockGenCfg =
{
......@@ -224,6 +224,7 @@ void Sys_Enter_Sleep_Mode(void)
/*---------------------------------------------*/
GPIO_Wakeup_PIN_Set(GPIO_WAKEUP_PIN_P0_5, GPIO_WAKEUP_FALLING_EDGE); /*CAN唤醒 ----20220106----*/
GPIO_Wakeup_PIN_Set(GPIO_WAKEUP_PIN_P0_0, GPIO_WAKEUP_HIGH_LEVEL); /*15电唤醒 ----20220106----*/
GPIO_Wakeup_PIN_Set(GPIO_WAKEUP_PIN_P0_7, GPIO_WAKEUP_HIGH_LEVEL); /*硬线唤醒 ----20220314----*/
/*----------------------------------------------*/
SYSWUFMSK0 &= 0x7FFFEU;
......
......@@ -4,7 +4,7 @@ static const HanSansCNFontPos_t Hansans00002ce20[] =
{
//{charid, xpos, ypos, width, height, xoffset, yoffset, xadvance}
{ 0 , 3995 , 552 , 4 , 22 , 0 , 0 , 4 },
#if 0
#if 1
{ 1 , 3995 , 23 , 4 , 22 , 0 , 0 , 4 },
{ 2 , 3995 , 805 , 4 , 22 , 0 , 0 , 4 },
{ 3 , 3995 , 759 , 4 , 22 , 0 , 0 , 4 },
......@@ -90,7 +90,7 @@ void Sys_Tick_Timer_ISR(void)
uint16_t u16Counter;
UDS_50us_Service();
if (pfnSysTickCallBack[SYS_TICK_50us_CB] != NULL )
{
pfnSysTickCallBack[SYS_TICK_50us_CB]();
......@@ -116,7 +116,7 @@ void Sys_Tick_Timer_ISR(void)
{
pfnSysTickCallBack[SYS_TICK_100ms_CB]();
}
g_stSysTickTimer.u32DstVal100ms = g_stSysTickTimer.u32MainCnt + (100000UL / SYS_TICK_INT_INTERVAL);
}
......
......@@ -1960,7 +1960,7 @@ void INTRCANGRECC(void)
#pragma ghs interrupt
void INTRCAN0ERR(void)
{
RSCAN0_CH0_Err_ISR();
;//RSCAN0_CH0_Err_ISR();
}
#endif
......@@ -1968,7 +1968,7 @@ void INTRCAN0ERR(void)
#pragma ghs interrupt
void INTRCAN0REC(void)
{
RSCAN0_CH0_Rx_ISR();
RSCAN0_CH0_RX_ISR();
}
#endif
......@@ -1976,7 +1976,7 @@ void INTRCAN0REC(void)
#pragma ghs interrupt
void INTRCAN0TRX(void)
{
RSCAN0_CH0_Tx_ISR();
RSCAN0_CH0_TX_ISR();
}
#endif
......@@ -1984,7 +1984,7 @@ void INTRCAN0TRX(void)
#pragma ghs interrupt
void INTRCAN1ERR(void)
{
RSCAN0_CH1_Err_ISR();
;//RSCAN0_CH1_Err_ISR();
}
#endif
......@@ -1992,7 +1992,7 @@ void INTRCAN1ERR(void)
#pragma ghs interrupt
void INTRCAN1REC(void)
{
RSCAN0_CH1_Rx_ISR();
RSCAN0_CH1_RX_ISR();
}
#endif
......@@ -2000,7 +2000,7 @@ void INTRCAN1REC(void)
#pragma ghs interrupt
void INTRCAN1TRX(void)
{
RSCAN0_CH1_Tx_ISR();
RSCAN0_CH1_TX_ISR();
}
#endif
......@@ -2008,7 +2008,7 @@ void INTRCAN1TRX(void)
#pragma ghs interrupt
void INTRCAN2ERR(void)
{
RSCAN0_CH2_Err_ISR();
;//RSCAN0_CH2_Err_ISR();
}
#endif
......@@ -2016,7 +2016,7 @@ void INTRCAN2ERR(void)
#pragma ghs interrupt
void INTRCAN2REC(void)
{
RSCAN0_CH2_Rx_ISR();
RSCAN0_CH2_RX_ISR();
}
#endif
......@@ -2024,7 +2024,7 @@ void INTRCAN2REC(void)
#pragma ghs interrupt
void INTRCAN2TRX(void)
{
RSCAN0_CH2_Tx_ISR();
RSCAN0_CH2_TX_ISR();
}
#endif
......
......@@ -134,7 +134,6 @@ void Sys_Run_Mode_5ms_Tasks(void)
COM_RX_Process();
Id18EF1817_Send_Service();
Id18033317_Send_Service();
Flash_Sync_Signal_Generation_Service();
}
/*==============================================================================
......@@ -146,7 +145,6 @@ void Sys_Run_Mode_10ms_Tasks(void)
loc_Display_Service();
Data_Mileage_Write_EEPROM();
Line_In_Debounce_Service();
Popup_Alone_Sound_Server();
Telltales_Left_Right_Management_Service();
if (MenuFlag.Menu_Popup_Flag == 4u)
......@@ -197,7 +195,7 @@ void Sys_Run_Mode_20ms_Tasks(void)
void Sys_Run_Mode_50ms_Tasks(void)
{
Flash_Sync_Signal_Generation_Service();
Data_Time_Calibration();
Speed_PPK_Processing();
Sound_Scheduling_Service();
......@@ -232,6 +230,7 @@ void Sys_Run_Mode_100ms_Tasks(void)
// Menu_Get_Battery_Sts_Exist();
Popups_Management_Service();
Popup_Scheduling_Service();
Popup_Alone_Sound_Server();
/*保养通知数据计算*/
Common_EOL_User_Server();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment