Browse Source

增加最小距离值,未成功

uav-1-target
zbr 3 years ago
parent
commit
6172ab36fc
  1. 15
      BSP/insifhtica_QOAR1271.c
  2. 20
      MDK-ARM/proximity_uavcan_converter.uvguix.zengb

15
BSP/insifhtica_QOAR1271.c

@ -24,11 +24,13 @@ struct mr72_c{ @@ -24,11 +24,13 @@ struct mr72_c{
uint8_t rollcount;
uint8_t rcs;
}mr72_c_data;
struct effective_distance
typedef struct effective_distance
{
uint16_t dist_cm;
uint32_t time_ms;
}eff_distance;
};
struct effective_distance eff_distance;
struct effective_distance min_distance;
uint16_t range_arr[8];
float last_range;
@ -210,7 +212,13 @@ void data_process(void){ @@ -210,7 +212,13 @@ void data_process(void){
proximity_t data;
if (HAL_GetTick() - eff_distance.time_ms < 500)
{
data.d0 = eff_distance.dist_cm;
if(min_distance.dist_cm < 10){ // 如果最小值是0,则直接赋值
min_distance.dist_cm = eff_distance.dist_cm;
}else{
min_distance.dist_cm = min_distance.dist_cm < eff_distance.dist_cm?min_distance.dist_cm : eff_distance.dist_cm;
}
data.d0 = min_distance.dist_cm;
}else{
data.d0 = 3900;
}
@ -223,6 +231,7 @@ void data_process(void){ @@ -223,6 +231,7 @@ void data_process(void){
data.d315 = 4500;
myOsMessageQueuePut(proximity1_queueHandle, &data, 0, 10);
uavcan_data_tick = HAL_GetTick();
min_distance.dist_cm = 3800;
}
}

20
MDK-ARM/proximity_uavcan_converter.uvguix.zengb

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save