Commit 4d58b46d authored by 时昊's avatar 时昊

🎉 init:删除无用代码-硬线模块

parent 8fe74d55
This diff is collapsed.
......@@ -24,7 +24,6 @@
".\objects\tasks.o"
".\objects\sys_scheduler.o"
".\objects\init.o"
".\objects\line_in.o"
".\objects\powermanagement.o"
".\objects\powermanagement_user.o"
".\objects\system_monitor.o"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -377,7 +377,7 @@ void Can_Set_Buff_502(uint8_t CopyData[])
CopyData[6] = 0U;
CopyData[7] = 0U;
temp8 = LINE_IN_Get_TirePressure();
CopyData[0] = temp8 << 2;
......
#include "Data_Gear.h"
#include "Line_in.h"
#include "Analog_Circuits.h"
#include "Analog_Signals.h"
#include "gpio.h"
......
#include "common.h"
#include "gpio.h"
#include "Line_in.h"
/*硬线输入服务函数调用周期 单位:ms*/
#define LINE_IN_CYCLE 10U
/*---------------------------------------------------------------------------------------*/
const Line_In_Attribute_st_t g_stLineInAttribute[] =
{
{ LINE_IN_IG_ON, 20U, 0U, LINE_IN_Get_RightTurn,},
{ LINE_IN_IG_ON, 20U, 0U, LINE_IN_Get_LeftTurn,},
{ LINE_IN_IG_ON, 60U, 0U, LINE_IN_Get_HighBeam,},
{ LINE_IN_IG_ON, 300U, 0U, LINE_IN_Get_ABS,},
{ LINE_IN_IG_ON, 300U, 0U, LINE_IN_Get_AutoStarStop,},
{ LINE_IN_IG_ON, 100U, 0U, LINE_IN_Get_TirePressure,},
{ LINE_IN_IG_ON, 2000U, 0U, LINE_IN_Get_OilPressure,},
{ LINE_IN_IG_ON, 300U, 0U, LINE_IN_Get_OBD,},
};
uint8_t LINE_IN_Get_RightTurn(void){
uint8_t Res = 0;
if(PORT_GetBit(RightTurn_P_In)){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_LeftTurn(void){
uint8_t Res = 0;
if(PORT_GetBit(LeftTurn_P_In)){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_HighBeam(void){
uint8_t Res = 0;
if(PORT_GetBit(HighBeam_P_In) == 0){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_ABS(void){
uint8_t Res = 0;
if(PORT_GetBit(ABS_N_In) == 1){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_AutoStarStop(void){
uint8_t Res = 0;
if(PORT_GetBit(AutoStarStop_N_In) == 0){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_TirePressure(void){
uint8_t Res = 0;
if(PORT_GetBit(TirePressure_N_In) == 0){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_OilPressure(void){
uint8_t Res = 0;
if(PORT_GetBit(OilPressure_N_In) == 0){
Res = 1;
}
return Res;
}
uint8_t LINE_IN_Get_OBD(void){
uint8_t Res = 0;
if(PORT_GetBit(OBD_N_In) == 0){
Res = 1;
}
return Res;
}
//=========================================================================================
/*以下内容不要改*/
//=========================================================================================
typedef struct
{
LineIn_LogicLevel_en_t u8Status; /*硬线最后输出状态*/
uint16_t u16TimeCount; /*消抖计时变量*/
uint8_t u8PinInputLast; /*实际硬线输入引脚记忆的上一次状态*/
} Line_In_Control_st_t;
Line_In_Control_st_t g_stLineInControl[LINE_IN_NUMBER];
/*电源状态*/
LINE_IN_WorkSt_en_t g_enLineInPowerStatus;
static void Line_In_Debounce_Handle(uint8_t Channel);
static void Line_In_Debounce_Handle(uint8_t Channel)
{
uint8_t enRealtimeLevel;
uint8_t (*pRead)(void);
pRead = g_stLineInAttribute[Channel].pfnLineIn_Read_Cbk;
if (pRead != NULL)
{
enRealtimeLevel = pRead();
if (g_stLineInControl[Channel].u8PinInputLast != enRealtimeLevel)
{
g_stLineInControl[Channel].u16TimeCount = 0U;
g_stLineInControl[Channel].u8PinInputLast = enRealtimeLevel;
}
else
{
/*硬线输入等于有效电平*/
if (1 == enRealtimeLevel)
{
g_stLineInControl[Channel].u16TimeCount += LINE_IN_CYCLE;
if (g_stLineInControl[Channel].u16TimeCount >= g_stLineInAttribute[Channel].u16ValidTime)
{
g_stLineInControl[Channel].u16TimeCount = 0U;
g_stLineInControl[Channel].u8Status = LINE_IN_LOGIC_VALID;
}
}
else
{
g_stLineInControl[Channel].u16TimeCount += LINE_IN_CYCLE;
if (g_stLineInControl[Channel].u16TimeCount >= g_stLineInAttribute[Channel].u16InvalidTime)
{
g_stLineInControl[Channel].u16TimeCount = 0U;
g_stLineInControl[Channel].u8Status = LINE_IN_LOGIC_INVALID;
}
}
}
}
}
void Line_In_SetPowerSt(LINE_IN_WorkSt_en_t u8PowerSt)
{
g_enLineInPowerStatus = u8PowerSt;
}
/*推荐值10ms*/
void Line_In_Debounce_Service(void)
{
uint8_t i;
for (i = 0u; i < LINE_IN_NUMBER; i++)
{
if (g_stLineInAttribute[i].enPowerStatus == LINE_IN_IG_ONOFF)
{
Line_In_Debounce_Handle(i);
}
else if (g_stLineInAttribute[i].enPowerStatus == LINE_IN_IG_ON)
{
if (g_enLineInPowerStatus == LINE_IN_IG_ON)
{
Line_In_Debounce_Handle(i);
}
else /*切换电源状态时已经操作过了*/
{
}
}
else /* if(LINE_IN_IG_OFF==g_stLineInAttribute[i].enPowerStatus) */
{
if (g_enLineInPowerStatus == LINE_IN_IG_OFF)
{
Line_In_Debounce_Handle(i);
}
else /*切换电源状态时已经操作过了*/
{
}
}
}
}
LineIn_LogicLevel_en_t Line_In_Get_Status(uint8_t Channel)
{
return g_stLineInControl[Channel].u8Status;
}
void Line_In_KL30_Init(void)
{
uint8_t i = 0U;
g_enLineInPowerStatus = LINE_IN_IG_OFF;
for (i = 0U; i < LINE_IN_NUMBER; i++)
{
g_stLineInControl[i].u16TimeCount = 0U;
g_stLineInControl[i].u8PinInputLast = 0U;
g_stLineInControl[i].u8Status = LINE_IN_LOGIC_INVALID;
}
}
void Line_In_KL15_ON_Init(void)
{
uint8_t i = 0U;
g_enLineInPowerStatus = LINE_IN_IG_ON;
for (i = 0U; i < LINE_IN_NUMBER; i++)
{
/*硬线在当前电源状态下不工作*/
if (g_stLineInAttribute[i].enPowerStatus == LINE_IN_IG_OFF)
{
g_stLineInControl[i].u8Status = LINE_IN_LOGIC_INVALID;
g_stLineInControl[i].u16TimeCount = 0U;
}
}
}
void Line_In_KL15_OFF_Init(void)
{
uint8_t i = 0U;
g_enLineInPowerStatus = LINE_IN_IG_OFF;
for (i = 0U; i < LINE_IN_NUMBER; i++)
{
/*硬线在当前电源状态下不工作*/
if (g_stLineInAttribute[i].enPowerStatus == LINE_IN_IG_ON)
{
g_stLineInControl[i].u8Status = LINE_IN_LOGIC_INVALID;
g_stLineInControl[i].u16TimeCount = 0U;
}
}
}
#ifndef LINE_IN_H__
#define LINE_IN_H__
#include "common.h"
#include "string.h"
/*
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
Note ! NOW LineIn only support 254 channel!!!!!
*/
/*?有硬线输入的索引*/
typedef enum
{
LINE_IN_RightTurn = 0u,
LINE_IN_LeftTurn,
LINE_IN_HighBeam,
LINE_IN_ABS,
LINE_IN_AutoStarStop,
LINE_IN_TirePressure,
LINE_IN_OilPressure,
LINE_IN_OBD,
LINE_IN_NUMBER,
} Line_In_Channel_en_t;
/*获取实时硬线电平函数指针*/
typedef struct
{
LINE_IN_WorkSt_en_t enPowerStatus; /*硬线工作的电源状?*/
uint16_t u16ValidTime; /*从无效到有效的消抖时? ms*/
uint16_t u16InvalidTime; /*从有效到无效的消抖时?*/
uint8_t (*pfnLineIn_Read_Cbk)(void); /*获取实时电平的回调函?*/
} Line_In_Attribute_st_t;
extern void Line_In_SetPowerSt(LINE_IN_WorkSt_en_t u8PowerSt);
/*10ms调用*/
extern void Line_In_Debounce_Service(void);
extern LineIn_LogicLevel_en_t Line_In_Get_Status(uint8_t Channel);
extern void Line_In_KL30_Init(void);
extern void Line_In_KL15_ON_Init(void);
extern void Line_In_KL15_OFF_Init(void);
extern uint8_t LINE_IN_Get_RightTurn(void);
extern uint8_t LINE_IN_Get_LeftTurn(void);
extern uint8_t LINE_IN_Get_HighBeam(void);
extern uint8_t LINE_IN_Get_ABS(void);
extern uint8_t LINE_IN_Get_AutoStarStop(void);
extern uint8_t LINE_IN_Get_TirePressure(void);
extern uint8_t LINE_IN_Get_OilPressure(void);
extern uint8_t LINE_IN_Get_OBD(void);
#endif
#include "PowerManagement.h"
#include "PowerManagement_user.h"
#include "System_Monitor.h"
#include "Line_in.h"
#include "gpio.h"
#include "Common_Interface.h"
#include "clk.h"
......@@ -37,7 +37,7 @@ uint16_t g_sleepDelay = 0;
void Power_KL30_Init ( void )
{
Sys_KL30_Init();
Line_In_KL30_Init();
// UART2_Init(115200);
// uart2_User_KL30_Init();
Telltales_Init();
......@@ -190,7 +190,7 @@ void Power_Wakeup_Init ( void )
Sys_Tick_Timer_Start();
Analog_Signal_Conv_Init();
Sys_WakeUp_Init();
Line_In_KL30_Init();
Telltales_Init();
// UART2_Init(115200);
// uart2_User_KL30_Init();
......@@ -218,7 +218,7 @@ void Power_IG_OFF_Init(void)
SEG_LCD_Gear_Display(0, 0, 0);
SEG_Coolant_Temp_Display(0, 0);
Line_In_KL15_OFF_Init();
Common_Set_IG_Sts(COMMON_POWER_OFF);
Set_CanSleepDelayTime(8000);
g_sleepDelay = 300;//延时30s休眠
......@@ -226,7 +226,7 @@ void Power_IG_OFF_Init(void)
}
void Power_IG_ON_Init(void)
{
Line_In_KL15_ON_Init();
Telltales_KL15_Init();
bsp_CAN_SleepRelease();
bsp_CAN_Init();
......
......@@ -2,7 +2,7 @@
#include "Telltales_user.h"
#include "Flash_synchronizer.h"
#include "Common_Interface.h"
#include "Line_in.h"
#include "CAN_User.h"
#include "SEG_LCD.h"
......@@ -61,16 +61,7 @@ const LED_Attribute_st LED_Attribute[LED_Max] =
uint16_t LED_RIGHT_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_RightTurn);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
}
else
{
u8Result = 0u;
}
return u8Result;
}
void LED_RIGHT_Execution(uint16_t led_status)
......@@ -96,7 +87,7 @@ uint16_t LED_LEFT_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_LeftTurn);
if (Get_LIne_Sta == LINE_IN_LOGIC_VALID)
{
u8Result = 1u;
......@@ -131,7 +122,7 @@ uint16_t LED_HI_BEAM_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_HighBeam);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......@@ -165,7 +156,7 @@ uint16_t LED_MIL_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_OBD);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......@@ -199,7 +190,7 @@ uint16_t LED_ABS_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_ABS);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......@@ -261,7 +252,7 @@ uint16_t LED_AutoStarStop_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_AutoStarStop);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......@@ -401,7 +392,7 @@ uint16_t LED_ENGINE_OIL_LOW_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
// Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_OilPressure);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......@@ -435,7 +426,6 @@ uint16_t LED_TPMS_Judgement(void)
{
uint16_t u8Result = 0u;
uint8_t Get_LIne_Sta = 0u;
// Get_LIne_Sta = (uint8_t)Line_In_Get_Status(LINE_IN_OilPressure);
if (Get_LIne_Sta == 1u)
{
u8Result = 1u;
......
......@@ -13,7 +13,6 @@
#include "BAT32A239.h"
#include "common.h"
#include "Sys_Scheduler.h"
#include "Line_In.h"
#include "adc.h"
#include "Analog_Signals.h"
......@@ -99,16 +98,11 @@ void Sys_Run_Mode_5ms_Tasks(void)
------------------------------------------------------------------------------*/
void Sys_Run_Mode_10ms_Tasks(void)
{
Common_SetSelfcheckStart(1);
Analog_Signal_Conv_Service();
BackLightDamp(10u);
Line_In_Debounce_Service();
Telltales_Management();
Can_BusOff_Fun(10u);
}
/*============================================================================*/
......
This diff is collapsed.
......@@ -618,16 +618,6 @@
<Group>
<GroupName>Application</GroupName>
<Files>
<File>
<FileName>Line_In.h</FileName>
<FileType>5</FileType>
<FilePath>.\source\Application\LINE_IN\Line_In.h</FilePath>
</File>
<File>
<FileName>Line_In.c</FileName>
<FileType>1</FileType>
<FilePath>.\source\Application\LINE_IN\Line_In.c</FilePath>
</File>
<File>
<FileName>PowerManagement.h</FileName>
<FileType>5</FileType>
......
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