Commit a01e62b2 authored by 张金硕's avatar 张金硕

Merge branch 'dev' of http://tyw-server.synology.me:12345/shihao/haojin750tft into jinshuo

parents 839e58e9 daf8ac08
#include "Backlight.h" #include "Backlight.h"
#include "Components.h" #include "Components.h"
#define BACK_LIGHT_Val_1 100 typedef void (*SetPwm)(Light_uint16_t Pwm);
#define BACK_LIGHT_Val_2 300 typedef Light_uint8_t (*SetPwmEnable)(void);
#define BACK_LIGHT_Val_3 500 typedef Light_uint8_t (*SetPwmLevel)(void);
#define BACK_LIGHT_Val_4 700 typedef Light_uint16_t (*NtcRes)(void);
#define BACK_LIGHT_Val_5 900
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk; /* 获取电阻值回调函数 */
} BackLightExtPara;
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk;
Light_uint8_t BacklightEn; /* 背光使能 */
Light_uint16_t BacklightPwm; /* 背光PWM */
Light_uint16_t BacklightLevel; /* 背光等级 */
} _Backlight_Op;
_Backlight_Op Backlight_Operate;
#define BACK_LIGHT_Val_1 (( 100 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_2 (( 200 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_3 (( 400 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_4 (( 600 * Backlight_Operate.BacklightPwm ) / 100 )
#define BACK_LIGHT_Val_5 (( 800 * Backlight_Operate.BacklightPwm ) / 100 )
#define LIGHT_DATA_TIME 10u /*这里填写多长时间采集一个数据,单位ms*/ #define LIGHT_DATA_TIME 10u /*这里填写多长时间采集一个数据,单位ms*/
#define LIGHT_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/ #define LIGHT_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/
...@@ -136,11 +162,11 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并 ...@@ -136,11 +162,11 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并
} }
if(LightR_Status == 0) if(LightR_Status == 0)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 200); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_2);
} }
else else
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 800); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5);
} }
} }
} }
...@@ -148,23 +174,23 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并 ...@@ -148,23 +174,23 @@ void Data_Light_Res_service(Light_uint8_t deltaTime)//获取光感阻值,并
{ {
if(Backlight_SetPwmLevel() == 1U) if(Backlight_SetPwmLevel() == 1U)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 100); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_1);
} }
else if(Backlight_SetPwmLevel() == 2U) else if(Backlight_SetPwmLevel() == 2U)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 200); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_2);
} }
else if(Backlight_SetPwmLevel() == 3U) else if(Backlight_SetPwmLevel() == 3U)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 400); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_3);
} }
else if(Backlight_SetPwmLevel() == 4U) else if(Backlight_SetPwmLevel() == 4U)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 600); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_4);
} }
else if(Backlight_SetPwmLevel() == 5U) else if(Backlight_SetPwmLevel() == 5U)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 800); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5);
} }
} }
else else
...@@ -187,31 +213,8 @@ Light_uint16_t GetBacklightDutyByLevel(Light_uint16_t level) ...@@ -187,31 +213,8 @@ Light_uint16_t GetBacklightDutyByLevel(Light_uint16_t level)
return 0; return 0;
} }
typedef void (*SetPwm)(Light_uint16_t Pwm);
typedef Light_uint8_t (*SetPwmEnable)(void);
typedef Light_uint8_t (*SetPwmLevel)(void);
typedef Light_uint16_t (*NtcRes)(void);
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk; /* 获取电阻值回调函数 */
} BackLightExtPara;
typedef struct
{
SetPwm SetPwmCbk; /* 设置PWM回调函数 */
SetPwmEnable SetPwmEnCbk; /* 设置PWM使能回调函数 */
SetPwmLevel SetPwmLevelCbk; /* 背光等级回调函数 */
NtcRes NtcResCbk;
Light_uint8_t BacklightEn; /* 背光使能 */
Light_uint16_t BacklightPwm; /* 背光PWM */
Light_uint16_t BacklightLevel; /* 背光等级 */
} _Backlight_Op;
_Backlight_Op Backlight_Operate;
/* 设置PWM回调函数 */ /* 设置PWM回调函数 */
...@@ -494,7 +497,7 @@ void BackLight_Service(void) ...@@ -494,7 +497,7 @@ void BackLight_Service(void)
BacklightFactorCtrl.curFactor = BacklightFactorCtrl.destFactor; BacklightFactorCtrl.curFactor = BacklightFactorCtrl.destFactor;
} }
BacklightFactorCtrl.u16DialdestDuty = BacklightFactorCtrl.curFactor * BacklightFactorCtrl.curFactor / 100; BacklightFactorCtrl.u16DialdestDuty = Backlight_Operate.BacklightPwm * BacklightFactorCtrl.curFactor / 100;
if (BacklightFactorCtrl.u16DialdestDuty < 50) if (BacklightFactorCtrl.u16DialdestDuty < 50)
{ {
...@@ -518,17 +521,19 @@ void BackLight_Service(void) ...@@ -518,17 +521,19 @@ void BackLight_Service(void)
} }
Backlight_Operate.BacklightPwm = BacklightFactorCtrl.u16DialcurDuty; Backlight_Operate.BacklightPwm = BacklightFactorCtrl.u16DialcurDuty;
Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm); // Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
} }
else else
{ {
/* 无NTC策略 直接根据当前背光等级调整PWM */ /* 无NTC策略 直接根据当前背光等级调整PWM */
Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm); Backlight_Operate.BacklightPwm = 100U;
// Backlight_Operate.SetPwmCbk(Backlight_Operate.BacklightPwm);
} }
} }
else else
{ {
Backlight_Operate.SetPwmCbk(0); Backlight_Operate.BacklightPwm = 100U;
// Backlight_Operate.SetPwmCbk(0);
} }
} }
...@@ -538,7 +543,7 @@ void BackLight_Process(void) ...@@ -538,7 +543,7 @@ void BackLight_Process(void)
{ {
if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_5) == 1) if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_5) == 1)
{ {
TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_Val_5); TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, (BACK_LIGHT_Val_5));
} }
else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_4) == 1) else if(Menu_Item_Select_Get(MENU_ITEM_BACKLIGHT_4) == 1)
{ {
......
...@@ -25,7 +25,7 @@ extern Light_uint16_t LightR_Status ; ...@@ -25,7 +25,7 @@ extern Light_uint16_t LightR_Status ;
void Backlight_KL30_Wakeup_Init(void); void Backlight_KL30_Wakeup_Init(void);
void BackLight_Process(void); void BackLight_Process(void);
Light_uint8_t Backlight_SetPwmLevel(void); Light_uint8_t Backlight_SetPwmLevel(void);
extern void BackLight_Service(void);
......
...@@ -41,7 +41,8 @@ uint8_t Common_Get_IG_Sts(void) ...@@ -41,7 +41,8 @@ uint8_t Common_Get_IG_Sts(void)
uint16_t Common_Get_Act_V_Speed(void) uint16_t Common_Get_Act_V_Speed(void)
{ {
return Act_V_Speed; uint32_t Act_V_Speed_ODO = Act_V_Speed;
return Act_V_Speed_ODO * 1005 / 1000;//需要跑大计测试
} }
uint16_t Common_Get_Disp_V_Speed(void) uint16_t Common_Get_Disp_V_Speed(void)
{ {
......
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
#define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值 #define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值
#define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值 #define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值
#define DATA_ESPEED_DAMPING_FACTOR 1 //阻尼系数 #define DATA_ESPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_ESPEED_INC_STEP 10 //速度增加时慢加速速度变化步长 #define DATA_ESPEED_INC_STEP 30 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长 #define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长
#define DATA_ESPEED_APPR_SPEED_MIN 10 //最小逼近速度 #define DATA_ESPEED_APPR_SPEED_MIN 20 //最小逼近速度
#define DATA_ESPEED_HYSTERESIS 80 //回差 #define DATA_ESPEED_HYSTERESIS 80 //回差
/*** 控制结构 ***/ /*** 控制结构 ***/
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DATA_VEHICLE_RUNNING_THRESHOLD 25 //汽车行进阈值 #define DATA_VEHICLE_RUNNING_THRESHOLD 25 //汽车行进阈值
#define DATA_VEHICLE_STOP_THRESHOLD 20 //汽车停止阈值 #define DATA_VEHICLE_STOP_THRESHOLD 20 //汽车停止阈值
#define DATA_VSPEED_DAMPING_FACTOR 1 //阻尼系数 #define DATA_VSPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_VSPEED_INC_STEP 2 //速度增加时慢加速速度变化步长 #define DATA_VSPEED_INC_STEP 4 //速度增加时慢加速速度变化步长
#define DATA_VSPEED_DEC_STEP 6 //方向改变时急减速速度变化步长 #define DATA_VSPEED_DEC_STEP 6 //方向改变时急减速速度变化步长
#define DATA_VSPEED_APPR_SPEED_MIN 2 //最小逼近速度 #define DATA_VSPEED_APPR_SPEED_MIN 2 //最小逼近速度
#define DATA_VSPEED_HYSTERESIS 10 //回差 #define DATA_VSPEED_HYSTERESIS 10 //回差
......
...@@ -38,7 +38,7 @@ void Gpio_Init(_GpioUser_Enum InitMode) ...@@ -38,7 +38,7 @@ void Gpio_Init(_GpioUser_Enum InitMode)
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, RTE_GPIO_DIR_IN); //水温信号输入-AD RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, RTE_GPIO_DIR_IN); //水温信号输入-AD
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, RTE_GPIO_DIR_IN); //BiasBitSW-燃油-AD--- RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, RTE_GPIO_DIR_IN); //BiasBitSW-燃油-AD---
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, GpioOut_Low); RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, RTE_GPIO_DIR_IN); //SDB_LED_DRIVER RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, RTE_GPIO_DIR_IN); //SDB_LED_DRIVER
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low); //SEDIO-编程 RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low); //SEDIO-编程
...@@ -110,7 +110,7 @@ void Gpio_Init(_GpioUser_Enum InitMode) ...@@ -110,7 +110,7 @@ void Gpio_Init(_GpioUser_Enum InitMode)
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, RTE_GPIO_DIR_IN); RTE_GPIO_Config(RTE_GPIO_PORT02_PIN06, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, RTE_GPIO_DIR_IN); RTE_GPIO_Config(RTE_GPIO_PORT02_PIN07, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, GpioOut_Low); RTE_GPIO_Config(RTE_GPIO_PORT03_PIN00, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, RTE_GPIO_DIR_IN); RTE_GPIO_Config(RTE_GPIO_PORT03_PIN01, RTE_GPIO_DIR_IN);
RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low); RTE_GPIO_Config(RTE_GPIO_PORT04_PIN00, GpioOut_Low);
......
...@@ -57,7 +57,8 @@ extern uint8_t GET_Backlight(void); ...@@ -57,7 +57,8 @@ extern uint8_t GET_Backlight(void);
extern uint8_t g_u8Display_Mode;
extern uint8_t g_u8Display_Mode_select;
......
#ifndef PICBIN_H #ifndef PICBIN_H
#define PICBIN_H #define PICBIN_H
/* Flash Bin Version:20240817 2024-08-17 11:18:35 Compression ratio:70.00% */ /* Flash Bin Version:20240821 2024-08-21 09:09:13 Compression ratio:70.00% */
#define Pic_0001 1 #define Pic_0001 1
#define Pic_0002 2 #define Pic_0002 2
#define Pic_0003 3 #define Pic_0003 3
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "Telltales\Telltales_user.h" #include "Telltales\Telltales_user.h"
#include "Telltales\Telltales_Lib.h" #include "Telltales\Telltales_Lib.h"
#include "Application\BlueTooth.h" #include "Application\BlueTooth.h"
#include "cgc.h"
#endif #endif
...@@ -58,7 +58,7 @@ Linelib_uint8_t Get_LINE_IN_High_Beam(void) ...@@ -58,7 +58,7 @@ Linelib_uint8_t Get_LINE_IN_High_Beam(void)
Linelib_uint8_t Get_LINE_IN_Efi_Fault(void) Linelib_uint8_t Get_LINE_IN_Efi_Fault(void)
{ {
Linelib_uint8_t ret = 0U; Linelib_uint8_t ret = 0U;
if (RTE_GPIO_Get_Level(Engine_Failure_MCU)) if (RTE_GPIO_Get_Level(MAINTENANCE_LAMP_OUT))
{ {
ret = 1u; ret = 1u;
} }
......
...@@ -202,6 +202,8 @@ void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType) ...@@ -202,6 +202,8 @@ void Menu_Logic_Operation_Select_Daytime(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1); Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
g_u8Display_Mode = ModeDAY;
g_u8Display_Mode_select = ModeDAY;
} }
} }
...@@ -212,6 +214,8 @@ void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType) ...@@ -212,6 +214,8 @@ void Menu_Logic_Operation_Select_Nighttime(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 1); Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 1);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 0);
g_u8Display_Mode = ModeNIGHT;
g_u8Display_Mode_select = ModeNIGHT;
} }
} }
...@@ -222,6 +226,7 @@ void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType) ...@@ -222,6 +226,7 @@ void Menu_Logic_Operation_Select_Auto(Menu_Key_en_t enKeyType)
Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_DAYTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0); Menu_Item_Select_Set(MENU_ITEM_SELECT_NIGHTTIME, 0);
Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 1); Menu_Item_Select_Set(MENU_ITEM_SELECT_AUTO, 1);
g_u8Display_Mode_select = ModeATUO;
} }
} }
......
...@@ -44,6 +44,7 @@ static void Power_KL30_Init(void) ...@@ -44,6 +44,7 @@ static void Power_KL30_Init(void)
loc_config.u32UARTbps = 115200U; loc_config.u32UARTbps = 115200U;
loc_config.pfnUARTConfirmCallBack = NULL; loc_config.pfnUARTConfirmCallBack = NULL;
loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData; loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData;
UART_DeInit(UART2);
RTE_UART_Init(UART_CH2, &loc_config); RTE_UART_Init(UART_CH2, &loc_config);
Common_DataInit(); Common_DataInit();
Analog_Signal_Conv_Init(); Analog_Signal_Conv_Init();
...@@ -76,12 +77,14 @@ static void Power_KL30_Init(void) ...@@ -76,12 +77,14 @@ static void Power_KL30_Init(void)
static void Power_Wakeup_Init(void) static void Power_Wakeup_Init(void)
{ {
UART_Channel_Config_st_t loc_config;
Common_DataInit(); Common_DataInit();
Gpio_Init(Gpio_WakeUp_Init); Gpio_Init(Gpio_WakeUp_Init);
eeprom_StoreInfo_Init(); eeprom_StoreInfo_Init();
Analog_Signal_Conv_Init(); Analog_Signal_Conv_Init();
Data_User_Mileage_WakeupInit(); Data_User_Mileage_WakeupInit();
Sys_WakeUp_Init(); Sys_WakeUp_Init();
RTE_CLOCK_Select_Start(); /* 由于休眠的时候时钟关闭,唤醒的时候打开时钟,才能进行下一步 */
Data_Vehicle_Speed_KL30_Wakeup_Init(); Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init(); Data_Engine_Speed_KL30_Wakeup_Init();
LINE_IN_Init(); LINE_IN_Init();
...@@ -89,6 +92,13 @@ static void Power_Wakeup_Init(void) ...@@ -89,6 +92,13 @@ static void Power_Wakeup_Init(void)
Line_In_KL15_ON_Init(); Line_In_KL15_ON_Init();
Fuel_KL30_Init(); Fuel_KL30_Init();
Backlight_KL30_Wakeup_Init(); Backlight_KL30_Wakeup_Init();
RTE_UART_Sleep_Init(UART_CH2);
loc_config.u32UARTChEn = 1U;
loc_config.u32UARTbps = 115200U;
loc_config.pfnUARTConfirmCallBack = NULL;
loc_config.pfnUARTReadMsgCallBack = Amt630hUartRecvData;
UART_DeInit(UART2);
RTE_UART_Init(UART_CH2, &loc_config); /* 配置串口,630H上电发送0x0D,但是底板没回复 */
Amt630hInit(); Amt630hInit();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000); TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 20000, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High); TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
...@@ -124,8 +134,6 @@ static void Power_IG_ON_Init(void) ...@@ -124,8 +134,6 @@ static void Power_IG_ON_Init(void)
Fuel_KL15_Init(); Fuel_KL15_Init();
//RTE_GPIO_Set_Level(Blacklight_PWM, 1); //RTE_GPIO_Set_Level(Blacklight_PWM, 1);
FaultCode_Init(); FaultCode_Init();
Amt630hInit();
ResetInitedState();
} }
static void Power_Sleep_Init(void) static void Power_Sleep_Init(void)
...@@ -139,10 +147,11 @@ static void Power_Sleep_Init(void) ...@@ -139,10 +147,11 @@ static void Power_Sleep_Init(void)
Gpio_Init(Gpio_Sleep_Init); Gpio_Init(Gpio_Sleep_Init);
AMT630H_Sleep(); AMT630H_Sleep();
Analog_Signal_Conv_Stop(); Analog_Signal_Conv_Stop();
if (RTE_GPIO_Get_Level(KL15_AD_IN) == 0)/* KL15 */ RTE_UART_Sleep_Init(UART_CH2);
{ CGC_HSI_CFG_AS_FCLK(); /* 配置时钟生成控制器(cgc)以将内部高速振荡器(HSI)作为CPU系统时钟(FCLK)以及可能的其他硬件电路的时钟源。 */
//SystemCoreClockUpdate(); /* 更新时钟频率,暂时用不上,先注释 */
RTE_DEEPSLEEP_Enable(); RTE_DEEPSLEEP_Enable();
} // RTE_CLOCK_Select_Sleep(); /* 这边代码是开启时钟,暂时用不上,先注释 */
} }
static Power_Status_em Power_Stay_ON(void) static Power_Status_em Power_Stay_ON(void)
...@@ -209,6 +218,7 @@ static Power_Status_em Power_Stay_Protect(void) ...@@ -209,6 +218,7 @@ static Power_Status_em Power_Stay_Protect(void)
if ( SYS_OPR_STAT_RUN ) if ( SYS_OPR_STAT_RUN )
{ {
Amt630hInit();
//CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable); //CAN_TX_SetEnable(&CAN_CH0_CanMsgTxOp, CAN_N_TX_Enable);
return u8PowerSts; return u8PowerSts;
} }
......
...@@ -5,6 +5,10 @@ ...@@ -5,6 +5,10 @@
#include "Line_In\Line_In_user.h" #include "Line_In\Line_In_user.h"
#include "Components.h" #include "Components.h"
uint8_t ECU_Engine_Temperature_flag = 0;
static Tellib_uint16_t LED_Turn_Left_Judgement(void); static Tellib_uint16_t LED_Turn_Left_Judgement(void);
static void LED_Turn_Left_Execution(Tellib_uint16_t led_status); static void LED_Turn_Left_Execution(Tellib_uint16_t led_status);
static Tellib_uint16_t LED_Turn_Right_Judgement(void); static Tellib_uint16_t LED_Turn_Right_Judgement(void);
...@@ -228,7 +232,7 @@ static Tellib_uint16_t LED_TCS_Judgement(void) ...@@ -228,7 +232,7 @@ static Tellib_uint16_t LED_TCS_Judgement(void)
} }
else else
{ {
if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode == 0x0) if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode() == 0x0)
{ {
if(Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp() == 0x1) if(Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp() == 0x1)
{ {
...@@ -243,26 +247,15 @@ static Tellib_uint16_t LED_TCS_Judgement(void) ...@@ -243,26 +247,15 @@ static Tellib_uint16_t LED_TCS_Judgement(void)
LED_STATE = 0u; LED_STATE = 0u;
} }
} }
else if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode == 0x0) else if(Get_CAN_CH0_ID_37B_Sig_TCS_Work_Mode() == 0x1u)
{
if(Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp() == 0x1)
{ {
LED_STATE = 2u;/*TCS/亮*/ LED_STATE = 2u;/*TCS/亮*/
} }
else if(Get_CAN_CH0_ID_37B_Sig_TCS_Warning_Lamp() == 0x0)
{
LED_STATE = 0u;
}
else else
{ {
LED_STATE = 0u; LED_STATE = 0u;
} }
} }
else
{
;
}
}
return LED_STATE; return LED_STATE;
} }
static void LED_TCS_Execution(Tellib_uint16_t led_status) static void LED_TCS_Execution(Tellib_uint16_t led_status)
...@@ -342,34 +335,69 @@ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status) ...@@ -342,34 +335,69 @@ static void LED_Fuel_Level_Low_Execution(Tellib_uint16_t led_status)
{ {
} }
// uint16_t ECU_Engine_Temperature_R =0;
// uint32_t test_ECU_Engine_Temperature =0;
/*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/ /*信号来源:ECU_101 +硬线-P11 阻值 CAN>硬线*/
static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void) static Tellib_uint16_t LED_Coolant_Temperature_Judgement(void)
{ {
Tellib_uint16_t LED_STATE = 0u; Tellib_uint16_t LED_STATE = 0u;
if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST) if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CH0_101_Msg_Count) == CAN_SIG_LOST)
{ {
// ECU_Engine_Temperature_R = ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R);
if(ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R) <= 20)
{
ECU_Engine_Temperature_flag = 1;
LED_STATE = 1u;
}
else if(ADC_Read_Signal(ADC_CH_COOLANT_TEMP1_R) >= 23)
{
ECU_Engine_Temperature_flag = 0;
LED_STATE = 0u; LED_STATE = 0u;
if(Line_In_Get_Status(LINE_IN_Coolant_Temperature)) }
else
{
if(ECU_Engine_Temperature_flag == 1)
{ {
LED_STATE = 1u; LED_STATE = 1u;
} }
else if(ECU_Engine_Temperature_flag == 0)
{
LED_STATE = 0u;
}
else else
{ {
LED_STATE = 0u; LED_STATE = 0u;
} }
} }
}
else else
{ {
if(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature_State() == 0x01UL) // test_ECU_Engine_Temperature = Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature();
if(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature() >= 120 )
{ {
ECU_Engine_Temperature_flag = 1;
LED_STATE = 1u; LED_STATE = 1u;
} }
else if(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature() <= 118)
{
ECU_Engine_Temperature_flag = 0;
LED_STATE = 0u;
}
else else
{
if(ECU_Engine_Temperature_flag == 1)
{
LED_STATE = 1u;
}
else if(ECU_Engine_Temperature_flag == 0)
{ {
LED_STATE = 0u; LED_STATE = 0u;
} }
else
{
LED_STATE = 0u;
}
}
} }
return LED_STATE; return LED_STATE;
} }
......
...@@ -68,6 +68,7 @@ void UART_DeInit(SCIAFSelect_TypeDef UARTx) ...@@ -68,6 +68,7 @@ void UART_DeInit(SCIAFSelect_TypeDef UARTx)
CGC_PER0PeriphClockCmd(UARTx >> 10, DISABLE); CGC_PER0PeriphClockCmd(UARTx >> 10, DISABLE);
SCIChannel_Free(UARTx, UART_Mode_Rx | UART_Mode_Tx); SCIChannel_Free(UARTx, UART_Mode_Rx | UART_Mode_Tx);
} }
SCIChannel_Free(UARTx, UART_Mode_Rx | UART_Mode_Tx);
} }
/** /**
......
...@@ -5,5 +5,6 @@ ...@@ -5,5 +5,6 @@
extern void RTE_CLOCK_Select_Start(void); extern void RTE_CLOCK_Select_Start(void);
extern void RTE_CLOCK_Select_Stop(void); extern void RTE_CLOCK_Select_Stop(void);
extern void RTE_CLOCK_Select_Sleep(void);
#endif #endif
...@@ -15,8 +15,8 @@ void RTE_CLOCK_Select_Start(void) ...@@ -15,8 +15,8 @@ void RTE_CLOCK_Select_Start(void)
#ifdef USED_FX_FCLK #ifdef USED_FX_FCLK
CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER); CGC_Osc_Setting(OSC_OSCILLATOR,OSC_UNDER_10M,OSC_OSCILLATOR,OSC_NORMAL_POWER);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16); CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);/* CGC_PLL_Setting 用于配置PLL(相位锁定环)作为系统时钟以及可能的外设硬件电路的时钟源。 */
CGC_PLL_CFG_AS_FCLK(); CGC_PLL_CFG_AS_FCLK(); /* PLL的输出频率配置为CPU系统时钟以及外设硬件电路的时钟源。 */
delay_init(64000000); delay_init(64000000);
SystemCoreClock = 64000000UL; SystemCoreClock = 64000000UL;
#endif #endif
...@@ -40,3 +40,20 @@ uint32_t RTE_CLOCK_Sys_Get(void) ...@@ -40,3 +40,20 @@ uint32_t RTE_CLOCK_Sys_Get(void)
} }
void RTE_CLOCK_Select_Sleep(void)
{
uint8_t u8tempstabset1 = 0U;
uint8_t u8tempstabwait1 = 0U;
u8tempstabset1 = _FF_CGC_OSCSTAB_STA18;
do
{
u8tempstabwait1 = CGC->OSTC;
u8tempstabwait1 &= u8tempstabset1;
}
while (u8tempstabwait1 != u8tempstabset1);
CGC_PLL_Setting(PLL_SR_fMX,PLL_DIV_2,PLL_MUL_16);
CGC_PLL_CFG_AS_FCLK();//SRAM区运行
SystemCoreClock = 64000000UL;
}
...@@ -52,6 +52,8 @@ void Sys_20ms_Tasks(void) ...@@ -52,6 +52,8 @@ void Sys_20ms_Tasks(void)
void Sys_50ms_Tasks(void) void Sys_50ms_Tasks(void)
{ {
// BlueToothService();
BackLight_Service();
UpdateGraphics(); UpdateGraphics();
Telltales_Management(); Telltales_Management();
g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information(); g_u8Cursor_Posittion = Menu_Get_Current_Cursor_Information();
......
# 2024.08.21
使用中微官方推荐的添加函数到SRAM方式(#pragma多个函数添加到section)
L1: 修改block计算公式, 新Boot的CRC等信息使用全局变量存储, 减少函数调用
二级Boot地址改为0x1000
内部版本信息更新(1.04_20240821)
# 2024.08.16 (2) # 2024.08.16 (2)
中微厂家提供了新的cgc.c文件 中微厂家提供了新的cgc.c文件
内部版本信息更新(1.03_20240816) 内部版本信息更新(1.03_20240816)
......
#new Option #new Option
#Sun Aug 18 15:35:55 CST 2024 #Wed Aug 21 20:04:42 CST 2024
IsSort=true IsSort=true
MergeFlashIsCompression=false MergeFlashIsCompression=false
ChangeAppFilePath= ChangeAppFilePath=
...@@ -7,7 +7,7 @@ MergeCanXLSPath= ...@@ -7,7 +7,7 @@ MergeCanXLSPath=
RH850_D1M1AGPIOJSONpath= RH850_D1M1AGPIOJSONpath=
DBFFilePath= DBFFilePath=
MergeCrcTtpe=29 MergeCrcTtpe=29
MergeBootFilePath=D\:\\git\\haojin750tft\\Firmware\\utility\\Boot_Release\\HaoJin_750TFT_HJYB-7500TFT_BV1.03_20240816.hex MergeBootFilePath=D\:\\git\\haojin750tft\\Firmware\\utility\\Boot_Release\\HaoJin_750TFT_HJYB-7500TFT_BV1.04_20240821.hex
IsMergeChangeAddress=false IsMergeChangeAddress=false
MergeFlashOutPutFilePath= MergeFlashOutPutFilePath=
GPIOOutPutPath= GPIOOutPutPath=
...@@ -56,7 +56,7 @@ IsHexDisplay=true ...@@ -56,7 +56,7 @@ IsHexDisplay=true
MergeLineInXLSPath= MergeLineInXLSPath=
MergeFlashInPutFilePath= MergeFlashInPutFilePath=
MergeFlashIsInternal=false MergeFlashIsInternal=false
MergeOutPutFilePath=D\:\\\u9879\u76EE\\\u8C6A\u8FDB\\haojin750TFT\\srec-8.18 MergeOutPutFilePath=D\:\\\u9879\u76EE\\\u8C6A\u8FDB\\haojin750TFT\\srec-8.21
MergeAppFilePath=D\:\\git\\haojin750tft\\Firmware\\Project\\Cmsemicon\\BAT32A279\\MDK_ARM\\Objects\\HaoJin750TFT.hex MergeAppFilePath=D\:\\git\\haojin750tft\\Firmware\\Project\\Cmsemicon\\BAT32A279\\MDK_ARM\\Objects\\HaoJin750TFT.hex
MergeTelltalesXLSPath= MergeTelltalesXLSPath=
FillingByte=-86 FillingByte=-86
......
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