|
|
|
@ -12,10 +12,8 @@
@@ -12,10 +12,8 @@
|
|
|
|
|
|
|
|
|
|
#define MY_USE_DEBUG 0 |
|
|
|
|
#if MY_USE_DEBUG |
|
|
|
|
#include <systemlib/err.h> |
|
|
|
|
# define Debug(fmt, args ...) warnx("%s():%d: " fmt "\n", \ |
|
|
|
|
__FUNCTION__, __LINE__, \
|
|
|
|
|
## args) |
|
|
|
|
|
|
|
|
|
# define Debug(fmt, args ...) gcs().send_text(MAV_SEVERITY_INFO, "-- " fmt " --", ## args) |
|
|
|
|
#else |
|
|
|
|
// # define Debug(fmt, args ...) gcs().send_text(MAV_SEVERITY_INFO,fmt, ## args)
|
|
|
|
|
# define Debug(fmt, args ...) |
|
|
|
@ -128,7 +126,7 @@ bool Flow_Measure::parse(uint8_t temp)
@@ -128,7 +126,7 @@ bool Flow_Measure::parse(uint8_t temp)
|
|
|
|
|
{ |
|
|
|
|
default: |
|
|
|
|
case DEVICE_ID: |
|
|
|
|
if(temp == FLOW_HEAD || 1){ |
|
|
|
|
if(temp == FLOW_HEAD || temp == 0x00){ |
|
|
|
|
read_len = 0; |
|
|
|
|
// radar_data.value.radar_arr[read_len] = temp;
|
|
|
|
|
radar_data.data[read_len] = temp; |
|
|
|
@ -172,19 +170,22 @@ bool Flow_Measure::parse(uint8_t temp)
@@ -172,19 +170,22 @@ bool Flow_Measure::parse(uint8_t temp)
|
|
|
|
|
break; |
|
|
|
|
case LENGTH: |
|
|
|
|
data_len = temp; |
|
|
|
|
if(data_len > 0x16){ |
|
|
|
|
data_len = 0x16; |
|
|
|
|
} |
|
|
|
|
// radar_data.value.radar_arr[read_len] = temp;
|
|
|
|
|
radar_data.data[read_len] = temp; |
|
|
|
|
read_len += 1; |
|
|
|
|
MBCRC16(temp); |
|
|
|
|
flow_state = DATA; |
|
|
|
|
Debug("LENGTH:0x%02x",temp); |
|
|
|
|
Debug("LENGTH:0x%02x,len:%02x\n",temp,data_len); |
|
|
|
|
// Debug("Data:\n\r");
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case DATA: |
|
|
|
|
// radar_data.value.radar_arr[read_len] = temp;
|
|
|
|
|
radar_data.data[read_len] = temp; |
|
|
|
|
// Debug("0x%02x ",temp);
|
|
|
|
|
Debug("0x%02x ",temp); |
|
|
|
|
MBCRC16(temp); |
|
|
|
|
read_len += 1; |
|
|
|
|
data_len--; |
|
|
|
@ -207,7 +208,7 @@ bool Flow_Measure::parse(uint8_t temp)
@@ -207,7 +208,7 @@ bool Flow_Measure::parse(uint8_t temp)
|
|
|
|
|
// read_len += 1;
|
|
|
|
|
// radar_data.value.crc_h = temp;
|
|
|
|
|
flow_state = DEVICE_ID; |
|
|
|
|
Debug("CRC2:0x%02x",temp); |
|
|
|
|
// Debug("CRC2:0x%02x",temp);
|
|
|
|
|
// Debug("CRC H:0x%02x , L:0x%02x",ucCRCLo,ucCRCHi);
|
|
|
|
|
// Debug("crc_h:0x%02x , l:0x%02x",radar_data.value.crc_h,radar_data.value.crc_l);
|
|
|
|
|
// for(int i = 0;i<read_len;i++){
|
|
|
|
@ -291,6 +292,7 @@ void Flow_Measure::send_cmd_to_radar(const uint8_t *data, uint16_t len)
@@ -291,6 +292,7 @@ void Flow_Measure::send_cmd_to_radar(const uint8_t *data, uint16_t len)
|
|
|
|
|
if (_uart == nullptr) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
Debug("---- tx len:%d,space:%d----",len,_uart->txspace()); |
|
|
|
|
if (_uart->txspace() > len) { |
|
|
|
|
_uart->write(data, len); |
|
|
|
|
} else { |
|
|
|
@ -474,7 +476,7 @@ void Flow_Measure::flow_auto_measure(bool start_sw,bool index_sw,int32_t alt,uin
@@ -474,7 +476,7 @@ void Flow_Measure::flow_auto_measure(bool start_sw,bool index_sw,int32_t alt,uin
|
|
|
|
|
repeat = 0; |
|
|
|
|
send_to_mavlink_cnt = 5; // 发送5次Mavlink消息
|
|
|
|
|
|
|
|
|
|
}else if(repeat++ > 2){ |
|
|
|
|
}else if(repeat++ > 4){ |
|
|
|
|
set_is_data_flag(true); |
|
|
|
|
send_cmd(GET_DATA); |
|
|
|
|
repeat = 0; |
|
|
|
|