修复雷达蜂鸣器无法关闭问题,添加雷达开关功能,添加状态查询功能 zsxfly20240913
This commit is contained in:
parent
0553d9712a
commit
140696f581
|
|
@ -243,13 +243,19 @@ void radar_AUTO_BrakeORSpeedCut(uint8_t radar_id , uint16_t Car_Distance){ //距
|
||||||
|
|
||||||
uint8_t radar_flag_cnt=0;
|
uint8_t radar_flag_cnt=0;
|
||||||
|
|
||||||
|
static uint8_t new_state_cnt=3;//标记状态是否变化
|
||||||
|
|
||||||
|
// 雷达开关 //0:关 1:开
|
||||||
|
bool radar_ONOFF =1;
|
||||||
|
|
||||||
|
|
||||||
// 定时处理数和获取数据
|
// 定时处理数和获取数据
|
||||||
static tmr_tk_t radar_timer_handler(tmr_id_t id){
|
static tmr_tk_t radar_timer_handler(tmr_id_t id){
|
||||||
(void)(id);
|
(void)(id);
|
||||||
|
|
||||||
if(Get_Status(OUT_Door_lock)){
|
if(Get_Status(OUT_Door_lock)){
|
||||||
// 定时发送状态信息
|
// 定时发送状态信息
|
||||||
if(radar_flag_cnt > 4){
|
if(radar_flag_cnt > 8){
|
||||||
uint8_t ret_data[20]={0,0};
|
uint8_t ret_data[20]={0,0};
|
||||||
radar_flag_cnt =0;
|
radar_flag_cnt =0;
|
||||||
ret_data[radar_flag_cnt++] =BAT_Message.Bat_STA; // 电池状态
|
ret_data[radar_flag_cnt++] =BAT_Message.Bat_STA; // 电池状态
|
||||||
|
|
@ -270,7 +276,7 @@ static tmr_tk_t radar_timer_handler(tmr_id_t id){
|
||||||
| ((PAD_User_Mode)<<5) | ((SYS_AUTO_Speed_Cut)<<6) | ((SYS_AUTO_brake)<<7);
|
| ((PAD_User_Mode)<<5) | ((SYS_AUTO_Speed_Cut)<<6) | ((SYS_AUTO_brake)<<7);
|
||||||
app_uart_Sendcmd(UART1_PORT,0x10,0x01,ret_data,radar_flag_cnt);
|
app_uart_Sendcmd(UART1_PORT,0x10,0x01,ret_data,radar_flag_cnt);
|
||||||
radar_flag_cnt =0;
|
radar_flag_cnt =0;
|
||||||
goto radar_end;
|
return _MS(250);//300ms
|
||||||
}else {
|
}else {
|
||||||
radar_flag_cnt++;
|
radar_flag_cnt++;
|
||||||
}
|
}
|
||||||
|
|
@ -283,27 +289,24 @@ static tmr_tk_t radar_timer_handler(tmr_id_t id){
|
||||||
radar_CMDSend_cnt =0; // 清空发送命令计数
|
radar_CMDSend_cnt =0; // 清空发送命令计数
|
||||||
DEBUG("ID =%d,distance =%d", radar_data.radar_id ,radar_data.distance);
|
DEBUG("ID =%d,distance =%d", radar_data.radar_id ,radar_data.distance);
|
||||||
}
|
}
|
||||||
if((radar_CMDSend_cnt !=0)){
|
if((radar_CMDSend_cnt !=0)||(1 ==new_state_cnt)){//
|
||||||
DEBUG("Clear:CMD_cnt =%d", radar_CMDSend_cnt);
|
DEBUG("Clear:CMD_cnt =%d", radar_CMDSend_cnt);
|
||||||
radar_CMDSend_cnt =0; // 清空发送命令计数
|
radar_CMDSend_cnt =0; // 清空发送命令计数
|
||||||
radar_AUTO_BrakeORSpeedCut(radar_data.radar_id , 0);//复位自动刹车和减速状态
|
radar_AUTO_BrakeORSpeedCut(radar_data.radar_id , 0);//复位自动刹车和减速状态
|
||||||
}
|
}
|
||||||
|
if(new_state_cnt > 0){
|
||||||
|
new_state_cnt--;
|
||||||
|
}
|
||||||
// 进入游客模式开启雷达 //管理员模式优先于游客模式
|
// 进入游客模式开启雷达 //管理员模式优先于游客模式
|
||||||
if(Get_Status(OUT_Door_lock) && !(PAD_Manager_Mode || Get_Status(IN_Manager_Mode))){
|
if(Get_Status(OUT_Door_lock) && !(PAD_Manager_Mode || Get_Status(IN_Manager_Mode)) && (1 == radar_ONOFF)){
|
||||||
// 根据倒车状态确定雷达ID
|
// 根据倒车状态确定雷达ID
|
||||||
DEBUG("SendCMD:ID=%#02x", (1 == Get_Status(IN_Back)) ? RADAR_ID_Back : RADAR_ID_Front);
|
DEBUG("SendCMD:ID=%#02x", (1 == Get_Status(IN_Back)) ? RADAR_ID_Back : RADAR_ID_Front);
|
||||||
app_radar_Sendcmd((1 == Get_Status(IN_Back)) ? RADAR_ID_Back : RADAR_ID_Front,RADAR_MODE_Real);
|
app_radar_Sendcmd((1 == Get_Status(IN_Back)) ? RADAR_ID_Back : RADAR_ID_Front ,RADAR_MODE_Real);
|
||||||
|
new_state_cnt =3;
|
||||||
radar_CMDSend_cnt++;
|
radar_CMDSend_cnt++;
|
||||||
// //____________
|
|
||||||
// radar_NewData_flag =1;
|
|
||||||
// radar_data.radar_id = RADAR_ID_Front;
|
|
||||||
// radar_data.distance =1000;
|
|
||||||
// radar_AUTO_BrakeORSpeedCut(radar_data.radar_id ,radar_data.distance);
|
|
||||||
// //——————————————————————————————
|
|
||||||
}
|
}
|
||||||
radar_end:
|
|
||||||
return _MS(250);//300ms
|
return _MS(150);//300ms
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t radar_buff[9];
|
static uint8_t radar_buff[9];
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,9 @@ extern radar_daraframe_t radar_daraframe;
|
||||||
extern uint8_t radar_buff[];
|
extern uint8_t radar_buff[];
|
||||||
extern uint8_t Rec_lenght;
|
extern uint8_t Rec_lenght;
|
||||||
|
|
||||||
|
// 雷达开关 //0:关 1:开
|
||||||
|
extern bool radar_ONOFF;
|
||||||
|
|
||||||
// 雷达测离初始化
|
// 雷达测离初始化
|
||||||
void app_radar_init(void);
|
void app_radar_init(void);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -91,10 +91,29 @@ static void app_uart1_hande(void){
|
||||||
}
|
}
|
||||||
app_uart_Sendcmd(UART1_PORT,uart1_daraframe.cmd_id,0x01,uart1_daraframe.data,uart1_daraframe.length);
|
app_uart_Sendcmd(UART1_PORT,uart1_daraframe.cmd_id,0x01,uart1_daraframe.data,uart1_daraframe.length);
|
||||||
break;
|
break;
|
||||||
// case 0x04:
|
case 0x04:
|
||||||
|
ret_data[length++] =BAT_Message.Bat_STA; // 电池状态
|
||||||
// break;
|
ret_data[length++] =BAT_Message.Bat_Voltage >> 8; //电池电压
|
||||||
|
ret_data[length++] =BAT_Message.Bat_Voltage & 0xff;
|
||||||
|
ret_data[length++] =get_in_acc_percent();// 当前油门百分比
|
||||||
|
ret_data[length++] =radar_daraframe.Front_data /100;// 前雷达距离信息
|
||||||
|
ret_data[length++] =radar_daraframe.Back_data/100;// 后雷达距离信息
|
||||||
|
// 读取系统配置
|
||||||
|
ret_data[length++]=sys_conf_info.M_mode_sLim;
|
||||||
|
ret_data[length++]=sys_conf_info.U_mode_sLim;
|
||||||
|
ret_data[length++]=sys_conf_info.AUTO_Brake_Distance;
|
||||||
|
ret_data[length++]=sys_conf_info.AUTO_Speed_Cut_Distance;
|
||||||
|
ret_data[length++]=sys_conf_info.AUTO_Brake_Distance_B;
|
||||||
|
ret_data[length++]=sys_conf_info.AUTO_Speed_Cut_Distance_B;
|
||||||
|
ret_data[length++] =(Get_Status(IN_GPS)<<0) | (Get_Status(IN_Back)<<1) | (Get_Status(OUT_Low_brake)<<2)
|
||||||
|
| (Get_Status(IN_Manager_Mode)<<3) | ((PAD_Manager_Mode)<<4)
|
||||||
|
| ((PAD_User_Mode)<<5) | ((SYS_AUTO_Speed_Cut)<<6) | ((SYS_AUTO_brake)<<7);
|
||||||
|
app_uart_Sendcmd(UART1_PORT,0x4,0x01,ret_data,length);
|
||||||
|
break;
|
||||||
|
case 0x05: //0 关闭雷达//1 启用雷达
|
||||||
|
radar_ONOFF = 0 == uart1_daraframe.data[0] ? 0 : 1;
|
||||||
|
app_uart_Sendcmd(UART1_PORT,uart1_daraframe.cmd_id,0x01,uart1_daraframe.data,uart1_daraframe.length);
|
||||||
|
break;
|
||||||
default :
|
default :
|
||||||
app_uart_Sendcmd(UART1_PORT,uart1_daraframe.cmd_id,uart1_daraframe.reg_addr,uart1_daraframe.data,uart1_daraframe.length);
|
app_uart_Sendcmd(UART1_PORT,uart1_daraframe.cmd_id,uart1_daraframe.reg_addr,uart1_daraframe.data,uart1_daraframe.length);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue