Commit 50e878e0 authored by hu's avatar hu

增加双路CAN

parent 93c0ccab
...@@ -111,10 +111,8 @@ void BackLightDamp(uint8_t TimeX) ...@@ -111,10 +111,8 @@ void BackLightDamp(uint8_t TimeX)
{ {
if (BLEffectFlag == BGL_GRADUAL) if (BLEffectFlag == BGL_GRADUAL)
{ {
if (BackLightPara[i].CurBackLightDuty < BackLightPara[i].DestBackLightDuty) if (BackLightPara[i].CurBackLightDuty < BackLightPara[i].DestBackLightDuty)
{ {
BackLightModifyTimer[i] = (uint16_t)(400u / (BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) + 2u); BackLightModifyTimer[i] = (uint16_t)(400u / (BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) + 2u);
if ((BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) >= TmpStep) if ((BackLightPara[i].DestBackLightDuty - BackLightPara[i].CurBackLightDuty) >= TmpStep)
{ {
......
...@@ -383,6 +383,20 @@ void Key_Operation_Up(Key_Event_en_t enKeyEvent) ...@@ -383,6 +383,20 @@ void Key_Operation_Up(Key_Event_en_t enKeyEvent)
{ {
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_UP); 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 else
{ {
;/*Do Nothing!*/ ;/*Do Nothing!*/
...@@ -762,6 +776,20 @@ void Key_Operation_Down(Key_Event_en_t enKeyEvent) ...@@ -762,6 +776,20 @@ void Key_Operation_Down(Key_Event_en_t enKeyEvent)
{ {
NextMenu(MenuOptTab[bCurMenuIDX].VK_IDX_DOWN); 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 else
{ {
;/*Do Nothing!*/ ;/*Do Nothing!*/
......
...@@ -33,7 +33,7 @@ void Power_Management_Service ( void ) ...@@ -33,7 +33,7 @@ void Power_Management_Service ( void )
case m_IGN_Sleep_Init: case m_IGN_Sleep_Init:
Power_Sleep_Init(); Power_Sleep_Init();
g_Power_St = m_IGN_Sleep; g_Power_St = m_IGN_Sleep;
break; //break;
case m_IGN_Sleep: case m_IGN_Sleep:
g_Power_St = Power_Stay_Sleep(); g_Power_St = Power_Stay_Sleep();
break; break;
......
...@@ -215,7 +215,6 @@ void Power_IG_OFF_Init(void) ...@@ -215,7 +215,6 @@ void Power_IG_OFF_Init(void)
Popup_Scheduler_OFF(); Popup_Scheduler_OFF();
//Menu_Init_IG(0u); //Menu_Init_IG(0u);
GUI_Display_KL15_OFF_Init(); GUI_Display_KL15_OFF_Init();
} }
void Power_IG_ON_Init(void) void Power_IG_ON_Init(void)
{ {
...@@ -294,7 +293,7 @@ Power_Status_t Power_Stay_OFF(void) ...@@ -294,7 +293,7 @@ Power_Status_t Power_Stay_OFF(void)
{ {
if ((u8Condition1 == COMMON_POWER_OFF ) && (u8Condition2 == COMMON_Valid)) 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; u8PowerSts = m_IGN_Sleep_Init;
} }
......
...@@ -5,20 +5,16 @@ ...@@ -5,20 +5,16 @@
#define Base_Vol 0u #define Base_Vol 0u
#define ENTER_LOW_N_RANGE 6500U #define ENTER_LOW_N_RANGE 6500U
#define EXIT_LOW_N_RANGE 7000U #define EXIT_LOW_N_RANGE 7000U
#define ENTER_LOW_Y_RANGE 9000U #define ENTER_LOW_Y_RANGE 9000U
#define EXIT_LOW_Y_RANGE 9500U #define EXIT_LOW_Y_RANGE 9500U
#define EXIT_HIGH_Y_RANGE 32000U #define EXIT_HIGH_Y_RANGE 32000U
#define ENTER_HIGH_Y_RANGE 32500U #define ENTER_HIGH_Y_RANGE 32500U
#define EXIT_HIGH_N_RANGE 38500U #define EXIT_HIGH_N_RANGE 31000U
#define ENTER_HIGH_N_RANGE 33000U
#define ENTER_HIGH_N_RANGE 39000U
#define Top_Vol 0xffffu #define Top_Vol 0xffffu
...@@ -37,31 +33,31 @@ static uint16_t t_FUN_KL30_Debounce; ...@@ -37,31 +33,31 @@ static uint16_t t_FUN_KL30_Debounce;
static uint16_t t_FUN_KL15_Debounce; static uint16_t t_FUN_KL15_Debounce;
static uint16_t FUNSysVol_Range[10u] = static uint16_t FUNSysVol_Range[10u] =
{ {
Base_Vol, Base_Vol,
ENTER_LOW_N_RANGE, ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE, EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE, ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE, EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE, EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE, ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE, EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE, ENTER_HIGH_N_RANGE,
Top_Vol, Top_Vol,
}; };
static uint16_t NMSysVol_Range[10u] = static uint16_t NMSysVol_Range[10u] =
{ {
Base_Vol, Base_Vol,
ENTER_LOW_N_RANGE, ENTER_LOW_N_RANGE,
EXIT_LOW_N_RANGE, EXIT_LOW_N_RANGE,
ENTER_LOW_Y_RANGE, ENTER_LOW_Y_RANGE,
EXIT_LOW_Y_RANGE, EXIT_LOW_Y_RANGE,
EXIT_HIGH_Y_RANGE, EXIT_HIGH_Y_RANGE,
ENTER_HIGH_Y_RANGE, ENTER_HIGH_Y_RANGE,
EXIT_HIGH_N_RANGE, EXIT_HIGH_N_RANGE,
ENTER_HIGH_N_RANGE, ENTER_HIGH_N_RANGE,
Top_Vol, Top_Vol,
}; };
uint8_t Read_KL30_ConvertFinish(void) uint8_t Read_KL30_ConvertFinish(void)
......
...@@ -14,13 +14,8 @@ volatile uint8_t FlashSync5Hz; ...@@ -14,13 +14,8 @@ volatile uint8_t FlashSync5Hz;
volatile uint8_t FlashSync05Hz; volatile uint8_t FlashSync05Hz;
volatile uint8_t FlashSync_2_5_Hz; 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, const uint8_t FlashSync1HzTable[] = {0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
}; };
const uint8_t FlashSync2HzTable[] = {0u, 0u, 0u, 0u, 0u, 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, 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, ...@@ -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, 1u, 1u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u,
}; /* 2.5Hz */ }; /* 2.5Hz */
const uint8_t FlashSync3HzTable[] = {0u, 1u};/* 3Hz */ uint8_t FlashTimer = 0u;
uint8_t FlashTimer40 = 0u;
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
/****************************************************************************** /******************************************************************************
函数名:Flash_Sync_Signal_Generation_Service 函数名:Flash_Sync_Signal_Generation_Service
...@@ -55,49 +43,24 @@ uint8_t FlashTimer2 = 0u;//数组下标,数组元素总数为2 ...@@ -55,49 +43,24 @@ uint8_t FlashTimer2 = 0u;//数组下标,数组元素总数为2
参 数:无 参 数:无
返回值:无 返回值:无
******************************************************************************* *******************************************************************************
注 意:该服务函数必须每5ms被调用一次 注 意:该服务函数必须每50ms被调用一次
******************************************************************************/ ******************************************************************************/
void Flash_Sync_Signal_Generation_Service ( void ) void Flash_Sync_Signal_Generation_Service ( void )
{ {
count_10++;//每5ms加1 FlashTimer++; /*50ms一次 加 1*/
count_33++;//每5ms加1 if ( FlashTimer >= 20u )
if (count_10 >= 10u)
{ {
count_10 = 0u; FlashTimer = 0u;
{
FlashTimer++; /*50ms一次 加 1*/
if ( FlashTimer >= 20u )
{
FlashTimer = 0u;
}
FlashTimer40++; /*50ms一次 加 1*/
if ( FlashTimer40 >= 40u )
{
FlashTimer40 = 0u;
}
}
} }
FlashTimer40++; /*50ms一次 加 1*/
if (count_33 >= 33u) if ( FlashTimer40 >= 40u )
{ {
count_33 = 0u; FlashTimer40 = 0u;
FlashTimer2++; /*165ms一次 加 1*/
if (FlashTimer2 >= 2)
{
FlashTimer2 = 0u;
}
} }
FLASH_SYNC_1Hz = FlashSync1HzTable[FlashTimer]; /*500ms*/ FLASH_SYNC_1Hz = FlashSync1HzTable[FlashTimer]; /*500ms*/
FLASH_SYNC_2Hz = FlashSync2HzTable[FlashTimer]; /*250ms*/ FLASH_SYNC_2Hz = FlashSync2HzTable[FlashTimer]; /*250ms*/
FLASH_SYNC_5Hz = FlashSync5HzTable[FlashTimer]; /*100ms*/ 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_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; ...@@ -20,9 +20,6 @@ extern volatile uint8_t FlashSync5Hz;
extern volatile uint8_t FlashSync05Hz; extern volatile uint8_t FlashSync05Hz;
extern volatile uint8_t FlashSync_2_5_Hz; extern volatile uint8_t FlashSync_2_5_Hz;
extern volatile uint8_t FlashSync3Hz;
#define FLASH_SYNC_1Hz FlashSync1Hz #define FLASH_SYNC_1Hz FlashSync1Hz
#define FLASH_SYNC_2Hz FlashSync2Hz #define FLASH_SYNC_2Hz FlashSync2Hz
#define FLASH_SYNC_4Hz FlashSync4Hz #define FLASH_SYNC_4Hz FlashSync4Hz
...@@ -30,8 +27,6 @@ extern volatile uint8_t FlashSync3Hz; ...@@ -30,8 +27,6 @@ extern volatile uint8_t FlashSync3Hz;
#define FLASH_SYNC_05Hz FlashSync05Hz #define FLASH_SYNC_05Hz FlashSync05Hz
#define FLASH_SYNC_2_5_Hz FlashSync_2_5_Hz /* 2.5Hz闪烁 */ #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) ...@@ -28,7 +28,7 @@ void None_NM_Service(void)
} }
else else
{ {
if (NM_Idle_Timer <= 1600000ul) if (NM_Idle_Timer <= 1600000ul) /*休眠唤醒*/
{ {
NM_Idle_Timer++; NM_Idle_Timer++;
} }
...@@ -53,5 +53,5 @@ void None_NM_Request(void) ...@@ -53,5 +53,5 @@ void None_NM_Request(void)
} }
void None_NM_Release(void) void None_NM_Release(void)
{ {
} }
\ No newline at end of file
This diff is collapsed.
...@@ -92,7 +92,8 @@ typedef struct ...@@ -92,7 +92,8 @@ typedef struct
} _Display_State_Flag; } _Display_State_Flag;
extern volatile _Display_State_Flag State_Flag; extern _Display_State_Flag State_Flag;
typedef struct typedef struct
{ {
uint16_t Year; /* 年 */ uint16_t Year; /* 年 */
...@@ -155,6 +156,9 @@ typedef struct ...@@ -155,6 +156,9 @@ typedef struct
uint8_t T11; uint8_t T11;
uint8_t T12; uint8_t T12;
uint8_t FLAG; uint8_t FLAG;
uint8_t Reserve1;
uint8_t Reserve2;
uint8_t Reserve3;
} _TPMS; } _TPMS;
extern _TPMS TPMS_Matching; extern _TPMS TPMS_Matching;
...@@ -252,10 +256,13 @@ static const uint32_t GUIMenuWedk[7u] = {CN_ri, CN_Mon, CN_Tue, CN_Wed, CN_Thu, ...@@ -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, 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 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 GUIMETERY[5u] = {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, 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 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_LEMPY[4] = {92u, 158u, 225u, 291u};
static const uint16_t GUI_DISP_AC_TEMP[2] = {229u, 216u}; /*室外温度数字显示*/ static const uint16_t GUI_DISP_AC_TEMP[2] = {229u, 216u}; /*室外温度数字显示*/
...@@ -444,8 +451,8 @@ void GUI_BG_FacDTCClear2_Display(uint8_t Mode); /*工厂模式清除DTC2 ...@@ -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_FacDTCClear3_Display(uint8_t Mode); /*工厂模式清除DTC2*/
void GUI_BG_FacDTCClear4_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_FacMeter_Display(uint8_t Mode); /*工厂模式仪表显示*/
void GUI_BG_FacHIDAutoInit1_Display(uint8_t Mode); void GUI_BG_FacHIDAutoInit1_Display(uint8_t Mode); /**/
void GUI_BG_FacHIDAutoInit2_Display(uint8_t Mode); void GUI_BG_FacHIDAutoInit2_Display(uint8_t Mode); /**/
void GUI_BG_FacMeterExit_Display(uint8_t Mode); /*工厂模式是否结束工厂模式*/ void GUI_BG_FacMeterExit_Display(uint8_t Mode); /*工厂模式是否结束工厂模式*/
void GUI_DeaMenu_Display(uint8_t Mode); /*经销商模式MENU*/ void GUI_DeaMenu_Display(uint8_t Mode); /*经销商模式MENU*/
void GUI_BG_DeaMenu_Display(uint8_t Mode); /*经销商模式*/ void GUI_BG_DeaMenu_Display(uint8_t Mode); /*经销商模式*/
...@@ -460,8 +467,8 @@ void GUI_BG_DeaDTCClear2_Display(uint8_t Mode); /*经销商模式清除D ...@@ -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_DeaDTCClear3_Display(uint8_t Mode); /*经销商模式清除DTC3*/
void GUI_BG_DeaDTCClear4_Display(uint8_t Mode); /*经销商模式清除DTC4*/ void GUI_BG_DeaDTCClear4_Display(uint8_t Mode); /*经销商模式清除DTC4*/
void GUI_BG_DeaMeter_Display(uint8_t Mode); /*经销商模式仪表显示*/ void GUI_BG_DeaMeter_Display(uint8_t Mode); /*经销商模式仪表显示*/
void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode); void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode); /**/
void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode); void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode); /**/
void GUI_BG_DeaMeterExit_Display(uint8_t Mode); /*经销商模式是否结束经销商模式*/ void GUI_BG_DeaMeterExit_Display(uint8_t Mode); /*经销商模式是否结束经销商模式*/
void GUI_Display_DTC_Server(void); /**/ void GUI_Display_DTC_Server(void); /**/
...@@ -470,10 +477,10 @@ void GUI_BG_DTCSCR_Display(uint8_t Mode); /*SCR故障*/ ...@@ -470,10 +477,10 @@ void GUI_BG_DTCSCR_Display(uint8_t Mode); /*SCR故障*/
void GUI_BG_DTCAMT_Display(uint8_t Mode); /*AMT故障*/ void GUI_BG_DTCAMT_Display(uint8_t Mode); /*AMT故障*/
void GUI_Display_NULL(uint8_t Mode); /*无故障码*/ void GUI_Display_NULL(uint8_t Mode); /*无故障码*/
void GUI_BG_Enter_Return_Display(uint8_t Mode); /**/ void GUI_BG_Enter_Return_Display(uint8_t Mode); /**/
void GUI_Test_Display(uint8_t Mode); void GUI_Test_Display(uint8_t Mode); /**/
void Common_EOL_User_Server(void); void Common_EOL_User_Server(void); /**/
void K_LINE_EOL_Val_Server(void); void K_LINE_EOL_Val_Server(void); /**/
/*-----报警--------------------------------------------------------*/ /*-----报警--------------------------------------------------------*/
void GUI_General_Popup(void); void GUI_General_Popup(void);
......
...@@ -563,6 +563,7 @@ void Level2_1Menu_1Do(void) ...@@ -563,6 +563,7 @@ void Level2_1Menu_1Do(void)
if (DTCNumDis == 1u) /*故障码轮显*/ if (DTCNumDis == 1u) /*故障码轮显*/
{ {
GUI_Display_DTC_Server(); GUI_Display_DTC_Server();
//GUI_BG_DTCEngine_Display(GUI_DISP_MODE_NORMAL);
} }
else /*故障码读取中*/ else /*故障码读取中*/
{ {
......
...@@ -119,6 +119,7 @@ unsigned char kwp_EcuReset(unsigned char *TxData, unsigned char *RequestData) ...@@ -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 kwp_TesterPresent(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
(*TxData) = KWP2000_TESTERPRESENT_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET; (*TxData) = KWP2000_TESTERPRESENT_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET;
Tx_Len = 1; Tx_Len = 1;
return Tx_Len; return Tx_Len;
...@@ -135,6 +136,7 @@ unsigned char kwp_TesterPresent(unsigned char *TxData, unsigned char *RequestDat ...@@ -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 kwp_StartCommunication(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
K_LINE_SIGNAL_FLAG.RecvStart = 1; K_LINE_SIGNAL_FLAG.RecvStart = 1;
(*TxData++) = KWP2000_STARTCOMMUNICATION_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET; (*TxData++) = KWP2000_STARTCOMMUNICATION_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET;
...@@ -156,6 +158,7 @@ unsigned char kwp_StartCommunication(unsigned char *TxData, unsigned char *Reque ...@@ -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 kwp_StopCommunication(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
if (K_LINE_SIGNAL_FLAG.RecvStart == 1) if (K_LINE_SIGNAL_FLAG.RecvStart == 1)
{ {
K_LINE_SIGNAL_FLAG.RecvStart = 0; /*EOL诊断结束标识*/ K_LINE_SIGNAL_FLAG.RecvStart = 0; /*EOL诊断结束标识*/
...@@ -182,6 +185,7 @@ unsigned char kwp_StopCommunication(unsigned char *TxData, unsigned char *Reques ...@@ -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 kwp_readEcuIdentification(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */ switch (RequestData[0]) /* subFunction */
{ {
case 0x81: /* ECUIdentificationScalingTable */ case 0x81: /* ECUIdentificationScalingTable */
...@@ -195,7 +199,7 @@ unsigned char kwp_readEcuIdentification(unsigned char *TxData, unsigned char *Re ...@@ -195,7 +199,7 @@ unsigned char kwp_readEcuIdentification(unsigned char *TxData, unsigned char *Re
break; break;
case 0x91: /* vehicleManufacturerECUHardwareNumber */ case 0x91: /* vehicleManufacturerECUHardwareNumber */
(*TxData++) = KWP2000_READECUIDENTIFICATION_REQUEST + KWP2000_POSITIVE_RESPONSE_OFFSET; (*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_Digit1;
(*TxData++) = K_Line_Set.No_Digit2; (*TxData++) = K_Line_Set.No_Digit2;
(*TxData++) = K_Line_Set.No_Digit3; (*TxData++) = K_Line_Set.No_Digit3;
...@@ -227,6 +231,7 @@ unsigned char kwp_writeDataByLocalIdentifier(unsigned char *TxData, unsigned cha ...@@ -227,6 +231,7 @@ unsigned char kwp_writeDataByLocalIdentifier(unsigned char *TxData, unsigned cha
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
unsigned char CupFlag = 0; unsigned char CupFlag = 0;
if ((K_Line_Set.KLINE == 0) || ((K_Line_Set.KLINE == 1) && (K_LINE_SIGNAL_FLAG.SendSeedEQUSRecvSeed == 1))) if ((K_Line_Set.KLINE == 0) || ((K_Line_Set.KLINE == 1) && (K_LINE_SIGNAL_FLAG.SendSeedEQUSRecvSeed == 1)))
{ {
switch (RequestData[0]) /* */ switch (RequestData[0]) /* */
...@@ -679,6 +684,7 @@ unsigned char kwp_readDataByLocalIdentifier(unsigned char *TxData, unsigned char ...@@ -679,6 +684,7 @@ unsigned char kwp_readDataByLocalIdentifier(unsigned char *TxData, unsigned char
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
unsigned int ECUStatusCup = 0; unsigned int ECUStatusCup = 0;
switch (RequestData[0]) /* subFunction */ switch (RequestData[0]) /* subFunction */
{ {
case 0x20: /* 应对ECE R13 */ case 0x20: /* 应对ECE R13 */
...@@ -1099,6 +1105,7 @@ unsigned char kwp_readDataByLocalIdentifier(unsigned char *TxData, unsigned char ...@@ -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 kwp_readDataByCommonIdentifier(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
return Tx_Len; return Tx_Len;
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -1194,6 +1201,7 @@ unsigned char kwp_readDataAccessMode(unsigned char *TxData, unsigned char *Reque ...@@ -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 kwp_StartroutInebykocalIdentifier(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
switch (RequestData[0]) /* */ switch (RequestData[0]) /* */
{ {
case 0x08: /* */ case 0x08: /* */
...@@ -1222,6 +1230,7 @@ unsigned char kwp_StartroutInebykocalIdentifier(unsigned char *TxData, unsigned ...@@ -1222,6 +1230,7 @@ unsigned char kwp_StartroutInebykocalIdentifier(unsigned char *TxData, unsigned
unsigned char kwp_readDataStatusofDTC(unsigned char *TxData, unsigned char *RequestData) unsigned char kwp_readDataStatusofDTC(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */ switch (RequestData[0]) /* subFunction */
{ {
case 0x00: /* */ case 0x00: /* */
...@@ -1319,6 +1328,7 @@ unsigned char kwp_readDataStatusofDTC(unsigned char *TxData, unsigned char *Requ ...@@ -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 kwp_ClearDiagnosticInformation(unsigned char *TxData, unsigned char *RequestData)
{ {
unsigned char Tx_Len = 0; unsigned char Tx_Len = 0;
switch (RequestData[0]) /* subFunction */ switch (RequestData[0]) /* subFunction */
{ {
case 0xFF: /* */ case 0xFF: /* */
...@@ -1432,6 +1442,14 @@ void Common_Set_DTCstatusCHGFFK_Flag(unsigned char Val) ...@@ -1432,6 +1442,14 @@ void Common_Set_DTCstatusCHGFFK_Flag(unsigned char Val)
DTCstatusCHGFFK_Line = 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) void K_LINE_EOL_InitVal(void)
{ {
K_Line_Set.Flag = 0x7AA7A55Au; K_Line_Set.Flag = 0x7AA7A55Au;
...@@ -1469,45 +1487,46 @@ void K_LINE_EOL_InitVal(void) ...@@ -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_LID3E = 0x01u; /* 01 胎压匹配功能 //0:胎压功能未匹配 1:匹配 */
K_Line_Set.K_Line_LID3F = 0x00u; /* -- 预留 */ K_Line_Set.K_Line_LID3F = 0x00u; /* -- 预留 */
K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */ K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */
K_Line_Set.K_Line_LID41 = 0x13u; /* 50 变速器种类&控制 /*初值50*/ K_Line_Set.K_Line_LID41 = 0x13u; /* 50 变速器种类&控制 /*初值50*/
K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/ K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/
K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型 /*初值44*/ K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型 /*初值44*/
K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/ K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/
K_Line_Set.K_Line_LID45 = 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_LID46 = 0xFFu; /* FF 急加速 /*初值FF*/
K_Line_Set.K_Line_LID47 = 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_LID48 = 0xFFu; /* FF 长时间怠速 /*初值FF*/
K_Line_Set.K_Line_LID49 = 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_LID4A = 0x32u; /* 37 变速箱油 55000 */
K_Line_Set.K_Line_LID4B = 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_LID4C = 0x32u; /* 37 离合器油 55000 */
K_Line_Set.K_Line_LID4D = 0x64u; /* 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_LID4E = 0x78u; /* 32 轮胎 50000 */
K_Line_Set.K_Line_LID4F = 0x32u; /* 34 机油&滤清器 22000 */ K_Line_Set.K_Line_LID4F = 0x32u; /* 34 机油&滤清器 22000 */
K_Line_Set.K_Line_LID50 = 0x00u; /* -- 预留 */ K_Line_Set.K_Line_LID50 = 0x00u; /* -- 预留 */
K_Line_Set.K_Line_LID51 = 0x01u; /* 01 工作模式 */ K_Line_Set.K_Line_LID51 = 0x01u; /* 01 工作模式 */
K_Line_Set.K_Line_LID52 = 0x00u; /* 00 电子部件设定 */ K_Line_Set.K_Line_LID52 = 0x00u; /* 00 电子部件设定 */
K_Line_Set.No_Digit1 = 0x38u; //01 K_Line_Set.KLINE = 0x00u;
K_Line_Set.No_Digit2 = 0x39u; //02 K_Line_Set.No_Digit1 = 0x38u; /* 01 */
K_Line_Set.No_Digit3 = 0x37u; //03 K_Line_Set.No_Digit2 = 0x39u; /* 02 */
K_Line_Set.No_Digit4 = 0x39u; //04 K_Line_Set.No_Digit3 = 0x37u; /* 03 */
K_Line_Set.No_Digit5 = 0x36u; //05 K_Line_Set.No_Digit4 = 0x39u; /* 04 */
K_Line_Set.No_Digit6 = 0x38u; //06 K_Line_Set.No_Digit5 = 0x36u; /* 05 */
K_Line_Set.No_Digit7 = 0x33u; //07 K_Line_Set.No_Digit6 = 0x38u; /* 06 */
K_Line_Set.No_Digit8 = 0x30u; //08 K_Line_Set.No_Digit7 = 0x33u; /* 07 */
K_Line_Set.No_Digit9 = 0x31u; //09 K_Line_Set.No_Digit8 = 0x30u; /* 08 */
K_Line_Set.No_Digit10 = 0x30u; //10 K_Line_Set.No_Digit9 = 0x31u; /* 09 */
K_Line_Set.ECUStatus1 = 0x00u; //11 K_Line_Set.No_Digit10 = 0x30u; /* 10 */
K_Line_Set.ECUStatus2 = 0x00u; //12 K_Line_Set.ECUStatus1 = 0x00u; /* 11 */
K_Line_Set.ECUStatus3 = 0x00u; //13 K_Line_Set.ECUStatus2 = 0x00u; /* 12 */
K_Line_Set.ECUStatus4 = 0x00u; //14 K_Line_Set.ECUStatus3 = 0x00u; /* 13 */
K_Line_Set.ECUStatus5 = 0x00u; //15 K_Line_Set.ECUStatus4 = 0x00u; /* 14 */
K_Line_Set.METERCOUNT = 0x00u; //16 K_Line_Set.ECUStatus5 = 0x00u; /* 15 */
K_Line_Set.NoOfDTCFF00 = 0x00u; //17 K_Line_Set.METERCOUNT = 0x00u; /* 16 */
K_Line_Set.NoOfDTC8000 = 0x00u; //18 K_Line_Set.NoOfDTCFF00 = 0x00u; /* 17 */
K_Line_Set.TesterECU = 0x00u; //19 K_Line_Set.NoOfDTC8000 = 0x00u; /* 18 */
K_Line_Set.TesterECUCAN = 0x00u; //20 K_Line_Set.TesterECU = 0x00u; /* 19 */
K_Line_Set.User_Light1 = 10u; K_Line_Set.TesterECUCAN = 0x00u; /* 20 */
K_Line_Set.User_Light2 = 10u; K_Line_Set.User_Light1 = 10u; /*背光亮度等级*/
K_Line_Set.User_Light2 = 10u; /*背光亮度等级*/
} }
\ No newline at end of file
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include "UDS_Common.h" #include "UDS_Common.h"
#include "Watchdog.h" #include "Watchdog.h"
#include "RSCAN.h"
static uint16_t Can_Init_Lock = 0U; static uint16_t Can_Init_Lock = 0U;
...@@ -34,111 +35,138 @@ void Can_Init(void) ...@@ -34,111 +35,138 @@ void Can_Init(void)
uint32_t CANLLCCh0OwnIDList[4]; uint32_t CANLLCCh0OwnIDList[4];
uint32_t i; uint32_t i;
CANFD_Filter_Init_st_t CANLLCCh0Filter; RSCAN0_Config_st_t CANLLCCh0Filter;
if (Can_Init_Lock != 0x55AAu)
{ CANLLCCh0Filter.stRSCANCh0.u32RSCANChEn = 1u; /*通道是否使能*/
/* Sys_Startup_Init */ CANLLCCh0Filter.stRSCANCh0.enRSCANChBps = RSCAN_Baud_Rate_500K; /*通道波特率*/
/*50304*/ CANLLCCh0Filter.stRSCANCh0.u32RSCANChRuleSize = CANFD0_CH0_RX_RULE_SIZE; /*通道接收规则条数*/
/* Channel0 Filter Data */ CANLLCCh0Filter.stRSCANCh0.pfnRSCANConfirmCallBack = 0u; /*发送确认*/
CANLLCCh0Filter.stRSCANCh0.pfnRSCANAbortConfirmCallBack = 0u; /*发送中止确认*/
for (i = 2u; i < (ID_TOTAL_MAX + 2u); i++) CANLLCCh0Filter.stRSCANCh0.pfnRSCANReadMsgCallBack = 0u; /*接收完成*/
{
CANLLCCh0MsgIDList[i] = CAN_MSG_CONST_ARRAY[i - 2].MSG_Identifier; CANLLCCh0Filter.stRSCANCh1.u32RSCANChEn = 0u; /*通道是否使能*/
} CANLLCCh0Filter.stRSCANCh1.enRSCANChBps = RSCAN_Baud_Rate_500K; /*通道波特率*/
CANLLCCh0Filter.stRSCANCh1.u32RSCANChRuleSize = CANFD0_CH1_RX_RULE_SIZE; /*通道接收规则条数*/
/* Channel0 Filter Data configeration */ 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); uint8_t Can_Write(_CAN_Msg *Msg)
IDFilterNum |= (uint32_t)((0 & 0xFFUL) << 8U); {
IDFilterNum |= (uint32_t)((0 & 0xFFUL) << 16U); CAN_Frame_st_t CANFrame;
CANLLCCh0Filter.pfCAN0DataIndCb = Can_Read_Msg; CANFrame.unCANData.u8CANData[0] = Msg->Msg[0];
CANLLCCh0Filter.pfCAN0DataConfirmCb = Can_Confirm; 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; CANFrame.u32CANID = Msg->MsgID;
CANLLCCh0Filter.pfCAN1DataConfirmCb = (void *)0; CANFrame.u8CANLEN = 8;
CANFrame.u8CANFrameIDE = 1u;
CANLLCCh0Filter.pfCAN2DataIndCb = (void *)0;
CANLLCCh0Filter.pfCAN2DataConfirmCb = (void *)0;
CANLLCCh0Filter.CH0_Enable = 1u; switch (Msg->MsgPro)
CANLLCCh0Filter.CH1_Enable = 0u; {
CANLLCCh0Filter.CH2_Enable = 0u; 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; default:
CANLLCCh0Filter.CH1_Std_Ext = 0u; break;
CANLLCCh0Filter.CH2_Std_Ext = 0u;
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) switch (Msg->MsgPro)
{ {
case 0: case 0:
RSCAN0_SendCH0_TxBuf0(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf0(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 1: case 1:
RSCAN0_SendCH0_TxBuf1(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf1(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 2: case 2:
RSCAN0_SendCH0_TxBuf2(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf2(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 3: case 3:
RSCAN0_SendCH0_TxBuf3(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf3(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 4: case 4:
RSCAN0_SendCH0_TxBuf4(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf4(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 5: case 5:
RSCAN0_SendCH0_TxBuf5(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf5(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 6: case 6:
RSCAN0_SendCH0_TxBuf6(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf6(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 7: case 7:
RSCAN0_SendCH0_TxBuf7(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf7(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 8: case 8:
RSCAN0_SendCH0_TxBuf8(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf8(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 9: case 9:
RSCAN0_SendCH0_TxBuf9(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf9(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 10: case 10:
RSCAN0_SendCH0_TxBuf10(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf10(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 11: case 11:
RSCAN0_SendCH0_TxBuf11(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf11(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 12: case 12:
RSCAN0_SendCH0_TxBuf12(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf12(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 13: case 13:
RSCAN0_SendCH0_TxBuf13(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf13(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 14: case 14:
RSCAN0_SendCH0_TxBuf14(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf14(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
case 15: case 15:
RSCAN0_SendCH0_TxBuf15(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg); RSCAN0_SendCH0_TxBuf15(Msg->MsgID, Msg->MsgDLC, Msg->MsgStd, Msg->Msg);
break; break;
default: default:
CAN_CH0_Data_Request(Msg->MsgID, Msg->MsgStd, Msg->MsgRTR, Msg->MsgDLC, Msg->Msg); CAN_CH0_Data_Request(Msg->MsgID, Msg->MsgStd, Msg->MsgRTR, Msg->MsgDLC, Msg->Msg);
break; break;
} }
*/
return 0; return 0;
} }
...@@ -154,9 +182,12 @@ void Can_Wakeup_Fun(void) ...@@ -154,9 +182,12 @@ void Can_Wakeup_Fun(void)
{ {
} }
/*诊断发送终止----20220320----*/
void Can_Uds_Abort(void) 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) void Can_Abort_All(void)
...@@ -183,5 +214,6 @@ void Can_Confirm(uint32_t Identifier, uint8_t TransferStatus) ...@@ -183,5 +214,6 @@ void Can_Confirm(uint32_t Identifier, uint8_t TransferStatus)
void CAN_BUSOFF_Recover(void) 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) ...@@ -17,7 +17,7 @@ void RTE_CAN_NM_Init(void)
CAN_APP_MSG_TX_ENABLE = 0X55U; CAN_APP_MSG_TX_ENABLE = 0X55U;
CAN_NM_MSG_RX_ENABLE = 0X00U; CAN_NM_MSG_RX_ENABLE = 0X00U;
CAN_NM_MSG_TX_ENABLE = 0X55U; CAN_NM_MSG_TX_ENABLE = 0X55U;
CAN_NM_MODE_Status = 0X00U; CAN_NM_MODE_Status = 0X00U;
...@@ -106,7 +106,8 @@ uint8_t RTE_CAN_GetBusStatus(void) ...@@ -106,7 +106,8 @@ uint8_t RTE_CAN_GetBusStatus(void)
{ {
uint8_t m_condition; uint8_t m_condition;
uint8_t ret; uint8_t ret;
m_condition = Get_CH0_RecStatus(); //m_condition = Get_CH0_RecStatus();
m_condition = RSCAN0_CH0_Get_Rec_Status();
if (m_condition == 1u) /*总线有报文 在接收状态*/ if (m_condition == 1u) /*总线有报文 在接收状态*/
{ {
ret = 1u; ret = 1u;
......
...@@ -160,7 +160,8 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t ...@@ -160,7 +160,8 @@ void DoCAN_N_USData_Request ( uint32_t N_TAtype, uint8_t MessageData[], uint16_t
/*TpCtrl.TxReq = 1u;*/ /*TpCtrl.TxReq = 1u;*/
DoCAN_Start_Timer ( TIMING_PARA_N_As ); /*启动N_As计时*/ DoCAN_Start_Timer ( TIMING_PARA_N_As ); /*启动N_As计时*/
TpCtrl.Process = TP_TX_INIT; /*数据帧已发出,等待发送完成*/ 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[] ) ...@@ -252,9 +253,9 @@ void DoCAN_L_Data_Request ( uint32_t Identifier, uint8_t dlc, uint8_t Data[] )
LinkTxCtrl.Data[i] = FILLER_BYTE; LinkTxCtrl.Data[i] = FILLER_BYTE;
} }
RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data); //RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#else #else
RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data); //RSCAN0_SendCH0_TxBuf0(LinkTxCtrl.Identifier, 8U, 1U, LinkTxCtrl.Data);
#endif #endif
LinkTxCtrl.Busy = 1u; LinkTxCtrl.Busy = 1u;
} }
......
...@@ -136,7 +136,9 @@ void Buzzer_Play_ISR(void) ...@@ -136,7 +136,9 @@ void Buzzer_Play_ISR(void)
if (BuzzerPlayCtrl.Mode) if (BuzzerPlayCtrl.Mode)
{ {
if (BuzzerPlayCtrl.Timer) if (BuzzerPlayCtrl.Timer)
{
BuzzerPlayCtrl.Timer--; BuzzerPlayCtrl.Timer--;
}
if (BuzzerPlayCtrl.Timer == 0) if (BuzzerPlayCtrl.Timer == 0)
{ {
...@@ -151,7 +153,9 @@ void Buzzer_Play_ISR(void) ...@@ -151,7 +153,9 @@ void Buzzer_Play_ISR(void)
TimerB_PWM_Channel_Start(BUZZER_PWM_CHANNEL); TimerB_PWM_Channel_Start(BUZZER_PWM_CHANNEL);
} }
else else
{
TimerB_PWM_Channel_Stop(BUZZER_PWM_CHANNEL); TimerB_PWM_Channel_Stop(BUZZER_PWM_CHANNEL);
}
BuzzerPlayCtrl.Timer = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Interval * 20; BuzzerPlayCtrl.Timer = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Interval * 20;
BuzzerPlayCtrl.Fade = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Fade * 20; BuzzerPlayCtrl.Fade = SndTracks[BuzzerPlayCtrl.Track].Note[BuzzerPlayCtrl.Note].Fade * 20;
...@@ -160,7 +164,9 @@ void Buzzer_Play_ISR(void) ...@@ -160,7 +164,9 @@ void Buzzer_Play_ISR(void)
else else
{ {
if (BuzzerPlayCtrl.Mode == BUZZER_MODE_LOOP) if (BuzzerPlayCtrl.Mode == BUZZER_MODE_LOOP)
{
BuzzerPlayCtrl.Note = 0; BuzzerPlayCtrl.Note = 0;
}
else else
{ {
BUZZER_CTRL = 0; BUZZER_CTRL = 0;
......
/*-----------------use for RH850_D1M1A_1441 --------------------*/
#include "RSCAN_Table.h" #include "RSCAN_Table.h"
#if 0 #define CANFD0_CH0_RX_SELECT 0x00000400UL
const canfd_filter_type RX_RULE_TABLE_LIST[33] = #define CANFD0_CH1_RX_SELECT 0x00002000UL
{ #define CANFD0_CH2_RX_SELECT 0x00010000UL
/* CAN 0 reception rules */
{0x000002E5ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x0000064Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, const RSCANFD_Filter_st_t CANFD_RX_RULE_TABLE_LIST[CANFD0_RX_RULE_SIZE] =
{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] =
{ {
/* CAN 0 reception rules */ /* CAN 0 reception rules */
{0x8C010305ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, /* ID , MASK , LEN */
{0x8C0320A8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, //{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH0_RX_SELECT},
{0x8C0320B0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, //{0x8C010305UL, 0x00000000UL, 0x80000000UL, CANFD0_CH1_RX_SELECT},
{0x8C0320B8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, //{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH1_RX_SELECT},
{0x8C0320C0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, //{0x8C010305UL, 0xFFFFFFFFUL, 0x80000000UL, CANFD0_CH2_RX_SELECT},
{0x8C0320C8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul},
{0x8CF00400ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C010305ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 1*/
{0x8CF02F2Aul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C0320A8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 2*/
{0x8CF02FA0ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C0320B0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 3*/
{0x8CF02FA1ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C0320B8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 4*/
{0x0CFF0F15ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C0320C0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 5*/
{0x90F007E8ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8C0320C8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 6*/
{0x90FF462Dul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8CF00400ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 7*/
{0x90FF477Eul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8CF02F2Aul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 8*/
{0x98011733ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8CF02FA0ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/* 9*/
{0x98021733ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x8CF02FA1ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*10*/
{0x98EA0021ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x0CFF0F15ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*11*/
{0x98EBFF03ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x90F007E8ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*12*/
{0x98ECFF03ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x90FF462Dul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*13*/
{0x98EF1718ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x90FF477Eul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*14*/
{0x98F00000ul, 0xDFF00000UL, 0x00000000ul, 0x00000200ul}, {0x98011733ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*15*/
{0x9CFFFEF2ul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x98021733ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*16*/
{0x98DA17FAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {0x98EA0021ul, 0xDFFFFFFFUL, 0x80000000ul, CANFD0_CH0_RX_SELECT},/*17*/
{0x98DBFFFAul, 0xDFFFFFFFUL, 0x00000000ul, 0x00000200ul}, {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 #ifndef RSCAN_TABLE_H
#define RSCAN_TABLE_H #define RSCAN_TABLE_H
/*-----------------use for RH850_D1M1A_1441 --------------------*/
#include "r_typedefs.h" #include "r_typedefs.h"
/* structure */ /* structure */
typedef struct { typedef struct
{
uint32_t data[4]; uint32_t data[4];
}canfd_filter_type; } RSCANFD_Filter_st_t;
#define RX_RULE_SIZE 24U
extern const canfd_filter_type RX_RULE_TABLE_LIST[RX_RULE_SIZE] ; #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 #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 @@ ...@@ -15,8 +15,8 @@
#define CD4051B_InputGOIO_Com6 CD4051A_COM6_MCU_IN #define CD4051B_InputGOIO_Com6 CD4051A_COM6_MCU_IN
#define CD4051B_InputGOIO_Com7 CD4051A_COM7_MCU_IN #define CD4051B_InputGOIO_Com7 CD4051A_COM7_MCU_IN
#define CD4051B_DEBOUNCE_High_TIME 20u #define CD4051B_DEBOUNCE_High_TIME 100u
#define CD4051B_DEBOUNCE_Low_TIME 20u #define CD4051B_DEBOUNCE_Low_TIME 100u
#define CD4051B_DEBOUNCE_High_CNT CD4051B_DEBOUNCE_High_TIME / 20u #define CD4051B_DEBOUNCE_High_CNT CD4051B_DEBOUNCE_High_TIME / 20u
#define CD4051B_DEBOUNCE_Low_CNT CD4051B_DEBOUNCE_Low_TIME / 20u #define CD4051B_DEBOUNCE_Low_CNT CD4051B_DEBOUNCE_Low_TIME / 20u
/*通道枚举*/ /*通道枚举*/
......
...@@ -13,13 +13,13 @@ ...@@ -13,13 +13,13 @@
extern uint32_t TestBackupRam; extern uint32_t TestBackupRam;
#define CLOCK_PROTECTED_WRITE(preg, pstatus, reg, value) \ #define CLOCK_PROTECTED_WRITE(preg, pstatus, reg, value) \
do \ do \
{ \ { \
(preg) = 0xA5U; \ (preg) = 0xA5U; \
(reg) = (value); \ (reg) = (value); \
(reg) = ~(value); \ (reg) = ~(value); \
(reg) = (value); \ (reg) = (value); \
} while ((pstatus) == 1U) } while ((pstatus) == 1U)
static const r_dev_ClkGenConfig_t g_stClockGenCfg = static const r_dev_ClkGenConfig_t g_stClockGenCfg =
{ {
...@@ -224,6 +224,7 @@ void Sys_Enter_Sleep_Mode(void) ...@@ -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_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_0, GPIO_WAKEUP_HIGH_LEVEL); /*15电唤醒 ----20220106----*/
GPIO_Wakeup_PIN_Set(GPIO_WAKEUP_PIN_P0_7, GPIO_WAKEUP_HIGH_LEVEL); /*硬线唤醒 ----20220314----*/
/*----------------------------------------------*/ /*----------------------------------------------*/
SYSWUFMSK0 &= 0x7FFFEU; SYSWUFMSK0 &= 0x7FFFEU;
......
...@@ -4,7 +4,7 @@ static const HanSansCNFontPos_t Hansans00002ce20[] = ...@@ -4,7 +4,7 @@ static const HanSansCNFontPos_t Hansans00002ce20[] =
{ {
//{charid, xpos, ypos, width, height, xoffset, yoffset, xadvance} //{charid, xpos, ypos, width, height, xoffset, yoffset, xadvance}
{ 0 , 3995 , 552 , 4 , 22 , 0 , 0 , 4 }, { 0 , 3995 , 552 , 4 , 22 , 0 , 0 , 4 },
#if 0 #if 1
{ 1 , 3995 , 23 , 4 , 22 , 0 , 0 , 4 }, { 1 , 3995 , 23 , 4 , 22 , 0 , 0 , 4 },
{ 2 , 3995 , 805 , 4 , 22 , 0 , 0 , 4 }, { 2 , 3995 , 805 , 4 , 22 , 0 , 0 , 4 },
{ 3 , 3995 , 759 , 4 , 22 , 0 , 0 , 4 }, { 3 , 3995 , 759 , 4 , 22 , 0 , 0 , 4 },
...@@ -90,7 +90,7 @@ void Sys_Tick_Timer_ISR(void) ...@@ -90,7 +90,7 @@ void Sys_Tick_Timer_ISR(void)
uint16_t u16Counter; uint16_t u16Counter;
UDS_50us_Service(); UDS_50us_Service();
if (pfnSysTickCallBack[SYS_TICK_50us_CB] != NULL ) if (pfnSysTickCallBack[SYS_TICK_50us_CB] != NULL )
{ {
pfnSysTickCallBack[SYS_TICK_50us_CB](); pfnSysTickCallBack[SYS_TICK_50us_CB]();
...@@ -116,7 +116,7 @@ void Sys_Tick_Timer_ISR(void) ...@@ -116,7 +116,7 @@ void Sys_Tick_Timer_ISR(void)
{ {
pfnSysTickCallBack[SYS_TICK_100ms_CB](); pfnSysTickCallBack[SYS_TICK_100ms_CB]();
} }
g_stSysTickTimer.u32DstVal100ms = g_stSysTickTimer.u32MainCnt + (100000UL / SYS_TICK_INT_INTERVAL); g_stSysTickTimer.u32DstVal100ms = g_stSysTickTimer.u32MainCnt + (100000UL / SYS_TICK_INT_INTERVAL);
} }
......
...@@ -1960,7 +1960,7 @@ void INTRCANGRECC(void) ...@@ -1960,7 +1960,7 @@ void INTRCANGRECC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN0ERR(void) void INTRCAN0ERR(void)
{ {
RSCAN0_CH0_Err_ISR(); ;//RSCAN0_CH0_Err_ISR();
} }
#endif #endif
...@@ -1968,7 +1968,7 @@ void INTRCAN0ERR(void) ...@@ -1968,7 +1968,7 @@ void INTRCAN0ERR(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN0REC(void) void INTRCAN0REC(void)
{ {
RSCAN0_CH0_Rx_ISR(); RSCAN0_CH0_RX_ISR();
} }
#endif #endif
...@@ -1976,7 +1976,7 @@ void INTRCAN0REC(void) ...@@ -1976,7 +1976,7 @@ void INTRCAN0REC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN0TRX(void) void INTRCAN0TRX(void)
{ {
RSCAN0_CH0_Tx_ISR(); RSCAN0_CH0_TX_ISR();
} }
#endif #endif
...@@ -1984,7 +1984,7 @@ void INTRCAN0TRX(void) ...@@ -1984,7 +1984,7 @@ void INTRCAN0TRX(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN1ERR(void) void INTRCAN1ERR(void)
{ {
RSCAN0_CH1_Err_ISR(); ;//RSCAN0_CH1_Err_ISR();
} }
#endif #endif
...@@ -1992,7 +1992,7 @@ void INTRCAN1ERR(void) ...@@ -1992,7 +1992,7 @@ void INTRCAN1ERR(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN1REC(void) void INTRCAN1REC(void)
{ {
RSCAN0_CH1_Rx_ISR(); RSCAN0_CH1_RX_ISR();
} }
#endif #endif
...@@ -2000,7 +2000,7 @@ void INTRCAN1REC(void) ...@@ -2000,7 +2000,7 @@ void INTRCAN1REC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN1TRX(void) void INTRCAN1TRX(void)
{ {
RSCAN0_CH1_Tx_ISR(); RSCAN0_CH1_TX_ISR();
} }
#endif #endif
...@@ -2008,7 +2008,7 @@ void INTRCAN1TRX(void) ...@@ -2008,7 +2008,7 @@ void INTRCAN1TRX(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN2ERR(void) void INTRCAN2ERR(void)
{ {
RSCAN0_CH2_Err_ISR(); ;//RSCAN0_CH2_Err_ISR();
} }
#endif #endif
...@@ -2016,7 +2016,7 @@ void INTRCAN2ERR(void) ...@@ -2016,7 +2016,7 @@ void INTRCAN2ERR(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN2REC(void) void INTRCAN2REC(void)
{ {
RSCAN0_CH2_Rx_ISR(); RSCAN0_CH2_RX_ISR();
} }
#endif #endif
...@@ -2024,7 +2024,7 @@ void INTRCAN2REC(void) ...@@ -2024,7 +2024,7 @@ void INTRCAN2REC(void)
#pragma ghs interrupt #pragma ghs interrupt
void INTRCAN2TRX(void) void INTRCAN2TRX(void)
{ {
RSCAN0_CH2_Tx_ISR(); RSCAN0_CH2_TX_ISR();
} }
#endif #endif
......
...@@ -134,7 +134,6 @@ void Sys_Run_Mode_5ms_Tasks(void) ...@@ -134,7 +134,6 @@ void Sys_Run_Mode_5ms_Tasks(void)
COM_RX_Process(); COM_RX_Process();
Id18EF1817_Send_Service(); Id18EF1817_Send_Service();
Id18033317_Send_Service(); Id18033317_Send_Service();
Flash_Sync_Signal_Generation_Service();
} }
/*============================================================================== /*==============================================================================
...@@ -146,7 +145,6 @@ void Sys_Run_Mode_10ms_Tasks(void) ...@@ -146,7 +145,6 @@ void Sys_Run_Mode_10ms_Tasks(void)
loc_Display_Service(); loc_Display_Service();
Data_Mileage_Write_EEPROM(); Data_Mileage_Write_EEPROM();
Line_In_Debounce_Service(); Line_In_Debounce_Service();
Popup_Alone_Sound_Server();
Telltales_Left_Right_Management_Service(); Telltales_Left_Right_Management_Service();
if (MenuFlag.Menu_Popup_Flag == 4u) if (MenuFlag.Menu_Popup_Flag == 4u)
...@@ -197,7 +195,7 @@ void Sys_Run_Mode_20ms_Tasks(void) ...@@ -197,7 +195,7 @@ void Sys_Run_Mode_20ms_Tasks(void)
void Sys_Run_Mode_50ms_Tasks(void) void Sys_Run_Mode_50ms_Tasks(void)
{ {
Flash_Sync_Signal_Generation_Service();
Data_Time_Calibration(); Data_Time_Calibration();
Speed_PPK_Processing(); Speed_PPK_Processing();
Sound_Scheduling_Service(); Sound_Scheduling_Service();
...@@ -232,6 +230,7 @@ void Sys_Run_Mode_100ms_Tasks(void) ...@@ -232,6 +230,7 @@ void Sys_Run_Mode_100ms_Tasks(void)
// Menu_Get_Battery_Sts_Exist(); // Menu_Get_Battery_Sts_Exist();
Popups_Management_Service(); Popups_Management_Service();
Popup_Scheduling_Service(); Popup_Scheduling_Service();
Popup_Alone_Sound_Server();
/*保养通知数据计算*/ /*保养通知数据计算*/
Common_EOL_User_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