雷达、景点播报功能测试完成,暂时关闭禁区锁车播报等功能,电子围栏删除、位置信息上报功能待完善。
This commit is contained in:
parent
712c1f5b41
commit
e439651823
|
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
#include "local_tts.h"
|
#include "local_tts.h"
|
||||||
#include "control_out.h"
|
#include "control_out.h"
|
||||||
|
#include "radar.h"
|
||||||
|
|
||||||
|
|
||||||
#define ADC_DAC_DEBUG_ENABLE 0
|
#define ADC_DAC_DEBUG_ENABLE 0
|
||||||
|
|
||||||
|
|
@ -294,11 +296,15 @@ void control_out_task(void *argument){
|
||||||
cm_gpio_set_level(OUT_Door_lock, 1); // 打开电门锁
|
cm_gpio_set_level(OUT_Door_lock, 1); // 打开电门锁
|
||||||
uint8_t acc_percent =0;
|
uint8_t acc_percent =0;
|
||||||
if((1 == sys_sta.MAG_MODE)&&(1 == sys_sta.PLT_MODE )){ // 游客模式
|
if((1 == sys_sta.MAG_MODE)&&(1 == sys_sta.PLT_MODE )){ // 游客模式
|
||||||
|
|
||||||
|
osMutexAcquire(radar_mutex, osWaitForever);
|
||||||
if(sys_sta.A_Speed_Cut){ // 自动减速
|
if(sys_sta.A_Speed_Cut){ // 自动减速
|
||||||
acc_percent = (in_acc_percent * SYS_CONF_SPEED_CUT_ACC) / 100.0;
|
acc_percent = (in_acc_percent * SYS_CONF_SPEED_CUT_ACC) / 100.0;
|
||||||
}else{
|
}else{
|
||||||
acc_percent = (in_acc_percent * SYS_CONF_TOURIST_ACC) / 100.0;
|
acc_percent = (in_acc_percent * SYS_CONF_TOURIST_ACC) / 100.0;
|
||||||
}
|
}
|
||||||
|
osMutexRelease(radar_mutex);
|
||||||
|
|
||||||
}else{ // 管理员模式
|
}else{ // 管理员模式
|
||||||
acc_percent = (in_acc_percent * SYS_CONF_MANAGER_ACC) / 100.0;
|
acc_percent = (in_acc_percent * SYS_CONF_MANAGER_ACC) / 100.0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -530,14 +530,14 @@ void jt808_LocReport_param_update(void){
|
||||||
delay_off_count++;
|
delay_off_count++;
|
||||||
if(delay_off_count >= jt808_term_param_item.set_term_param.Ban_Fence_Polygon_Delay_OFF){ // 30S
|
if(delay_off_count >= jt808_term_param_item.set_term_param.Ban_Fence_Polygon_Delay_OFF){ // 30S
|
||||||
delay_off_count = 0;
|
delay_off_count = 0;
|
||||||
sys_sta.O_door_lock = 0; // 锁车
|
// sys_sta.O_door_lock = 0; // 锁车
|
||||||
Rsp_locked_condition = 1; // 锁车状态
|
// Rsp_locked_condition = 1; // 锁车状态
|
||||||
local_tts_text_play("已锁车,请联系管理员解除禁止入内限制!",0,0);
|
// local_tts_text_play("已锁车,请联系管理员解除禁止入内限制!",0,0);
|
||||||
}
|
}
|
||||||
ban_Fence_Polygon_count++;
|
ban_Fence_Polygon_count++;
|
||||||
if(ban_Fence_Polygon_count >= 10){ // 7S
|
if(ban_Fence_Polygon_count >= 10){ // 7S
|
||||||
ban_Fence_Polygon_count = 0;
|
ban_Fence_Polygon_count = 0;
|
||||||
local_tts_text_play("您已进入禁区,请尽快离开!",0,0);
|
// local_tts_text_play("您已进入禁区,请尽快离开!",0,0);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
delay_off_count = 0;
|
delay_off_count = 0;
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,7 @@ static void radar_AUTO_BrakeORSpeedCut(uint8_t radar_id , uint16_t Car_Distance)
|
||||||
// 自动减速距离
|
// 自动减速距离
|
||||||
uint16_t Speed_Cut_Distance = ((radar_id == RADAR_ID_Back )? SYS_CONF_SPEED_CUT_LIMIT_B : SYS_CONF_SPEED_CUT_LIMIT);
|
uint16_t Speed_Cut_Distance = ((radar_id == RADAR_ID_Back )? SYS_CONF_SPEED_CUT_LIMIT_B : SYS_CONF_SPEED_CUT_LIMIT);
|
||||||
|
|
||||||
|
|
||||||
if((35 < Car_Distance) && Car_Distance < Brake_Distance){//小于自动刹车距离时
|
if((35 < Car_Distance) && Car_Distance < Brake_Distance){//小于自动刹车距离时
|
||||||
if(!sys_sta.A_brake){
|
if(!sys_sta.A_brake){
|
||||||
// local_tts_set(5, 15, CM_LOCAL_TTS_DIGIT_AUTO);
|
// local_tts_set(5, 15, CM_LOCAL_TTS_DIGIT_AUTO);
|
||||||
|
|
@ -84,6 +85,8 @@ static void radar_AUTO_BrakeORSpeedCut(uint8_t radar_id , uint16_t Car_Distance)
|
||||||
sys_sta.A_brake =0;
|
sys_sta.A_brake =0;
|
||||||
sys_sta.A_Speed_Cut=0;
|
sys_sta.A_Speed_Cut=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t radar_CMDSend_cnt=0; // 发送命令计数
|
static uint8_t radar_CMDSend_cnt=0; // 发送命令计数
|
||||||
|
|
@ -130,13 +133,19 @@ static void RADAR_TaskHandle(void *param){
|
||||||
uint16_t time_count =0;
|
uint16_t time_count =0;
|
||||||
while(1){
|
while(1){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(0==sys_sta.P_Radar_EN)
|
if(0==sys_sta.P_Radar_EN)
|
||||||
{
|
{
|
||||||
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
||||||
sys_sta.A_brake =0; // 清空自动刹车状态
|
sys_sta.A_brake =0; // 清空自动刹车状态
|
||||||
|
DEBUG("radar close\r\n"); // 任务开始
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEBUG("radar open\r\n"); // 任务开始
|
||||||
|
|
||||||
osMutexAcquire(radar_mutex, osWaitForever);
|
osMutexAcquire(radar_mutex, osWaitForever);
|
||||||
if (1==sys_sta.P_Radar_EN)
|
if (1==sys_sta.P_Radar_EN)
|
||||||
{
|
{
|
||||||
|
|
@ -151,16 +160,22 @@ static void RADAR_TaskHandle(void *param){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 进入游客模式开启雷达 //管理员模式优先于游客模式
|
// 进入游客模式开启雷达 //管理员模式优先于游客模式
|
||||||
if(((0 != sys_sta.O_door_lock) && ((1 == sys_sta.MAG_MODE)&&(1 == sys_sta.PLT_MODE ))) && (1 == sys_sta.P_Radar_EN)){
|
if(((0 != sys_sta.O_door_lock) && ((1 == sys_sta.MAG_MODE)&&(1 == sys_sta.PLT_MODE ))) && (1 == sys_sta.P_Radar_EN)){
|
||||||
// 根据倒车状态确定雷达ID
|
// 根据倒车状态确定雷达ID
|
||||||
// DEBUG("SendCMD:ID=%#02x", (0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front);
|
// DEBUG("SendCMD:ID=%#02x", (0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front);
|
||||||
radar_Sendcmd((0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front, RADAR_MODE_Real);
|
radar_Sendcmd((0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front, RADAR_MODE_Real);
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
||||||
sys_sta.A_brake =0; // 清空自动刹车状态
|
sys_sta.A_brake =0; // 清空自动刹车状态
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (2==sys_sta.P_Radar_EN)
|
else if (2==sys_sta.P_Radar_EN)
|
||||||
|
|
@ -169,14 +184,17 @@ static void RADAR_TaskHandle(void *param){
|
||||||
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
sys_sta.A_Speed_Cut =0; // 清空自动减速状态
|
||||||
sys_sta.A_brake =0; // 清空自动刹车状态
|
sys_sta.A_brake =0; // 清空自动刹车状态
|
||||||
|
|
||||||
if(time_count>=100)
|
if(time_count>=1000)
|
||||||
{
|
{
|
||||||
sys_sta.P_Radar_EN=1;
|
sys_sta.P_Radar_EN=1;
|
||||||
time_count=0;
|
time_count=0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
DEBUG("radar done\r\n"); // 任务结束
|
||||||
|
|
||||||
osMutexRelease(radar_mutex);
|
osMutexRelease(radar_mutex);
|
||||||
osDelay(140/5); // 140ms
|
osDelay(140/5); // 140ms
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue