Commit 48ed3aa9 authored by 时昊's avatar 时昊

🎉 init:增加硬线模块

parent a63556d6
#include "Line_In.h"
#include "Line_In_user.h"
#include "Common_Interface.h"
#include "gpio.h"
#include "common.h"
const Line_In_Attribute_st g_stLineInAttribute[LINE_IN_MAX] =
{
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnLeft, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 20U, 20U, Get_LINE_IN_TurnRight, },
{LEVEL_LOW, LEVEL_HIGH, LINE_IN_IG_ON, 60U, 20U, Get_LINE_IN_HighBeam, },
{LEVEL_HIGH, LEVEL_LOW, LINE_IN_IG_ON, 100U, 20U, Get_LINE_IN_Auto_Start_Stop, },
};
Linelib_uint8_t Get_LINE_IN_TurnLeft(void)
{
Linelib_uint8_t ret = 0U;
if (LeftTurn_P_In)
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_TurnRight(void)
{
Linelib_uint8_t ret = 0U;
if (RightTurn_P_In)
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_HighBeam(void)
{
Linelib_uint8_t ret = 0U;
if (HighBeam_P_In)
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void)
{
Linelib_uint8_t ret = 0U;
if (START_STOP_P_IN)
{
ret = 1u;
}
else
{
ret = 0UL;
}
return ret;
}
Linelib_uint8_t LINE_IN_Men[LINE_IN_MAX * LINE_IN_BLOCK_SIZE];
static Linelib_uint16_t LINE_GET_PWR(void)
{
Linelib_uint16_t Res;
Res = Common_Get_IG_Sts() & 0x00FFu;
return Res;
}
void LINE_IN_Init(void)
{
//Line_In_KL30_WakeUp_Init(LINE_IN_Men, g_stLineInAttribute, LINE_IN_MAX, LINE_GET_PWR);
}
\ No newline at end of file
#ifndef LINE_IN_USER_H
#define LINE_IN_USER_H
typedef enum
{
LINE_IN_TurnLeft,
LINE_IN_TurnRight,
LINE_IN_HighBeam,
LINE_IN_Auto_Start_Stop,
LINE_IN_MAX,
} LINE_IN_Enum_t;
extern void LINE_IN_Init(void);
Linelib_uint8_t Get_LINE_IN_TurnLeft(void);
Linelib_uint8_t Get_LINE_IN_TurnRight(void);
Linelib_uint8_t Get_LINE_IN_HighBeam(void);
Linelib_uint8_t Get_LINE_IN_Auto_Start_Stop(void);
#endif
#ifndef LINE_IN_H
#define LINE_IN_H
#ifdef Platform_16Bit
#define Linelib_uint8_t unsigned char
#define Linelib_uint16_t unsigned int
#define Linelib_uint32_t unsigned long
#else
#define Linelib_uint8_t unsigned char
#define Linelib_uint16_t unsigned short
#define Linelib_uint32_t unsigned int
#define Linelib_uint64_t unsigned long long
#endif
#define LINE_IN_BLOCK_SIZE (( Linelib_uint8_t )(8u))
#define LINE_IN_IG_OFF (Linelib_uint8_t)(0x00u)
#define LINE_IN_IG_ON (Linelib_uint8_t)(0x01u)
#define LINE_IN_IG_ONOFF (Linelib_uint8_t)(0x02u)
#define LEVEL_LOW (Linelib_uint8_t)(0x00u)
#define LEVEL_HIGH (Linelib_uint8_t)(0x01u)
#define LINE_IN_LOGIC_INVALID (Linelib_uint8_t)(0x00u)
#define LINE_IN_LOGIC_VALID (Linelib_uint8_t)(0x01u)
/*获取实时硬线电平函数指针*/
typedef Linelib_uint8_t (*LineIn_Read_Level)(void);
typedef Linelib_uint16_t (*LineIn_GetPowerMode)(void);
/**@struct st_CANMsgAttribute
* @brief 硬线去抖属性结构体 \n
* 定义报接收文属性
*/
typedef struct
{
Linelib_uint8_t DefaultLevel; /**< 初始电平 LEVEL_LOW /LEVEL_HIGH */
Linelib_uint8_t TriggerLevel; /**< 触发电平 LEVEL_LOW /LEVEL_HIGH */
Linelib_uint16_t enPowerStatus; /**< 硬线工作的电源状态 LINE_IN_IG_OFF/LINE_IN_IG_ON/LINE_IN_IG_ONOFF */
Linelib_uint16_t ValidTime; /**< 从无效到有效的消抖时间,单位ms */
Linelib_uint16_t InvalidTime; /**< 从有效到无效的消抖时间,单位ms */
LineIn_Read_Level pfnLineIn_Read_Cbk; /**< 获取实时电平的回调函数 */
} Line_In_Attribute_st;
extern void Line_In_KL30_WakeUp_Init(Linelib_uint8_t *MemSpace, const Line_In_Attribute_st *Array, Linelib_uint16_t length, LineIn_GetPowerMode pfunc);
extern void Line_In_Debounce_Service(Linelib_uint16_t CbkCycle);
extern void Line_In_KL15_OFF_Init(void);
extern void Line_In_KL15_ON_Init(void);
extern Linelib_uint16_t Line_In_Get_Status(Linelib_uint16_t Channel);
extern Linelib_uint16_t Get_LineIn_Version(void);
#endif
...@@ -21,7 +21,7 @@ uint16_t Common_Get_Disp_V_Speed(void); ...@@ -21,7 +21,7 @@ uint16_t Common_Get_Disp_V_Speed(void);
uint16_t Common_Get_Disp_E_Speed(void); uint16_t Common_Get_Disp_E_Speed(void);
uint16_t Common_Get_Gauges_Disp_E_Speed(void); uint16_t Common_Get_Gauges_Disp_E_Speed(void);
//×Ô¼ì //�Լ�
uint16_t Common_Get_E_Speed_TEST(void); uint16_t Common_Get_E_Speed_TEST(void);
uint16_t Common_Get_V_Speed_TEST(void); uint16_t Common_Get_V_Speed_TEST(void);
uint8_t Common_Get_Fuel_TEST(void); uint8_t Common_Get_Fuel_TEST(void);
...@@ -39,7 +39,7 @@ void Common_Set_Disp_V_Speed(uint16_t Val); ...@@ -39,7 +39,7 @@ void Common_Set_Disp_V_Speed(uint16_t Val);
void Common_Set_Disp_E_Speed(uint16_t Val); void Common_Set_Disp_E_Speed(uint16_t Val);
void Common_Set_Gauges_E_Speed(uint16_t Val); void Common_Set_Gauges_E_Speed(uint16_t Val);
//×Ô¼ì //�Լ�
/*void Common_Set_E_Speed_Test(uint16_t Val); /*void Common_Set_E_Speed_Test(uint16_t Val);
void Common_Set_V_Speed_Test(uint16_t Val); void Common_Set_V_Speed_Test(uint16_t Val);
void Common_Set_Fuel_Test(uint8_t Val); void Common_Set_Fuel_Test(uint8_t Val);
......
...@@ -410,29 +410,6 @@ typedef enum ...@@ -410,29 +410,6 @@ typedef enum
#endif #endif
/*????,??????,????*/
typedef enum
{
LINE_IN_LOGIC_INVALID = 0U, /*?????,??????,???*/
LINE_IN_LOGIC_VALID, /*?????,??????,???*/
} LineIn_LogicLevel_en_t;
/*????????*/
typedef enum
{
LINE_IN_IG_OFF = 0U,
LINE_IN_IG_ON,
LINE_IN_IG_ONOFF,
} LINE_IN_WorkSt_en_t;
typedef enum
{
LEVEL_LOW = 0u,
LEVEL_HIGH,
} _LINE_IN_TriggerLevel_;
/*LineIn Module END*/
/*CAN TX Module*/ /*CAN TX Module*/
typedef enum typedef enum
......
...@@ -1244,6 +1244,42 @@ ...@@ -1244,6 +1244,42 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>84</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Line\Line_in.h</PathWithFileName>
<FilenameWithoutPath>Line_in.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>85</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Line\Line_In_user.c</PathWithFileName>
<FilenameWithoutPath>Line_In_user.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>86</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Line\Line_In_user.h</PathWithFileName>
<FilenameWithoutPath>Line_In_user.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
...@@ -1254,7 +1290,7 @@ ...@@ -1254,7 +1290,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>84</FileNumber> <FileNumber>87</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1266,7 +1302,7 @@ ...@@ -1266,7 +1302,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>85</FileNumber> <FileNumber>88</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1286,7 +1322,7 @@ ...@@ -1286,7 +1322,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>86</FileNumber> <FileNumber>89</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1298,7 +1334,7 @@ ...@@ -1298,7 +1334,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>87</FileNumber> <FileNumber>90</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1310,7 +1346,7 @@ ...@@ -1310,7 +1346,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>88</FileNumber> <FileNumber>91</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1322,7 +1358,7 @@ ...@@ -1322,7 +1358,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>89</FileNumber> <FileNumber>92</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1334,7 +1370,7 @@ ...@@ -1334,7 +1370,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>90</FileNumber> <FileNumber>93</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1346,7 +1382,7 @@ ...@@ -1346,7 +1382,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>91</FileNumber> <FileNumber>94</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1358,7 +1394,7 @@ ...@@ -1358,7 +1394,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>92</FileNumber> <FileNumber>95</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1370,7 +1406,7 @@ ...@@ -1370,7 +1406,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>93</FileNumber> <FileNumber>96</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1382,7 +1418,7 @@ ...@@ -1382,7 +1418,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>94</FileNumber> <FileNumber>97</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1394,7 +1430,7 @@ ...@@ -1394,7 +1430,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>95</FileNumber> <FileNumber>98</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1406,7 +1442,7 @@ ...@@ -1406,7 +1442,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>96</FileNumber> <FileNumber>99</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1426,7 +1462,7 @@ ...@@ -1426,7 +1462,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>97</FileNumber> <FileNumber>100</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1438,7 +1474,7 @@ ...@@ -1438,7 +1474,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>98</FileNumber> <FileNumber>101</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1450,7 +1486,7 @@ ...@@ -1450,7 +1486,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>99</FileNumber> <FileNumber>102</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1462,7 +1498,7 @@ ...@@ -1462,7 +1498,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>100</FileNumber> <FileNumber>103</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1474,7 +1510,7 @@ ...@@ -1474,7 +1510,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>101</FileNumber> <FileNumber>104</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1486,7 +1522,7 @@ ...@@ -1486,7 +1522,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>102</FileNumber> <FileNumber>105</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1498,7 +1534,7 @@ ...@@ -1498,7 +1534,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>103</FileNumber> <FileNumber>106</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1510,7 +1546,7 @@ ...@@ -1510,7 +1546,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>104</FileNumber> <FileNumber>107</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1522,7 +1558,7 @@ ...@@ -1522,7 +1558,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>105</FileNumber> <FileNumber>108</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1534,7 +1570,7 @@ ...@@ -1534,7 +1570,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>106</FileNumber> <FileNumber>109</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
......
...@@ -808,6 +808,21 @@ ...@@ -808,6 +808,21 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\source\Application\Line\Key_user.h</FilePath> <FilePath>.\source\Application\Line\Key_user.h</FilePath>
</File> </File>
<File>
<FileName>Line_in.h</FileName>
<FileType>5</FileType>
<FilePath>.\source\Application\Line\Line_in.h</FilePath>
</File>
<File>
<FileName>Line_In_user.c</FileName>
<FileType>1</FileType>
<FilePath>.\source\Application\Line\Line_In_user.c</FilePath>
</File>
<File>
<FileName>Line_In_user.h</FileName>
<FileType>5</FileType>
<FilePath>.\source\Application\Line\Line_In_user.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
......
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