增加本地电子围栏功能,云端下发电子围栏无效

This commit is contained in:
wjw 2025-07-11 11:22:25 +08:00
parent 953f3187df
commit 924d3e9635
6 changed files with 200 additions and 15 deletions

View File

@ -28,7 +28,7 @@
#define PLAY_DISTANCE_THRESHOLD 50.0 // 有效播报距离(米)
#define DISTANCE_CHANGE_THRESHOLD 10.0 // 距离变化阈值(米)
#define TTS_PRIORITY 5 // TTS播报优先级
#define MAX_TTS_SEGMENT_LEN 50 // TTS每段最大长度(字符)
#define MAX_TTS_SEGMENT_LEN 70 // TTS每段最大长度(字符)
static nmeaPARSER parser;
@ -201,7 +201,7 @@ void attr_broadcast_add_attraction(double lon, double lat,
osMutexAcquire(attractions_mutex, osWaitForever);
AttractionNode* new_node = malloc(sizeof(AttractionNode));
AttractionNode* new_node = cm_malloc(sizeof(AttractionNode));
if (!new_node) {
osMutexRelease(attractions_mutex);
return;
@ -396,14 +396,61 @@ void attr_broadcast_init(void) {
}
//增加初始景点
attr_broadcast_add_attraction(121.364371, 31.343164, "2号门便民处", "测试景点,看起来应该非常的方便游客");
attr_broadcast_add_attraction(121.364270, 31.343103, "2号门归还点", "您好二号门停放点到了,您可以把我归还至这里,并在手机小程序中结束订单,如果");
attr_broadcast_add_attraction(121.364350, 31.342175, "彩虹桥", "测试景点,看起来有很多很多彩虹");
attr_broadcast_add_attraction(121.36799,31.34449, "恐龙乐园正门", "您好自然谷恐龙园到了这是一个人工搭建的模拟三叠纪侏罗纪白垩纪等时代的恐龙生活场景的乐园在这里您可以穿梭于恐龙像群欣赏超前的7D电影在自然中感受野趣在怪石和岩洞中穿行充分体验远古时代洪荒洞窟的神奇刺激和绝妙采用这里的各类恐龙有着高仿真活动自如的特性虫现远古时代恐龙生活打斗等场景让恐龙如同真的复活园内霸王龙三角龙阿马加龙剑龙恐爪龙等几十条恐龙与您零距离接触带您进入远古霸主的惊险旅程");
attr_broadcast_add_attraction(121.362142,31.340588, "想家桥", "测试景点,看起来非常的让人想要回家");
attr_broadcast_add_attraction(121.362796,31.339624, "3号游船码头", "游客三号游船码头到了顾村公园浏中湖景区有约10公顷的湖面和沿岸森林湿地");
attr_broadcast_add_attraction(121.36613,31.33925, "樱花广场", "亲爱的游客现在您看到的是顾村公园樱花广场,一寸春心十年相守,为纪念上海樱花节十周");
attr_broadcast_add_attraction(121.366656983, 31.344300423, "集装箱房间", "测试景点,看起来应该非常的方便测试");
attr_broadcast_add_attraction(121.377232, 31.347311, "谭杨桥", "");
attr_broadcast_add_attraction(121.378406, 31.346974, "荷花亭", "");
attr_broadcast_add_attraction(121.377243, 31.346191, "广福桥", "取名于顾村镇原刘行镇广福村广福村以广福寺得名。传说广福寺规模庞大鼎盛时期占地方圆近1公里号称江南第一寺为当年名僧的游学之地。 \"八·一三\"淞沪抗战,广福寺及广福桥等建筑物毁于战火。而今,杏花疏影中的广福寺虽不复存在,然而公园内新建的汉白玉七孔长桥——广福桥,犹如一道彩虹飞架于粼粼碧波之上,为公园徒增许多诗情画意。");
attr_broadcast_add_attraction(121.377107, 31.345321, "梅樱林", "梅樱林位于樱花大道和红粉路交叉口占地面积约5000平方米种植以梅花和樱花相融合为主题的特色林带樱花品种以华中樱为主。");
attr_broadcast_add_attraction(121.363918, 31.342592, "恐龙乐园后门", "");
attr_broadcast_add_attraction(121.377183, 31.345215, "小卖部", "");
attr_broadcast_add_attraction(121.377747, 31.344542, "紫藤阁", "");
attr_broadcast_add_attraction(121.375954, 31.343419, "梦熊桥", "原位于顾村镇白杨村境内。经查,原\"梦熊桥\"建于公元1695年(即康熙33年)距今已有314年历史。\"梦熊\"一词出自《诗经·小雅·斯干》,意指生男孩,或为祝贺生男孩之语。据说,该桥的来历与当时宅上妇女大都生育男孩有关。顾村公园的梦熊桥是园内唯一的一座双桥,采用超越天然大理石建造。桥旁碧水荡漾,绿树掩映,是绝佳的赏景之桥。");
attr_broadcast_add_attraction(121.375293, 31.345056, "太平桥", "原太平桥位于顾村镇(原刘行镇)老安村境内沪太路上,始建于清同治年间。沪太路曾是上海市最早的一条省际公路,故太平桥的作用十分重要。现顾村公园太平桥又称十二生肖桥,桥两侧栏杆共雕刻着二十四只栩栩如生相对应的生肖动物。如此走在桥上,游客都会情不自禁地边走边摸生肖动物,看看属于自己的生肖可爱形象,真是情趣横生。");
attr_broadcast_add_attraction(121.374492, 31.344662, "严家港桥", "");
attr_broadcast_add_attraction(121.373485, 31.344425, "砚池桥", "");
attr_broadcast_add_attraction(121.373685, 31.346686, "东南亚风情园", "");
attr_broadcast_add_attraction(121.373297, 31.346479, "樱花文化艺术展示馆", "顾村公园\"樱花文化艺术展示馆\"建于2020年展馆以顾村公园樱花文化为设计理念\"永不落幕的·上海樱花节\"为主题,浓缩了十届\"上海樱花节\"的盛景,多形态的展示樱花摄影作品、樱花历史文化、樱花科普知识、樱花系列文创产品等内容,传播并丰富公园的樱花文化,呈现更绚烂的樱花情景。");
attr_broadcast_add_attraction(121.371509, 31.345411, "樱悦书院", "");
attr_broadcast_add_attraction(121.372022, 31.344942, "万年桥", "");
attr_broadcast_add_attraction(121.372601, 31.344801, "1号游船码头", "");
attr_broadcast_add_attraction(121.373195, 31.342009, "2号游船码头", "");
attr_broadcast_add_attraction(121.372599, 31.342228, "樱舞桥", "");
attr_broadcast_add_attraction(121.371710, 31.341834, "小樱广场", "");
attr_broadcast_add_attraction(121.370535, 31.342174, "游乐园", "");
attr_broadcast_add_attraction(121.370519, 31.342064, "摩天轮", "");
attr_broadcast_add_attraction(121.369894, 31.341977, "商店", "");
attr_broadcast_add_attraction(121.370991, 31.343946, "樱悦大桥", "");
attr_broadcast_add_attraction(121.369933, 31.341000, "星火服务站", "");
attr_broadcast_add_attraction(121.369659, 31.340968, "汉服体验馆", "");
attr_broadcast_add_attraction(121.36613, 31.33925, "樱花广场", "亲爱的游客现在您看到的是顾村公园樱花广场,一寸春心十年相守,为纪念上海樱花节十周年,顾村公园特意打造了樱花广场,广场设计简洁通畅,十朵樱花十个花坛,十颗樱树,片片花瓣和公园图标都融入了广场之中,十年之恋景观墙更是将上海樱花节十年历程铭刻记录,让我们可以借此回顾过往,展望将来,愿明年的樱花更烂漫,祖国的未来更辉煌");
attr_broadcast_add_attraction(121.364349, 31.339023, "盛宅桥", "");
attr_broadcast_add_attraction(121.363623, 31.338906, "迎春林", "");
attr_broadcast_add_attraction(121.362796, 31.339624, "3号游船码头", "游客三号游船码头到了顾村公园浏中湖景区有约10公顷的湖面和沿岸森林湿地沿岸包括水上码头鸟岛湿地垂钓索桥等景点绝对会让您觉得不虚此行");
attr_broadcast_add_attraction(121.364350, 31.342175, "彩虹桥", "");
attr_broadcast_add_attraction(121.36799, 31.34449, "恐龙乐园正门", "您好自然谷恐龙园到了这是一个人工搭建的模拟三叠纪侏罗纪白垩纪等时代的恐龙生活场景的乐园在这里您可以穿梭于恐龙像群欣赏超前的7D电影在自然中感受野趣在怪石和岩洞中穿行充分体验远古时代洪荒洞窟的神奇刺激和绝妙采用这里的各类恐龙有着高仿真活动自如的特性虫现远古时代恐龙生活打斗等场景让恐龙如同真的复活园内霸王龙三角龙阿马加龙剑龙恐爪龙等几十条恐龙与您零距离接触带您进入远古霸主的惊险旅程");
attr_broadcast_add_attraction(121.367888, 31.343220, "矮人部落站", "");
attr_broadcast_add_attraction(121.361532, 31.341848, "彩弹射击射箭运动中心", "上海顾村公园彩弹射击射箭运动中心坐落于顾村公园2号门往西200米冬青路游客在这里可以进行彩弹射击真人CS实战对抗、气手枪竞技射击培训体验、M4-16气步枪打靶、10-50米靶射箭体验、worgame_BB弹真人吃鸡大作战。欢迎广大游客朋友们前来体验、游玩。");
attr_broadcast_add_attraction(121.362142, 31.340588, "想家桥", "");
attr_broadcast_add_attraction(121.359204, 31.337386, "孔雀园", "这里是东方鸟世界的孔雀园,园内看到的是六大明星之一孔雀\"花花\"。在进入孔雀园时,请仔细阅读入园须知,不要投喂自带食物,照顾好您的宝宝,防止抓伤啄伤,如果您不认同与鸟类接触行为,请在护栏外观赏哦!孔雀园内居住着上百只孔雀,孔雀是鸡形目、雉科动物。一直以来,孔雀被视为\"百鸟之王\"是最美丽的观赏鸟象征着爱情更是吉祥、善良、美丽、华贵的象征。我们园内的孔雀是以蓝孔雀和白孔雀为主孔雀体长可达2米以上其中尾屏长约1.5米体重达6公斤左右。尾部华丽的为雄孔雀而雌孔雀其貌不扬。");
attr_broadcast_add_attraction(121.359030, 31.337262, "东方鸟世界便利店", "");
attr_broadcast_add_attraction(121.359178, 31.337357, "鸵鸟园", "这里是东方鸟世界的\"鸵鸟园\",眼前看到的是六大明星之一\"大个\"。鸵鸟属鸵形目、鸵鸟科是世界上最大的一种鸟类成鸟身高可达2.5米雄鸵鸟体重可达150千克。像蛇一样细长的脖颈上支撑着一个很小的头部上面有一张短而扁平的、由数片角质鞘所组成的三角形的嘴主要特点是龙骨突不发达不能飞行也是世界上现存鸟类中唯一的二趾鸟类在它双脚的每个大脚趾上都长有长约7厘米的危险趾甲后肢粗壮有力适于奔走。作为世界上最大的鸟类它的蛋也异乎寻常的坚毅一般人的力量根本踩不碎它。它的长度15公分宽度则有八公分左右重量却能达到1.5公斤。我们园内有鸵鸟和鸸鹋两种。鸸鹋原产于澳洲,是澳洲的国鸟,体形大但不会飞,生活在较开阔的半沙漠、草原和开阔的林地等栖息地。鸸鹋是澳大利亚个子最高的鸟,以擅长奔跑而著名,是澳洲地区的特产,是世界上第二大的鸟类,由于外形与鸵鸟相似,因而也被称作澳洲鸵鸟。翅膀比非洲鸵鸟和美洲鸵鸟的更加退化,足三趾,是世界上最古老的鸟种之一。非洲鸵鸟拥有世界上最大的眼球,美丽而明亮,赶快把小游停在路边,和她比一比吧!");
attr_broadcast_add_attraction(121.357985, 31.338391, "仙境奇缘", "");
attr_broadcast_add_attraction(121.358695, 31.337023, "小鸟市集", "在天鹅湖的马路对面就是小鸟市集哦,这里是儿童的欢乐营地,更是各种萌宠的温馨之家,小朋友可以在这里与萌宠和小鸟们亲密互动,同时还有各种小朋友喜欢的精彩活动哦!");
attr_broadcast_add_attraction(121.357883, 31.336482, "鹦鹉世界", "这是一个彩色的世界,来自五大洲的鹦鹉在此集结,是一个名副其实的世界鹦鹉博览园,这里有大型鹦鹉、中型和小型鹦鹉,这里不仅可以观赏到五彩缤纷的毛孩子,大朋友小朋友还可以与它们近距离亲密互动哦,但是在互动过程中千万不要用力抓它们,以免把他们弄疼哦,爱护鸟类,人人有责,从我做起。");
attr_broadcast_add_attraction(121.356022, 31.336296, "孔雀东南飞", "孔雀被誉为百鸟之王,是最美丽的观赏鸟,是美丽、华贵、吉祥的象征。孔雀的头顶翠绿,羽冠蓝绿而呈尖形;尾部上覆羽特别长,形成尾屏,开屏的时候像一个圆形的扇子,鲜艳美丽;孔雀东南飞表演非常的壮观美丽,上百只孔雀倾情演绎,一场凄美壮观的爱情故事让您不虚此行,流连忘返。孔雀东南飞,五里一徘徊。 大家一定要记好表演时间,准时前往孔雀东南飞表演场看台观看壮观的表演哦!");
attr_broadcast_add_attraction(121.355376, 31.335896, "彩虹滑梯", "");
attr_broadcast_add_attraction(121.355366, 31.336917, "兰兰广场", "兰兰广场位于悦林湖畔1972年9月29日将大熊猫\"兰兰\"\"康康\"赠送给日本,没想到在日本大受欢迎,后为纪念熊猫\"兰兰\",松前在熊猫纪念日将这个新品种命名为\"兰兰\"2021年1月1日在公园建此兰兰广场并树立熊猫雕塑愿美好与和平永在。");
attr_broadcast_add_attraction(121.355916, 31.337299, "望湖桥", "");
attr_broadcast_add_attraction(121.355457, 31.339899, "胭脂林", "");
attr_broadcast_add_attraction(121.353600, 31.339272, "悦林湖", "悦林湖位于公园二期,湖上鸟类汇集、且拥有皮划艇这项老少皆宜的娱乐项目,沿湖岸边走一圈能欣赏到各种各样精彩纷呈的美景,有娇艳的月季、有灿烂的樱花、有羞涩的小花一阵风徐徐吹来,感受到别具一格的公园风采。");
attr_broadcast_add_attraction(121.34949, 31.33833, "樱花烧烤园", "您好樱花烧烤园到了,顾村公园樱花烧烤园通过户外野趣的烧烤方式,让您在享受美食的同时还可以尽情享受绿树红花和湖边美景,是家人,友人以及团体聚会的绝佳场所,在绿草如茵的花园旁品尝美食,与大自然共同感受此刻的美好");
attr_broadcast_add_attraction(121.364371, 31.343164, "2号门便民处", "");
attr_broadcast_add_attraction(121.359268, 31.339659, "洋庭花园餐厅", "");
attr_broadcast_add_attraction(121.35677, 31.33876, "水上运动基地", "在上海大都市里不需要经过严格的专业学习和训练就可以亲身体验集健身休闲娱乐于一体的奥运会水上比赛项目顾村公园水上运动基地带给您的绝对是一份意外的惊喜这里阳光和煦碧水蓝天清新怡人和公园集生态休闲娱乐一体的公园设施融为一体水上运动基地设有皮划艇平台舟独木舟SUP浆板摩托艇冲锋艇香蕉船拖拉圈OP帆船滑水等娱乐项目或惊险刺激或悠然自得在悦林湖亦静亦动的水面无论是运动休闲还是观水赏景都别有一番情趣让人亲近自然之水生命之水");
attr_broadcast_add_attraction(121.35781, 31.33859, "东方鸟世界", "亲爱的游客东方鸟世界到了,这里是一个集观赏性,趣味性,参与性,科普性为一体的鸟类主题园区, 园内栖息着来自世界各地分属六十多个物种的两千余只珍稀鸟禽建有孔雀东南飞飞禽知识馆鹦鹉世界火烈鸟湾鸵鸟园游禽综合园猛禽园孵化中心等16个展区涵盖游禽涉禽攀禽鸣禽猛禽走禽六大鸟类品种这里是要单独购票的哟您要去游览的话记得将我停放在路边临时锁定哦");
attr_broadcast_add_attraction(121.357591, 31.338533, "月季园", "月季主题花园位于二期悦林湖畔总面积约534亩其中陆地面积约358亩月季种植面积22575平方米展示品种128种有灌木月季、藤本月季、大花月季、微型月季、树状月季等11个类别。月季主题花园将二期由生态林带向生态花园的品质内涵提升建造上海第一大以月季为主题的花园。");
attr_broadcast_add_attraction(121.376079, 31.347508, "1号门归还点", "您好一号门停放点到了,您可以把我归还至这里,并在手机小程序中结束订单,如果还想与我去其他地方玩耍我们就继续出发吧");
attr_broadcast_add_attraction(121.364270, 31.343103, "2号门归还点", "您好二号门停放点到了,您可以把我归还至这里,并在手机小程序中结束订单,如果还想陪我去其他地方玩耍我们就继续出发吧");
attr_broadcast_add_attraction(121.356886, 31.340930, "3号门归还点", "您好三号门停放点到了,您可以把我归还至这里,并在手机小程序中结束订单,如果还想陪我去其他地方玩耍我们就继续出发吧");
// 初始化状态
@ -412,7 +459,7 @@ void attr_broadcast_init(void) {
osThreadAttr_t attr_broadcast_task_attr = {0};
attr_broadcast_task_attr.name = "attr_broadcast_task";
attr_broadcast_task_attr.stack_size = 4096 * 8;
attr_broadcast_task_attr.stack_size = 4096 * 10;
attr_broadcast_task_attr.priority= osPriorityNormal;
Attr_Broadcast_ThreadId= osThreadNew(attr_broadcast_task, 0, &attr_broadcast_task_attr);

View File

@ -6,6 +6,17 @@
#pragma pack(1)
// 本地围栏配置结构(用于预置电子围栏)
typedef struct {
uint32_t area_id; // 围栏区域ID
uint16_t area_att; // 区域属性0x0001=景区围栏, 0x0002=禁停区围栏
uint16_t points_num; // 区域顶点数量
AreaPoint_t *points; // 区域顶点坐标最多支持4边形
} LocalFenceConfig_t;
// 终端参数设置项参数ID
typedef enum {
ID_HeartBeatInterval = 0x0001, // DWORD, 终端心跳发送间隔(s)

View File

@ -130,7 +130,7 @@ static int jt808_BodyParse(void *Prsmsg_body, PrsResult_t *Result){
break;
}
case ID_Set_Polygon_area:{// 设置多边形区域
int ret = 0;
/* int ret = 0;
uint32_t Area_ID; // 区域ID
uint16_t Area_att; // 区域属性
uint16_t Area_Points_Num; // 区域内点的数量
@ -150,13 +150,15 @@ static int jt808_BodyParse(void *Prsmsg_body, PrsResult_t *Result){
}else{
Result->Rsp_result = Msg_invalid;
}
*/
Result->Rsp_flow_num = Result->msg_head.msg_flow_num;
Result->Rsp_msg_id = Result->msg_head.msg_id;
jt808_pkg_send(ID_Term_GenResp, 0);// 发送终端通用应答
break;
}
case ID_Delete_Polygon_area:{// 删除多边形区域
int ret = 0;
/* int ret = 0;
uint8_t Area_ID_Num = ((uint8_t *)Prsmsg_body)[0]; // 区域ID个数
Prsmsg_body = (void *)((uint8_t *)Prsmsg_body + 1); // 跳过1字节
Result->Rsp_result = Msg_ok;
@ -167,9 +169,11 @@ static int jt808_BodyParse(void *Prsmsg_body, PrsResult_t *Result){
break;
}
}
*/
Result->Rsp_flow_num = Result->msg_head.msg_flow_num;
Result->Rsp_msg_id = Result->msg_head.msg_id;
jt808_pkg_send(ID_Term_GenResp, 0);// 发送终端通用应答
break;
}
case ID_Data_Down:{// 数据下行透传

View File

@ -3,6 +3,7 @@
#include "jt808_msg_pkg.h"
#include "jt808_msg_parse.h"
#include "jt808_pkg_transmit.h"
#include "jt808_electronic_fence.h"
#include "cm_sys.h"
#include "cm_os.h"
#include "cm_fs.h"
@ -13,10 +14,121 @@
#include "local_tts.h"
#include "control_out.h"
#define LOCAL_FENCE_COUNT (sizeof(local_fences) / sizeof(LocalFenceConfig_t))
Term_Param_item_t jt808_term_param_item; // 终端参数项
osMutexId_t term_param_mutex = NULL; // 终端参数项互斥锁
osMutexId_t Polygon_fence_mutex = NULL; // 多边形围栏互斥锁
static const LocalFenceConfig_t local_fences[] = {
{ // 第一个围栏 (8边形禁停区)
.area_id = 1,
.area_att = 0x0001, // 禁停区围栏
.points_num = 8,
.points = (AreaPoint_t[]){ // 使用复合字面量
{.lat = 31338039, .lng = 121342339}, // 31.338039, 121.342339
{.lat = 31345049, .lng = 121357544}, // 31.345049, 121.357544
{.lat = 31342006, .lng = 121359044}, // 31.342006, 121.359044
{.lat = 31351253, .lng = 121378608}, // 31.351253, 121.378608
{.lat = 31347419, .lng = 121389395}, // 31.347419, 121.389395
{.lat = 31339808, .lng = 121373808}, // 31.339808, 121.373808
{.lat = 31333732, .lng = 121354182}, // 31.333732, 121.354182
{.lat = 31333178, .lng = 121345380} // 31.333178, 121.345380
}
},
{ // 第二个围栏 (4边形景区)
.area_id = 2,
.area_att = 0x0002, // 景区围栏
.points_num = 4,
.points = (AreaPoint_t[]){
{.lat = 31344904, .lng = 121366191}, // 31.344904, 121.366191
{.lat = 31345361, .lng = 121367180}, // 31.345361, 121.367180
{.lat = 31344801, .lng = 121367561}, // 31.344801, 121.367561
{.lat = 31344336, .lng = 121366509} // 31.344336, 121.366509
}
},
{ // 第三个围栏 (4边形禁停区)
.area_id = 3,
.area_att = 0x0002, // 禁停区围栏
.points_num = 4,
.points = (AreaPoint_t[]){
{.lat = 31339885, .lng = 121358303}, // 31.339885, 121.358303
{.lat = 31340580, .lng = 121359765}, // 31.340580, 121.359765
{.lat = 31340179, .lng = 121359985}, // 31.340179, 121.359985
{.lat = 31339484, .lng = 121358856} // 31.339484, 121.358856
}
}
};
// 打印已加载的围栏信息
void print_loaded_fences(void) {
osMutexAcquire(Polygon_fence_mutex, osWaitForever);
fence_Polygon_area_t *area = jt808_term_param_item.fence_polygon_area;
int count = 0;
if (area == NULL) {
JT808_DEBUG("No fence areas loaded\n");
osMutexRelease(Polygon_fence_mutex);
return;
}
JT808_DEBUG("Loaded fence areas:\n");
while (area != NULL) {
JT808_DEBUG("Area %d: ID=%u, Attr=0x%04X, Points=%d\n",
++count,
area->Area_ID,
area->Area_att,
area->Area_Points_Num);
for (int i = 0; i < area->Area_Points_Num; i++) {
uint32_t lat = Swap32(area->Area_Points[i].lat);
uint32_t lng = Swap32(area->Area_Points[i].lng);
JT808_DEBUG(" Point %d: Lat=%.6f(%u), Lng=%.6f(%u)\n",
i,
(double)lat / 1e6, lat,
(double)lng / 1e6, lng);
}
area = area->next;
}
osMutexRelease(Polygon_fence_mutex);
}
void load_local_fence_data(void) {
JT808_DEBUG("Loading local fence data...\n");
// 清除所有现有围栏
jt808_remove_fence_Polygon_area(0);
// 加载预置围栏
for (int i = 0; i < LOCAL_FENCE_COUNT; i++) {
const LocalFenceConfig_t *config = &local_fences[i];
// 跳过无效配置
if (config->points_num < 3) continue;
jt808_add_tail_fence_Polygon_area(
config->area_id,
config->area_att,
config->points_num,
config->points
);
JT808_DEBUG(" - Added fence ID %u: %s with %d points\n",
config->area_id,
(config->area_att == 0x0001) ? "Scenic" : "Forbidden",
config->points_num);
}
// 打印加载结果
print_loaded_fences();
}
// 控制车辆状态
void jt808_Set_CarStatus(uint8_t status){

View File

@ -24,6 +24,9 @@ typedef struct radar_data{
uint16_t distance;
} radar_data_t;
extern osMutexId_t radar_mutex; // 互斥锁
extern radar_data_t radar_data;
// 雷达测离初始化

View File

@ -127,6 +127,11 @@ void radar_CheckData(uint8_t *data, uint16_t data_len){
static void RADAR_TaskHandle(void *param){
uint8_t temp_count =0;
while(1){
if (1==sys_sta.P_Radar_EN)
{
if(radar_CMDSend_cnt != radar_CMDReceive_cnt){ // 发送命令和接收命令计数不一致时,复位自动刹车和减速状态
temp_count++;
if(temp_count > 10){ // 连续10次未收到数据复位自动刹车和减速状态
@ -147,8 +152,11 @@ static void RADAR_TaskHandle(void *param){
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
sys_sta.A_brake =0; // 清空自动刹车状态
}
}
osDelay(140/5); // 140ms
}
}
}
// 雷达测离初始化