Commit bc27ab95 authored by 时昊's avatar 时昊

🎉 init:增加转速模块

parent 3f2164c3
This diff is collapsed.
#ifndef _Data_Espeed_H_
#define _Data_Espeed_H_
#include "common.h"
/******************************************************************************
发动机转速
******************************************************************************/
/*** 参数设置 ***/
#define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值
#define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值
#define DATA_ESPEED_DAMPING_FACTOR 4 //阻尼系数
#define DATA_ESPEED_INC_STEP 10 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长
#define DATA_ESPEED_APPR_SPEED_MIN 10 //最小逼近速度
#define DATA_ESPEED_HYSTERESIS 80 //回差
/*** 控制结构 ***/
typedef struct
{
uint16_t Buffer[5];
uint8_t Cnt;
} DataESpeedSamplerStruct; //转速采样结构
typedef struct
{
uint16_t Speed;
uint16_t Delta;
uint8_t Dir;
} DataESPeedDampingStruct; //转速阻尼结构
typedef struct
{
uint16_t ESpeedBackup;
uint16_t Timer;
uint8_t Mode;
} DataESpeedIdleStruct; //怠速处理结构
/******************************************************************************
函数名:Data_Engine_Speed_KL30_Wakeup_Init
功 能:发动机转速初始化函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数KL30初始化/Wakeup初始化被调用一次
******************************************************************************/
void Data_Engine_Speed_KL30_Wakeup_Init (void);
/******************************************************************************
函数名:Data_Engine_Speed_Processing_Service
功 能:发动机转速数据处理函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数必须每10ms被调用一次
******************************************************************************/
void Data_Engine_Speed_Processing_Service ( void );
uint8_t Get_EngineValid(void);
uint16_t Get_ActualEngineSpeed(void);
uint16_t Get_DispEngineSpeed(void);
#endif
\ No newline at end of file
#include "Common_Interface.h" #include "Common_Interface.h"
#include "Data_VSpeed.h" #include "Data_VSpeed.h"
#include "common.h"
static uint16_t DataVSpeedActual; static uint16_t DataVSpeedActual;
static uint16_t DataVSpeedDisp; static uint16_t DataVSpeedDisp;
...@@ -143,11 +142,10 @@ void Data_Vehicle_Speed_Processing_Service(void) ...@@ -143,11 +142,10 @@ void Data_Vehicle_Speed_Processing_Service(void)
if ( DataVSpeedValid == 0 ) if ( DataVSpeedValid == 0 )
{ {
DataVSpeedValid = 1; DataVSpeedValid = 1;
VSpeed = Vehicle_Speed; VSpeed = Vehicle_Speed;
// VSpeed *= 9; // VSpeed *= 9;
// VSpeed >>= 4; /* 9/16 */ // VSpeed >>= 4;
DataVSpeedActual = VSpeed; DataVSpeedActual = VSpeed * 10;
} }
else else
{ {
...@@ -169,8 +167,7 @@ void Data_Vehicle_Speed_Processing_Service(void) ...@@ -169,8 +167,7 @@ void Data_Vehicle_Speed_Processing_Service(void)
VSpeed = DataVSpeedSampler.Buffer [ 1 ]; VSpeed = DataVSpeedSampler.Buffer [ 1 ];
//VSpeed *= 9; //VSpeed *= 9;
//VSpeed >>= 4; //VSpeed >>= 4;
DataVSpeedActual = VSpeed * 10;
DataVSpeedActual = VSpeed;
} }
DataVSpeedSampler.Timer = 0; DataVSpeedSampler.Timer = 0;
DataVSpeedSampler.Timer1 = 0; DataVSpeedSampler.Timer1 = 0;
...@@ -255,8 +252,8 @@ void Data_Vehicle_Speed_Processing_Service(void) ...@@ -255,8 +252,8 @@ void Data_Vehicle_Speed_Processing_Service(void)
else else
{ {
DataVSPeedDamping.Speed += Delta; DataVSPeedDamping.Speed += Delta;
if ( DataVSPeedDamping.Speed > 2400 ) if ( DataVSPeedDamping.Speed > 1200 )
DataVSPeedDamping.Speed = 2400; DataVSPeedDamping.Speed = 1200;
} }
} }
else // 显示值正在向实际值减小,则维持当前方向调节增加速度 else // 显示值正在向实际值减小,则维持当前方向调节增加速度
...@@ -304,8 +301,8 @@ void Data_Vehicle_Speed_Processing_Service(void) ...@@ -304,8 +301,8 @@ void Data_Vehicle_Speed_Processing_Service(void)
else else
{ {
DataVSPeedDamping.Speed += Delta; DataVSPeedDamping.Speed += Delta;
if ( DataVSPeedDamping.Speed > 2400 ) if ( DataVSPeedDamping.Speed > 1200 )
DataVSPeedDamping.Speed = 2400; DataVSPeedDamping.Speed = 1200;
} }
} }
else // 显示值当前是减小方向 else // 显示值当前是减小方向
......
...@@ -44,6 +44,7 @@ void Power_KL30_Init ( void ) ...@@ -44,6 +44,7 @@ void Power_KL30_Init ( void )
BU2703_Senser_Init(); BU2703_Senser_Init();
GUI_Light_Init(); GUI_Light_Init();
Data_Vehicle_Speed_KL30_Init(); Data_Vehicle_Speed_KL30_Init();
Data_Engine_Speed_KL30_Wakeup_Init( );
} }
...@@ -193,6 +194,7 @@ void Power_Wakeup_Init ( void ) ...@@ -193,6 +194,7 @@ void Power_Wakeup_Init ( void )
GUI_Light_Init(); GUI_Light_Init();
Data_Vehicle_Speed_KL30_Init(); Data_Vehicle_Speed_KL30_Init();
Data_Vehicle_Speed_Wakeup_Init(); Data_Vehicle_Speed_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init( );
} }
......
...@@ -37,6 +37,8 @@ ...@@ -37,6 +37,8 @@
#include "app_Telltales.h" #include "app_Telltales.h"
#include "Services_Mileage.h" #include "Services_Mileage.h"
#include "Gui_Seg_Dis.h" #include "Gui_Seg_Dis.h"
#include "Data_ESpeed.h"
#include "Data_VSpeed.h"
/******************************************************************************* /*******************************************************************************
* * * *
...@@ -104,6 +106,7 @@ void Sys_Run_Mode_20ms_Tasks(void) ...@@ -104,6 +106,7 @@ void Sys_Run_Mode_20ms_Tasks(void)
BU98R10_Update_Request(); BU98R10_Update_Request();
Diag_Req_Send(20); Diag_Req_Send(20);
Data_Vehicle_Speed_Processing_Service( ); Data_Vehicle_Speed_Processing_Service( );
Data_Engine_Speed_Processing_Service();
} }
/*============================================================================*/ /*============================================================================*/
......
...@@ -1304,6 +1304,30 @@ ...@@ -1304,6 +1304,30 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>89</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Line\Data_ESpeed.c</PathWithFileName>
<FilenameWithoutPath>Data_ESpeed.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>90</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Line\Data_ESpeed.h</PathWithFileName>
<FilenameWithoutPath>Data_ESpeed.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
...@@ -1314,7 +1338,7 @@ ...@@ -1314,7 +1338,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>89</FileNumber> <FileNumber>91</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1326,7 +1350,7 @@ ...@@ -1326,7 +1350,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>90</FileNumber> <FileNumber>92</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1346,7 +1370,7 @@ ...@@ -1346,7 +1370,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>91</FileNumber> <FileNumber>93</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1358,7 +1382,7 @@ ...@@ -1358,7 +1382,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>92</FileNumber> <FileNumber>94</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1370,7 +1394,7 @@ ...@@ -1370,7 +1394,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>93</FileNumber> <FileNumber>95</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1382,7 +1406,7 @@ ...@@ -1382,7 +1406,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>94</FileNumber> <FileNumber>96</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1394,7 +1418,7 @@ ...@@ -1394,7 +1418,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>95</FileNumber> <FileNumber>97</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1406,7 +1430,7 @@ ...@@ -1406,7 +1430,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>96</FileNumber> <FileNumber>98</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1418,7 +1442,7 @@ ...@@ -1418,7 +1442,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>97</FileNumber> <FileNumber>99</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1430,7 +1454,7 @@ ...@@ -1430,7 +1454,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>98</FileNumber> <FileNumber>100</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1442,7 +1466,7 @@ ...@@ -1442,7 +1466,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>99</FileNumber> <FileNumber>101</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1454,7 +1478,7 @@ ...@@ -1454,7 +1478,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>100</FileNumber> <FileNumber>102</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1466,7 +1490,7 @@ ...@@ -1466,7 +1490,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>101</FileNumber> <FileNumber>103</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1486,7 +1510,7 @@ ...@@ -1486,7 +1510,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>102</FileNumber> <FileNumber>104</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1498,7 +1522,7 @@ ...@@ -1498,7 +1522,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>103</FileNumber> <FileNumber>105</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1510,7 +1534,7 @@ ...@@ -1510,7 +1534,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>104</FileNumber> <FileNumber>106</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1522,7 +1546,7 @@ ...@@ -1522,7 +1546,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>105</FileNumber> <FileNumber>107</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1534,7 +1558,7 @@ ...@@ -1534,7 +1558,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>106</FileNumber> <FileNumber>108</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1546,7 +1570,7 @@ ...@@ -1546,7 +1570,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>107</FileNumber> <FileNumber>109</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1558,7 +1582,7 @@ ...@@ -1558,7 +1582,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>108</FileNumber> <FileNumber>110</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1570,7 +1594,7 @@ ...@@ -1570,7 +1594,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>109</FileNumber> <FileNumber>111</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1582,7 +1606,7 @@ ...@@ -1582,7 +1606,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>110</FileNumber> <FileNumber>112</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1594,7 +1618,7 @@ ...@@ -1594,7 +1618,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>111</FileNumber> <FileNumber>113</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
......
...@@ -833,6 +833,16 @@ ...@@ -833,6 +833,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\source\Application\Line\Data_VSpeed.h</FilePath> <FilePath>.\source\Application\Line\Data_VSpeed.h</FilePath>
</File> </File>
<File>
<FileName>Data_ESpeed.c</FileName>
<FileType>1</FileType>
<FilePath>.\source\Application\Line\Data_ESpeed.c</FilePath>
</File>
<File>
<FileName>Data_ESpeed.h</FileName>
<FileType>5</FileType>
<FilePath>.\source\Application\Line\Data_ESpeed.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