Commit 3bdf9153 authored by wangxuhui's avatar wangxuhui

Merge branch 'dev' into 'master_dev'

Dev

See merge request !93
parents 4a07f805 bbf1d175
......@@ -393,6 +393,11 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\System\main.h</FilePath>
</File>
<File>
<FileName>Sys_Scheduler_Lib.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\System\Sys_Scheduler_Lib.c</FilePath>
</File>
<File>
<FileName>Sys_Scheduler.c</FileName>
<FileType>1</FileType>
......@@ -403,11 +408,6 @@
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\System\Sys_Scheduler.h</FilePath>
</File>
<File>
<FileName>Sys_Scheduler_Lib.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\System\Sys_Scheduler_Lib.c</FilePath>
</File>
<File>
<FileName>Sys_Scheduler_Lib.h</FileName>
<FileType>5</FileType>
......
......@@ -132,7 +132,7 @@ const uint8_t user_opt_data[4] __attribute__((used)) __attribute__((section(".AR
// <0x72=> VLVDH = 4.06V/3.98V, VLVDL = 2.75V ( interrupt & reset mode )
// <i> Please setting the item for interrupt & reset mode
// </h>
0x3B,
0x72,
/**
* @brief HOCO Control BYTE (FRQSEL)
......
This diff is collapsed.
......@@ -22,10 +22,22 @@
#endif /* NULL */
extern Light_uint16_t LightR_Status ;
void Backlight_KL30_Wakeup_Init(void);
void BackLight_Process(void);
Light_uint8_t Backlight_SetPwmLevel(void);
extern void BackLight_Service(void);
extern void BackLight_30_Init(void);
extern void BackLight_15_Init(void);
extern void BackLight_WakeUp_Init(void);
extern void BackLight_Sleep_Init(void);
extern void BackLight_Back_PWM_Init(void);
extern void BackLight_Set_Lvl(Light_uint8_t lvl);
extern void BackLight_Process(void);
extern Light_uint8_t Backlight_GetPwmLevel(void);
......
......@@ -160,7 +160,7 @@ TEXT_STRUCT TextPara[TEXT_NUM_TOTAL] =
{TEXT_NUM_INFORMATION_HW, 0x4014, 0}, //23F 23E
{TEXT_NUM_INFORMATION_OS, 0x4015, 0},
{TEXT_NUM_INFORMATION_MCU, 0x4016, 0},
{TEXT_NUM_ROAD_NAME, 0x4022, 0},
{TEXT_NUM_FAUULT_CODE, 0x4022, 0},
};
......@@ -173,6 +173,7 @@ uint8_t LastBlueToothName[20];
uint8_t PhoneNumberTotal[20];
uint8_t InformationOSVersion[20];
uint8_t InformationMCUVersion[26];
uint8_t TextFaultCodeNum[10];
void TextService(void)
{
......@@ -215,6 +216,7 @@ void TextService(void)
memset(BlueToothName, 0, sizeof(BlueToothName));
memset(LastBlueToothName, 0, sizeof(LastBlueToothName));
memset(PhoneNumberTotal, 0, sizeof(PhoneNumberTotal));
memset(TextFaultCodeNum, 0, sizeof(TextFaultCodeNum));
for (uint8_t i = 0; i < sizeof(OSVersionASCLLList); i++)
{
......@@ -253,8 +255,8 @@ void TextService(void)
}
}
}
if(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_CONNECT)
{
// if(Menu_Get_Current_Cursor_Information() == MENU_ITEM_BLUETOOTH_CONNECT)
// {
if (memcmp(LastBlueToothName, BlueToothPhoneData.BlueToothName, sizeof(LastBlueToothName)) != 0)
{
for (uint8_t i = 0; i < sizeof(BlueToothPhoneData.BlueToothName); i++)
......@@ -265,7 +267,7 @@ void TextService(void)
memcpy(LastBlueToothName, BlueToothPhoneData.BlueToothName, sizeof(LastBlueToothName));
TextPara[TEXT_NUM_BLUETOOTH_NAME].Vaild = 0X01;
}
}
// }
if (LastPhoneBookTotalCount != BlueToothPhoneData.PhoneBookTotalCount)
{
uint8_t TempNumberCnts = 0;
......@@ -284,6 +286,63 @@ void TextService(void)
TextPara[TEXT_NUM_PHONE_NUMBER_TOTAL].Vaild = 0x01;
LastPhoneBookTotalCount = BlueToothPhoneData.PhoneBookTotalCount;
}
if(CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_402_Msg_Count) == CAN_SIG_LOST)
{
;
}
else
{
uint8_t FaultCodeNumCnts = 0;
uint8_t FaultCodeHighNum = 0;
uint8_t FaultCodeMidNum = 0;
FaultCodeHighNum = Get_Current_Hight_FaultCode();
FaultCodeMidNum = Get_Current_Mid_FaultCode();
TextFaultCodeNum[FaultCodeNumCnts++] = 0x50;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
if((((FaultCodeHighNum)&(0xF0)) >> 4)<10)
{
TextFaultCodeNum[FaultCodeNumCnts++] = (((FaultCodeHighNum)&(0xF0)) >> 4) + 0x30;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
else
{
TextFaultCodeNum[FaultCodeNumCnts++] = ((((FaultCodeHighNum)&(0xF0)) >> 4) % 10) + 0x41;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
if((((FaultCodeHighNum)&(0x0F)))<10)
{
TextFaultCodeNum[FaultCodeNumCnts++] = ((FaultCodeHighNum)&(0x0F)) + 0x30;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
else
{
TextFaultCodeNum[FaultCodeNumCnts++] = (((FaultCodeHighNum)&(0x0F)) % 10) + 0x41;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
if((((FaultCodeMidNum)&(0xF0)) >> 4)<10)
{
TextFaultCodeNum[FaultCodeNumCnts++] = (((FaultCodeMidNum)&(0xF0)) >> 4) + 0x30;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
else
{
TextFaultCodeNum[FaultCodeNumCnts++] = ((((FaultCodeMidNum)&(0xF0)) >> 4) % 10) + 0x41;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
if((((FaultCodeMidNum)&(0x0F)))<10)
{
TextFaultCodeNum[FaultCodeNumCnts++] = ((FaultCodeMidNum)&(0x0F)) + 0x30;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
else
{
TextFaultCodeNum[FaultCodeNumCnts++] = (((FaultCodeMidNum)&(0x0F)) % 10) + 0x41;
TextFaultCodeNum[FaultCodeNumCnts++] = 0x00;
}
TextPara[TEXT_NUM_FAUULT_CODE].Vaild = 0x01;
}
}
......@@ -13,7 +13,7 @@ typedef enum {
TEXT_NUM_INFORMATION_HW,
TEXT_NUM_INFORMATION_OS,
TEXT_NUM_INFORMATION_MCU,
TEXT_NUM_ROAD_NAME,
TEXT_NUM_FAUULT_CODE,
TEXT_NUM_TOTAL,
} TEXT_NUM_ENUM;
......@@ -47,6 +47,7 @@ extern uint8_t BlueToothName[40];
extern uint8_t PhoneNumberTotal[20];
extern uint8_t InformationOSVersion[20];
extern uint8_t InformationMCUVersion[26];
extern uint8_t TextFaultCodeNum[10];
extern TEXT_STRUCT TextPara[];
#endif
\ No newline at end of file
#ifndef PICBIN_H
#define PICBIN_H
/* Flash Bin Version:20240915 2024-09-15 09:22:36 Compression ratio:70.00% */
/* Flash Bin Version:20240924 2024-09-24 11:37:38 Compression ratio:70.00% */
#define Pic_0001 1
#define Pic_0002 2
#define Pic_0003 3
......@@ -2135,6 +2135,7 @@ enum {
Pic_0943_751_555,
};
#define PIC_INDEX_DATA_CRC 0x8509F1BE
extern void User_PicIndexDataInit(void);
......
......@@ -32,7 +32,7 @@ void Key_Operation_Left(Key_Event_en_t enKeyEvent)//选择
break;
case KEY_EVENT_LONG_PRESS_4: //10s
/* 进入630H升级MCU模式 */
Get_Into_630H_Update_MCU_Mode();
// Get_Into_630H_Update_MCU_Mode();
break;
case KEY_EVENT_OFF_TO_ON:
break;
......
......@@ -55,11 +55,9 @@ static void Power_KL30_Init(void)
Key_KL30_Init_EXample();
Data_User_Mileage_KL30Init();
Fuel_KL30_Init();
Backlight_KL30_Wakeup_Init();
BackLight_30_Init();
Amt630hInit();
Telltales_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
g_stRTCInformation.u8RTCSecond = 0;
g_stRTCInformation.u8RTCMinute = 0;
g_stRTCInformation.u8RTCHour = 0;
......@@ -71,7 +69,7 @@ static void Power_KL30_Init(void)
UDS_Startup_Init();
Can_Init();
Protocol_KL30_Wakeup_Init();
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 500);
RTE_DEEPSLEEP_GPIO_Interrupt_Enable(KL15_AD_IN, Trigger_Rising);
FaultCode_Init();
}
......@@ -92,7 +90,7 @@ static void Power_Wakeup_Init(void)
Key_Wakeup_Init_EXample();
Line_In_KL15_ON_Init();
Fuel_KL30_Init();
Backlight_KL30_Wakeup_Init();
BackLight_WakeUp_Init();
RTE_UART_Sleep_Init(UART_CH2);
loc_config.u32UARTChEn = 1U;
loc_config.u32UARTbps = 115200U;
......@@ -101,8 +99,6 @@ static void Power_Wakeup_Init(void)
UART_DeInit(UART2);
RTE_UART_Init(UART_CH2, &loc_config); /* 配置串口,630H上电发送0x0D,但是底板没回复 */
Amt630hInit();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
Telltales_Init();
Key_KL30_Init_EXample();
Menu_User_WAKEUP();
......@@ -124,7 +120,7 @@ static void Power_OVP_Init(void)
static void Power_IG_OFF_Init(void)
{
Line_In_KL15_OFF_Init();
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
BackLight_15_Init();
}
static void Power_IG_ON_Init(void)
......@@ -144,6 +140,7 @@ static void Power_IG_ON_Init(void)
static void Power_Sleep_Init(void)
{
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 0);
Can_Tx_Apply_Buff();
rte_can_deinit(CAN_CH_0);
TMM0_Stop();
TMM1_Stop();
......@@ -187,7 +184,7 @@ static Power_Status_em Power_Stay_OFF(void)
}
else
{
if ((Common_GetIgnOffTime() < 20000))
if ((Common_GetIgnOffTime() < 3000))
{
u8PowerSts = EM_IGN_OFF;
}
......
......@@ -35,8 +35,8 @@ static const monitorlib_uint16_t SysFun_Range [ 26u ] = {
u16ENTER_HIGH_N_RANGE,
u16Top_Vol,
500,
50u,
500, /*进入异常电压时间1s*/
50u, /*KL15消抖时间 100ms*/
u16Base_Vol,
u16ENTER_LOW_N_RANGE,
......
......@@ -2,7 +2,7 @@
******************************************************************************
* @file can.c
* @author MCD Application Team
* @version V1.0.2
* @version V1.0.1
* @date 2-April-2024
* @brief This file provides firmware functions to manage the following
* functionalities of the Controller area network (CAN) peripheral:
......
......@@ -3,10 +3,9 @@
#include "isr.h"
#include "rte_can.h"
CANBuffList_t CanBufList = {0};
CANMSG_Type* CANMSG;
CanTxRxMsg CAN_RecvMsg;
CANBuffList_t CanBufList = {0};
can_rx_callback can_rx_handler = NULL;
uint8_t Read_RingBuff(CanTxRxMsg *data)
......@@ -20,29 +19,34 @@ uint8_t Read_RingBuff(CanTxRxMsg *data)
CanBufList.length--;
return 1;
}
/**
* @brief CAN就收完成回调
*
* @param msg
*/
static void can_recv_handler(void *msg)
static void can_recv_handler(void)
{
INTC_ClearPendingIRQ(CAN0REC_IRQn);
if (CAN_GetFlagStatus(CAN0, CAN_FLAG_REC) != RESET)
{
CAN_ClearFlag(CAN0, CAN_FLAG_REC);
CAN_Receive_IT(CAN0, &CanBufList);
Read_RingBuff(&CAN_RecvMsg);
CAN_Receive(CAN0,&CAN_RecvMsg,100);
if (can_rx_handler != NULL)
{
can_rx_handler(&CAN_RecvMsg);
}
}
}
static void can_error_handler(void)
{
INTC_ClearPendingIRQ(CAN0ERR_IRQn);
CANErr_Recover(CAN0);
}
/**
* @brief CAN初始�?
*
......@@ -97,11 +101,13 @@ uint8_t rte_can_init(can_config_st_t *config)
CAN_OperatingModeRequest(CAN0, CAN_OpMode_Normal);
CAN_ITConfig(CAN0, CAN_IT_REC, ENABLE);
CAN_ITConfig(CAN0, CAN_IT_REC | CAN_IT_ERR_STATE | CAN_IT_ERR_PROTO, ENABLE); // |CAN_IT_TRX
ISR_Register(CAN0REC_IRQn, can_recv_handler);
INTC_EnableIRQ(CAN0REC_IRQn);
// ISR_Register(CAN0TRX_IRQn, can_tx_handler);
ISR_Register(CAN0ERR_IRQn, can_error_handler);
// ISR_DisRegister(CAN0REC_IRQn, can_recv_handler);
......
......@@ -31,7 +31,7 @@ typedef enum
} CAN_CH;
#pragma pack(4)
typedef struct
typedef struct __attribute__((aligned(4)))
{
CAN_CH ch;
CAN_freq freq;
......
......@@ -42,6 +42,7 @@ void Sys_10ms_Tasks(void)
Fuel_R_Cal(10u);
Coolant_R_Cal(10u);
Data_Light_Res_service(10);
BackLight_Process();
}
void Sys_20ms_Tasks(void)
......@@ -52,7 +53,6 @@ void Sys_20ms_Tasks(void)
void Sys_50ms_Tasks(void)
{
BackLight_Service();
Telltales_Management();
UDS_Read_Preconditions();
g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information();
......
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