#ifndef _Data_Vspeed_H_ #define _Data_Vspeed_H_ #include "common.h" /*** 参数设置 ***/ #define DATA_VEHICLE_RUNNING_THRESHOLD 25 //汽车行进阈值 #define DATA_VEHICLE_STOP_THRESHOLD 20 //汽车停止阈值 #define DATA_VSPEED_DAMPING_FACTOR 3 //阻尼系数 #define DATA_VSPEED_INC_STEP 2 //速度增加时慢加速速度变化步长 #define DATA_VSPEED_DEC_STEP 6 //方向改变时急减速速度变化步长 #define DATA_VSPEED_APPR_SPEED_MIN 2 //最小逼近速度 #define DATA_VSPEED_HYSTERESIS 15 //回差 /*** 控制结构 ***/ typedef struct __attribute__((aligned(4))) { uint16_t Timer; uint16_t Timer1; uint16_t Backup; uint16_t Buffer[3]; uint8_t Cnt; } DataVSpeedSamplerStruct; //车速采样结构 typedef struct __attribute__((aligned(4))) { uint16_t Speed; uint16_t Delta; uint8_t Dir; } DataVSPeedDampingStruct; //车速阻尼结构 /****************************************************************************** 函数名:Data_Vehicle_Speed_KL30_Init 功 能:车速数据KL30初始化 参 数:无 返回值:无 ****************************************************************************** 注 意:该函数KL30初始化被调用一次 ******************************************************************************/ void Data_Vehicle_Speed_KL30_Init(void); /****************************************************************************** 函数名:Data_Vehicle_Speed_Wakeup_Init 功 能:车速数据唤醒初始化 参 数:无 返回值:无 ****************************************************************************** 注 意:该函数唤醒初始化被调用一次 ******************************************************************************/ void Data_Vehicle_Speed_Wakeup_Init(void); /****************************************************************************** 函数名:Data_Vehicle_Speed_Processing_Service 功 能:车速数据处理函数 参 数:无 返回值:无 ****************************************************************************** 注 意:该函数必须每20ms被调用一次 ******************************************************************************/ void Data_Vehicle_Speed_Processing_Service(void); uint8_t Get_VechileSpeedValid(void); /*真实的车速,精度10倍,*/ uint16_t Get_ActualVechileSpeed(void); /*显示车速,精度10倍,取整,舍去小数点*/ uint16_t Get_DispVechileSpeed(void); uint16_t Get_DispVechileSpeed_Mile(void); uint16_t Get_DispVechileSpeed_TX(void); #endif