上传,下载功能完成
This commit is contained in:
@@ -354,24 +354,27 @@ void Chart::chartUpdate(void)
|
|||||||
|
|
||||||
//qDebug() << s->name() << pv;
|
//qDebug() << s->name() << pv;
|
||||||
|
|
||||||
float max = pv.at(0).y();
|
if(pv.size() > 0)
|
||||||
float min = pv.at(0).y();
|
{
|
||||||
|
float max = pv.at(0).y();
|
||||||
|
float min = pv.at(0).y();
|
||||||
|
|
||||||
foreach (QPointF p, pv) {
|
foreach (QPointF p, pv) {
|
||||||
|
|
||||||
if(max < p.y())
|
if(max < p.y())
|
||||||
{
|
{
|
||||||
max = p.y();
|
max = p.y();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(min > p.y())
|
||||||
|
{
|
||||||
|
min = p.y();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(min > p.y())
|
yMax.append(max);
|
||||||
{
|
yMin.append(min);
|
||||||
min = p.y();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
yMax.append(max);
|
|
||||||
yMin.append(min);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -565,6 +568,24 @@ bool Chart::addSeries(QString name = tr("new"),QColor color = QColor("#FFFFFF"),
|
|||||||
|
|
||||||
void Chart::setSerieData(QString name, QVariant data)
|
void Chart::setSerieData(QString name, QVariant data)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef unix
|
||||||
|
|
||||||
|
#else
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
|
#else
|
||||||
|
bool ok;
|
||||||
|
|
||||||
|
data.toDouble(&ok);
|
||||||
|
|
||||||
|
if(!ok)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
//timeseries++;
|
//timeseries++;
|
||||||
//qDebug() << timeseries << timeseries;
|
//qDebug() << timeseries << timeseries;
|
||||||
//出新了比以前更大或者更小的值,那么就设置一下量程
|
//出新了比以前更大或者更小的值,那么就设置一下量程
|
||||||
@@ -640,6 +661,26 @@ void Chart::setSerieData(QString name, QVariant data)
|
|||||||
|
|
||||||
void Chart::setSerieData(QString name,QVariant data,int colorindex = 3)
|
void Chart::setSerieData(QString name,QVariant data,int colorindex = 3)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef unix
|
||||||
|
|
||||||
|
#else
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
|
#else
|
||||||
|
bool ok;
|
||||||
|
|
||||||
|
data.toDouble(&ok);
|
||||||
|
|
||||||
|
if(!ok)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//timeseries++;
|
//timeseries++;
|
||||||
//qDebug() << timeseries << timeseries;
|
//qDebug() << timeseries << timeseries;
|
||||||
//出新了比以前更大或者更小的值,那么就设置一下量程
|
//出新了比以前更大或者更小的值,那么就设置一下量程
|
||||||
|
|||||||
+18
-11
@@ -239,6 +239,13 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
connect(dlink->mavlinknode,SIGNAL(updateDlink(float,uint64_t,uint64_t)),
|
connect(dlink->mavlinknode,SIGNAL(updateDlink(float,uint64_t,uint64_t)),
|
||||||
this,SLOT(updateDlink(float,uint64_t,uint64_t)));
|
this,SLOT(updateDlink(float,uint64_t,uint64_t)));
|
||||||
|
|
||||||
|
connect(dlink,SIGNAL(byteCount(int,int)),
|
||||||
|
this,SLOT(dlinkCount(int,int)));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//this ----- map
|
//this ----- map
|
||||||
connect(map,SIGNAL(TotalDistanceUpdate(double)),
|
connect(map,SIGNAL(TotalDistanceUpdate(double)),
|
||||||
this,SLOT(TotalDistance(double)));
|
this,SLOT(TotalDistance(double)));
|
||||||
@@ -846,15 +853,9 @@ void MainWindow::onTabIndexChanged(const int &index)//界面选择管理
|
|||||||
healthui->show();
|
healthui->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
//发生界面切换,检查一下航线
|
|
||||||
qDebug() << "zubie" << map->currentGroup << group;
|
|
||||||
if(map->currentGroup != group)
|
|
||||||
{
|
|
||||||
emit currentGroup(group + 2);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
//得到航线组数,数据为1,2,3,4
|
||||||
|
emit currentGroup(group + 2);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -960,10 +961,17 @@ void MainWindow::setCommunicationLostState(bool flag)
|
|||||||
void MainWindow::updateDlink(float rssi,uint64_t in,uint64_t out)
|
void MainWindow::updateDlink(float rssi,uint64_t in,uint64_t out)
|
||||||
{
|
{
|
||||||
statusui->setDlink(1,QString::number(rssi,'f',0),
|
statusui->setDlink(1,QString::number(rssi,'f',0),
|
||||||
tr("R:%1 / T:%2").arg(QString::number(in)).arg(QString::number(dlink->Byte_Out_per)));
|
tr("R:%1 / T:%2").arg(QString::number(in)).arg(QString::number(dlinkout)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MainWindow::dlinkCount(int in,int out)
|
||||||
|
{
|
||||||
|
dlinkout = out;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::setServoOffset(QVariant dirla, QVariant dirra, QVariant dirle, QVariant dirre, QVariant dirru,
|
void MainWindow::setServoOffset(QVariant dirla, QVariant dirra, QVariant dirle, QVariant dirre, QVariant dirru,
|
||||||
QVariant maxla, QVariant maxra, QVariant maxle, QVariant maxre, QVariant maxru,
|
QVariant maxla, QVariant maxra, QVariant maxle, QVariant maxre, QVariant maxru,
|
||||||
QVariant scalela, QVariant scalera, QVariant scalele, QVariant scalere, QVariant scaleru,
|
QVariant scalela, QVariant scalera, QVariant scalele, QVariant scalere, QVariant scaleru,
|
||||||
@@ -1598,7 +1606,7 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
|||||||
|
|
||||||
//get 9-10
|
//get 9-10
|
||||||
|
|
||||||
/*
|
|
||||||
//得到航线组数,数据为1,2,3,4
|
//得到航线组数,数据为1,2,3,4
|
||||||
group = (int)(getBit(enable,11) << 2) | (int)(getBit(enable,10) << 1) | (int)(getBit(enable,9));
|
group = (int)(getBit(enable,11) << 2) | (int)(getBit(enable,10) << 1) | (int)(getBit(enable,9));
|
||||||
|
|
||||||
@@ -1611,7 +1619,6 @@ void MainWindow::updateUI()//事件驱动式更新数据
|
|||||||
}
|
}
|
||||||
|
|
||||||
group_old = group;
|
group_old = group;
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,10 @@ private slots:
|
|||||||
|
|
||||||
void updateDlink(float rssi, uint64_t in, uint64_t out);
|
void updateDlink(float rssi, uint64_t in, uint64_t out);
|
||||||
|
|
||||||
|
|
||||||
|
void dlinkCount(int in,int out);
|
||||||
|
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
|
|
||||||
|
|
||||||
@@ -123,6 +127,8 @@ protected:
|
|||||||
|
|
||||||
int MainIndex = 0;
|
int MainIndex = 0;
|
||||||
|
|
||||||
|
int dlinkout = 0;
|
||||||
|
|
||||||
Config *config = nullptr;
|
Config *config = nullptr;
|
||||||
|
|
||||||
StatusUI *statusui = nullptr;
|
StatusUI *statusui = nullptr;
|
||||||
|
|||||||
+34
-34
@@ -493,12 +493,12 @@ void MavLinkNode::process()//线程函数
|
|||||||
{
|
{
|
||||||
//qDebug() << "client parse";
|
//qDebug() << "client parse";
|
||||||
Mavlinkparse(SourceType::c_sock,datagram);
|
Mavlinkparse(SourceType::c_sock,datagram);
|
||||||
QApplication::processEvents();
|
//QApplication::processEvents();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//QThread::msleep(1000/running_frq);
|
QThread::msleep(1000/running_frq);
|
||||||
QThread::yieldCurrentThread();
|
//QThread::yieldCurrentThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
//解码从串口来的
|
//解码从串口来的
|
||||||
@@ -509,12 +509,12 @@ void MavLinkNode::process()//线程函数
|
|||||||
{
|
{
|
||||||
//qDebug() << "serial port parse";
|
//qDebug() << "serial port parse";
|
||||||
Mavlinkparse(SourceType::s_port,datagram);
|
Mavlinkparse(SourceType::s_port,datagram);
|
||||||
QApplication::processEvents();
|
//QApplication::processEvents();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//QThread::msleep(1000/running_frq);
|
QThread::msleep(1000/running_frq);
|
||||||
QThread::yieldCurrentThread();//打开这个CPU占用50%
|
//QThread::yieldCurrentThread();//打开这个CPU占用50%
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isInterruptionRequested())//退出
|
if(isInterruptionRequested())//退出
|
||||||
@@ -557,7 +557,6 @@ void MavLinkNode::TimerOut(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
emit updateDlink(rssi,rate_in,0);
|
emit updateDlink(rssi,rate_in,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -808,6 +807,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
case MAVLINK_MSG_ID_SYS_STATUS: {
|
case MAVLINK_MSG_ID_SYS_STATUS: {
|
||||||
mavlink_msg_sys_status_decode(&msg,&vehicle.sys_status);
|
mavlink_msg_sys_status_decode(&msg,&vehicle.sys_status);
|
||||||
|
|
||||||
|
/*
|
||||||
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_present)); sys_status_csv.append(',');
|
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_present)); sys_status_csv.append(',');
|
||||||
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_enabled)); sys_status_csv.append(',');
|
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_enabled)); sys_status_csv.append(',');
|
||||||
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_health)); sys_status_csv.append(',');
|
sys_status_csv.append(QString::number(vehicle.sys_status.onboard_control_sensors_health)); sys_status_csv.append(',');
|
||||||
@@ -821,7 +821,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count2)); sys_status_csv.append(',');
|
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count2)); sys_status_csv.append(',');
|
||||||
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count3)); sys_status_csv.append(',');
|
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count3)); sys_status_csv.append(',');
|
||||||
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count4)); sys_status_csv.append('\n');
|
sys_status_csv.append(QString::number(vehicle.sys_status.errors_count4)); sys_status_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_HEARTBEAT: {
|
case MAVLINK_MSG_ID_HEARTBEAT: {
|
||||||
@@ -834,14 +834,14 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
Status->m_heartbeat.system_status = vehicle.heartbeat.system_status;
|
Status->m_heartbeat.system_status = vehicle.heartbeat.system_status;
|
||||||
Status->m_heartbeat.type = vehicle.heartbeat.type;
|
Status->m_heartbeat.type = vehicle.heartbeat.type;
|
||||||
|
|
||||||
|
/*
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.type)); heartbeat_csv.append(',');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.type)); heartbeat_csv.append(',');
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.autopilot)); heartbeat_csv.append(',');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.autopilot)); heartbeat_csv.append(',');
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.base_mode)); heartbeat_csv.append(',');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.base_mode)); heartbeat_csv.append(',');
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.custom_mode)); heartbeat_csv.append(',');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.custom_mode)); heartbeat_csv.append(',');
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.system_status)); heartbeat_csv.append(',');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.system_status)); heartbeat_csv.append(',');
|
||||||
heartbeat_csv.append(QString::number(vehicle.heartbeat.mavlink_version)); heartbeat_csv.append('\n');
|
heartbeat_csv.append(QString::number(vehicle.heartbeat.mavlink_version)); heartbeat_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
emit beep(msg.sysid);
|
emit beep(msg.sysid);
|
||||||
}break;
|
}break;
|
||||||
@@ -850,7 +850,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_ATTITUDE: {
|
case MAVLINK_MSG_ID_ATTITUDE: {
|
||||||
mavlink_msg_attitude_decode(&msg,&vehicle.attitude);
|
mavlink_msg_attitude_decode(&msg,&vehicle.attitude);
|
||||||
|
/*
|
||||||
attitude_csv.append(QString::number(vehicle.attitude.time_boot_ms)); attitude_csv.append(',');
|
attitude_csv.append(QString::number(vehicle.attitude.time_boot_ms)); attitude_csv.append(',');
|
||||||
attitude_csv.append(QString::number(vehicle.attitude.roll)); attitude_csv.append(',');
|
attitude_csv.append(QString::number(vehicle.attitude.roll)); attitude_csv.append(',');
|
||||||
attitude_csv.append(QString::number(vehicle.attitude.pitch)); attitude_csv.append(',');
|
attitude_csv.append(QString::number(vehicle.attitude.pitch)); attitude_csv.append(',');
|
||||||
@@ -858,12 +858,12 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
attitude_csv.append(QString::number(vehicle.attitude.rollspeed)); attitude_csv.append(',');
|
attitude_csv.append(QString::number(vehicle.attitude.rollspeed)); attitude_csv.append(',');
|
||||||
attitude_csv.append(QString::number(vehicle.attitude.pitchspeed)); attitude_csv.append(',');
|
attitude_csv.append(QString::number(vehicle.attitude.pitchspeed)); attitude_csv.append(',');
|
||||||
attitude_csv.append(QString::number(vehicle.attitude.yawspeed)); attitude_csv.append('\n');
|
attitude_csv.append(QString::number(vehicle.attitude.yawspeed)); attitude_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_INS1: {
|
case MAVLINK_MSG_ID_INS1: {
|
||||||
mavlink_msg_ins1_decode(&msg,&vehicle.ins1);
|
mavlink_msg_ins1_decode(&msg,&vehicle.ins1);
|
||||||
|
/*
|
||||||
ins1_csv.append(QString::number(vehicle.ins1.time_boot_ms)); ins1_csv.append(',');
|
ins1_csv.append(QString::number(vehicle.ins1.time_boot_ms)); ins1_csv.append(',');
|
||||||
ins1_csv.append(QString::number(vehicle.ins1.pitch)); ins1_csv.append(',');
|
ins1_csv.append(QString::number(vehicle.ins1.pitch)); ins1_csv.append(',');
|
||||||
ins1_csv.append(QString::number(vehicle.ins1.roll)); ins1_csv.append(',');
|
ins1_csv.append(QString::number(vehicle.ins1.roll)); ins1_csv.append(',');
|
||||||
@@ -889,13 +889,13 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
ins1_csv.append(QString::number(vehicle.ins1.eph)); ins1_csv.append(',');
|
ins1_csv.append(QString::number(vehicle.ins1.eph)); ins1_csv.append(',');
|
||||||
ins1_csv.append(QString::number(vehicle.ins1.epv)); ins1_csv.append(',');
|
ins1_csv.append(QString::number(vehicle.ins1.epv)); ins1_csv.append(',');
|
||||||
ins1_csv.append(QString::number(vehicle.ins1.satellites_visible)); ins1_csv.append('\n');
|
ins1_csv.append(QString::number(vehicle.ins1.satellites_visible)); ins1_csv.append('\n');
|
||||||
|
*/
|
||||||
emit signal_ins1(vehicle.ins1);
|
emit signal_ins1(vehicle.ins1);
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_INS2: {
|
case MAVLINK_MSG_ID_INS2: {
|
||||||
mavlink_msg_ins2_decode(&msg,&vehicle.ins2);
|
mavlink_msg_ins2_decode(&msg,&vehicle.ins2);
|
||||||
|
/*
|
||||||
ins2_csv.append(QString::number(vehicle.ins2.time_boot_ms)); ins2_csv.append(',');
|
ins2_csv.append(QString::number(vehicle.ins2.time_boot_ms)); ins2_csv.append(',');
|
||||||
ins2_csv.append(QString::number(vehicle.ins2.pitch)); ins2_csv.append(',');
|
ins2_csv.append(QString::number(vehicle.ins2.pitch)); ins2_csv.append(',');
|
||||||
ins2_csv.append(QString::number(vehicle.ins2.roll)); ins2_csv.append(',');
|
ins2_csv.append(QString::number(vehicle.ins2.roll)); ins2_csv.append(',');
|
||||||
@@ -921,13 +921,13 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
ins2_csv.append(QString::number(vehicle.ins2.eph)); ins2_csv.append(',');
|
ins2_csv.append(QString::number(vehicle.ins2.eph)); ins2_csv.append(',');
|
||||||
ins2_csv.append(QString::number(vehicle.ins2.epv)); ins2_csv.append(',');
|
ins2_csv.append(QString::number(vehicle.ins2.epv)); ins2_csv.append(',');
|
||||||
ins2_csv.append(QString::number(vehicle.ins2.satellites_visible)); ins2_csv.append('\n');
|
ins2_csv.append(QString::number(vehicle.ins2.satellites_visible)); ins2_csv.append('\n');
|
||||||
|
*/
|
||||||
emit signal_ins2(vehicle.ins2);
|
emit signal_ins2(vehicle.ins2);
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_GPS_RAW_INT: {
|
case MAVLINK_MSG_ID_GPS_RAW_INT: {
|
||||||
mavlink_msg_gps_raw_int_decode(&msg,&vehicle.gps_raw_int);
|
mavlink_msg_gps_raw_int_decode(&msg,&vehicle.gps_raw_int);
|
||||||
|
/*
|
||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.time_usec));gps_raw_int_csv.append(',');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.time_usec));gps_raw_int_csv.append(',');
|
||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.lat));gps_raw_int_csv.append(',');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.lat));gps_raw_int_csv.append(',');
|
||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.lon));gps_raw_int_csv.append(',');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.lon));gps_raw_int_csv.append(',');
|
||||||
@@ -945,7 +945,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.vel_acc));gps_raw_int_csv.append(',');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.vel_acc));gps_raw_int_csv.append(',');
|
||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.hdg_acc));gps_raw_int_csv.append(',');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.hdg_acc));gps_raw_int_csv.append(',');
|
||||||
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.yaw));gps_raw_int_csv.append('\n');
|
gps_raw_int_csv.append(QString::number(vehicle.gps_raw_int.yaw));gps_raw_int_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_GLOBAL_POSITION_INT: {
|
case MAVLINK_MSG_ID_GLOBAL_POSITION_INT: {
|
||||||
@@ -953,7 +953,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_SERVO_OUTPUT_RAW: {
|
case MAVLINK_MSG_ID_SERVO_OUTPUT_RAW: {
|
||||||
mavlink_msg_servo_output_raw_decode(&msg,&vehicle.servo_output_raw);
|
mavlink_msg_servo_output_raw_decode(&msg,&vehicle.servo_output_raw);
|
||||||
|
/*
|
||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.time_usec)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.time_usec)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.port)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.port)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo1_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo1_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
||||||
@@ -972,7 +972,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo14_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo14_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo15_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo15_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append(',');
|
||||||
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo16_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append('\n');
|
servo_output_raw_csv[vehicle.servo_output_raw.port].append(QString::number(vehicle.servo_output_raw.servo16_raw)); servo_output_raw_csv[vehicle.servo_output_raw.port].append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
emit signal_servo_output_raw(vehicle.servo_output_raw);
|
emit signal_servo_output_raw(vehicle.servo_output_raw);
|
||||||
|
|
||||||
@@ -983,7 +983,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT: {
|
case MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT: {
|
||||||
mavlink_msg_nav_controller_output_decode(&msg,&vehicle.nav_controller_output);
|
mavlink_msg_nav_controller_output_decode(&msg,&vehicle.nav_controller_output);
|
||||||
|
/*
|
||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_roll)); nav_controller_output_csv.append(',');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_roll)); nav_controller_output_csv.append(',');
|
||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_pitch)); nav_controller_output_csv.append(',');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_pitch)); nav_controller_output_csv.append(',');
|
||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_bearing)); nav_controller_output_csv.append(',');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.nav_bearing)); nav_controller_output_csv.append(',');
|
||||||
@@ -992,7 +992,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.alt_error)); nav_controller_output_csv.append(',');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.alt_error)); nav_controller_output_csv.append(',');
|
||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.aspd_error)); nav_controller_output_csv.append(',');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.aspd_error)); nav_controller_output_csv.append(',');
|
||||||
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.xtrack_error)); nav_controller_output_csv.append('\n');
|
nav_controller_output_csv.append(QString::number(vehicle.nav_controller_output.xtrack_error)); nav_controller_output_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_AIRSPEED_AUTOCAL: {
|
case MAVLINK_MSG_ID_AIRSPEED_AUTOCAL: {
|
||||||
@@ -1003,13 +1003,13 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_SCALED_PRESSURE: {
|
case MAVLINK_MSG_ID_SCALED_PRESSURE: {
|
||||||
mavlink_msg_scaled_pressure_decode(&msg,&vehicle.scaled_pressure);
|
mavlink_msg_scaled_pressure_decode(&msg,&vehicle.scaled_pressure);
|
||||||
|
/*
|
||||||
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.time_boot_ms)); scaled_pressure_csv.append(',');
|
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.time_boot_ms)); scaled_pressure_csv.append(',');
|
||||||
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.press_abs)); scaled_pressure_csv.append(',');
|
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.press_abs)); scaled_pressure_csv.append(',');
|
||||||
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.press_diff)); scaled_pressure_csv.append(',');
|
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.press_diff)); scaled_pressure_csv.append(',');
|
||||||
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.temperature)); scaled_pressure_csv.append(',');
|
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.temperature)); scaled_pressure_csv.append(',');
|
||||||
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.temperature_press_diff)); scaled_pressure_csv.append('\n');
|
scaled_pressure_csv.append(QString::number(vehicle.scaled_pressure.temperature_press_diff)); scaled_pressure_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_EXTENDED_SYS_STATE: {
|
case MAVLINK_MSG_ID_EXTENDED_SYS_STATE: {
|
||||||
@@ -1050,18 +1050,18 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_VFR_HUD: {
|
case MAVLINK_MSG_ID_VFR_HUD: {
|
||||||
mavlink_msg_vfr_hud_decode(&msg,&vehicle.vfr_hud);
|
mavlink_msg_vfr_hud_decode(&msg,&vehicle.vfr_hud);
|
||||||
|
/*
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.airspeed)); vfr_hud_csv.append(',');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.airspeed)); vfr_hud_csv.append(',');
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.groundspeed)); vfr_hud_csv.append(',');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.groundspeed)); vfr_hud_csv.append(',');
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.alt)); vfr_hud_csv.append(',');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.alt)); vfr_hud_csv.append(',');
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.climb)); vfr_hud_csv.append(',');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.climb)); vfr_hud_csv.append(',');
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.heading)); vfr_hud_csv.append(',');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.heading)); vfr_hud_csv.append(',');
|
||||||
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.throttle)); vfr_hud_csv.append('\n');
|
vfr_hud_csv.append(QString::number(vehicle.vfr_hud.throttle)); vfr_hud_csv.append('\n');
|
||||||
|
*/
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_EMB_ATMO_COM: {
|
case MAVLINK_MSG_ID_EMB_ATMO_COM: {
|
||||||
mavlink_msg_emb_atmo_com_decode(&msg,&vehicle.emb_atom_com);
|
mavlink_msg_emb_atmo_com_decode(&msg,&vehicle.emb_atom_com);
|
||||||
|
/*
|
||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.time_boot_ms)); emb_atom_com_csv.append(',');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.time_boot_ms)); emb_atom_com_csv.append(',');
|
||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.Airspeed)); emb_atom_com_csv.append(',');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.Airspeed)); emb_atom_com_csv.append(',');
|
||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.beta)); emb_atom_com_csv.append(',');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.beta)); emb_atom_com_csv.append(',');
|
||||||
@@ -1070,12 +1070,12 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.qbar)); emb_atom_com_csv.append(',');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.qbar)); emb_atom_com_csv.append(',');
|
||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.seq)); emb_atom_com_csv.append(',');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.seq)); emb_atom_com_csv.append(',');
|
||||||
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.mach)); emb_atom_com_csv.append('\n');
|
emb_atom_com_csv.append(QString::number(vehicle.emb_atom_com.mach)); emb_atom_com_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_TurbineState: {
|
case MAVLINK_MSG_ID_TurbineState: {
|
||||||
mavlink_msg_turbinestate_decode(&msg,&vehicle.turbinstate);
|
mavlink_msg_turbinestate_decode(&msg,&vehicle.turbinstate);
|
||||||
|
/*
|
||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.time_boot_ms)); turbinstate_csv.append(',');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.time_boot_ms)); turbinstate_csv.append(',');
|
||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.RPM_mea)); turbinstate_csv.append(',');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.RPM_mea)); turbinstate_csv.append(',');
|
||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.T5)); turbinstate_csv.append(',');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.T5)); turbinstate_csv.append(',');
|
||||||
@@ -1103,11 +1103,11 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.rev)); turbinstate_csv.append(',');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.rev)); turbinstate_csv.append(',');
|
||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.CFuelMode)); turbinstate_csv.append(',');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.CFuelMode)); turbinstate_csv.append(',');
|
||||||
turbinstate_csv.append(QString::number(vehicle.turbinstate.Cmd)); turbinstate_csv.append('\n');
|
turbinstate_csv.append(QString::number(vehicle.turbinstate.Cmd)); turbinstate_csv.append('\n');
|
||||||
|
*/
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_BMUState: {
|
case MAVLINK_MSG_ID_BMUState: {
|
||||||
mavlink_msg_bmustate_decode(&msg,&vehicle.bmustate);
|
mavlink_msg_bmustate_decode(&msg,&vehicle.bmustate);
|
||||||
|
/*
|
||||||
bmustate_csv.append(QString::number(vehicle.bmustate.time_boot_ms)); bmustate_csv.append(',');
|
bmustate_csv.append(QString::number(vehicle.bmustate.time_boot_ms)); bmustate_csv.append(',');
|
||||||
bmustate_csv.append(QString::number(vehicle.bmustate.BAT1_group_voltage_mv)); bmustate_csv.append(',');
|
bmustate_csv.append(QString::number(vehicle.bmustate.BAT1_group_voltage_mv)); bmustate_csv.append(',');
|
||||||
bmustate_csv.append(QString::number(vehicle.bmustate.BAT1_group_current_dA)); bmustate_csv.append(',');
|
bmustate_csv.append(QString::number(vehicle.bmustate.BAT1_group_current_dA)); bmustate_csv.append(',');
|
||||||
@@ -1129,11 +1129,11 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
bmustate_csv.append(QString::number(vehicle.bmustate.BAT2_STA1)); bmustate_csv.append(',');
|
bmustate_csv.append(QString::number(vehicle.bmustate.BAT2_STA1)); bmustate_csv.append(',');
|
||||||
bmustate_csv.append(QString::number(vehicle.bmustate.BAT2_STA2)); bmustate_csv.append(',');
|
bmustate_csv.append(QString::number(vehicle.bmustate.BAT2_STA2)); bmustate_csv.append(',');
|
||||||
bmustate_csv.append(QString::number(vehicle.bmustate.p500w_enabled)); bmustate_csv.append('\n');
|
bmustate_csv.append(QString::number(vehicle.bmustate.p500w_enabled)); bmustate_csv.append('\n');
|
||||||
|
*/
|
||||||
}break;
|
}break;
|
||||||
case MAVLINK_MSG_ID_CCMState: {
|
case MAVLINK_MSG_ID_CCMState: {
|
||||||
mavlink_msg_ccmstate_decode(&msg,&vehicle.ccmstate);
|
mavlink_msg_ccmstate_decode(&msg,&vehicle.ccmstate);
|
||||||
|
/*
|
||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.time_boot_ms)); ccmstate_csv.append(',');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.time_boot_ms)); ccmstate_csv.append(',');
|
||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.fuel_level)); ccmstate_csv.append(',');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.fuel_level)); ccmstate_csv.append(',');
|
||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.temp[0])); ccmstate_csv.append(',');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.temp[0])); ccmstate_csv.append(',');
|
||||||
@@ -1145,7 +1145,7 @@ void MavLinkNode::StatusParse(mavlink_message_t msg)
|
|||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.volts[2])); ccmstate_csv.append(',');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.volts[2])); ccmstate_csv.append(',');
|
||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.volts[3])); ccmstate_csv.append(',');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.volts[3])); ccmstate_csv.append(',');
|
||||||
ccmstate_csv.append(QString::number(vehicle.ccmstate.echo_seq)); ccmstate_csv.append('\n');
|
ccmstate_csv.append(QString::number(vehicle.ccmstate.echo_seq)); ccmstate_csv.append('\n');
|
||||||
|
*/
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,6 +57,10 @@ void DLink::timeout()
|
|||||||
|
|
||||||
Byte_Out_per = Byte_Out_ALL;
|
Byte_Out_per = Byte_Out_ALL;
|
||||||
Byte_Out_ALL = 0;
|
Byte_Out_ALL = 0;
|
||||||
|
|
||||||
|
|
||||||
|
emit byteCount(Byte_In_per,Byte_Out_per);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int DLink::SendMessageTo(quint8 ch, quint8 *msg, quint16 len)
|
int DLink::SendMessageTo(quint8 ch, quint8 *msg, quint16 len)
|
||||||
|
|||||||
@@ -59,6 +59,9 @@ public:
|
|||||||
quint32 Byte_In_ALL = 0;
|
quint32 Byte_In_ALL = 0;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
|
void byteCount(int in,int out);
|
||||||
|
|
||||||
void showMessage(const QString &message,int TimeOut = 0);
|
void showMessage(const QString &message,int TimeOut = 0);
|
||||||
|
|
||||||
void recieveMessage(quint32 src,QByteArray data);
|
void recieveMessage(quint32 src,QByteArray data);
|
||||||
|
|||||||
@@ -1190,7 +1190,6 @@ void OPMapWidget::WPSetVisibleAll(bool value)
|
|||||||
void OPMapWidget::WPDeleteAll()
|
void OPMapWidget::WPDeleteAll()
|
||||||
{
|
{
|
||||||
//删除一个组
|
//删除一个组
|
||||||
|
|
||||||
foreach(QGraphicsItem * i, map->childItems()) {
|
foreach(QGraphicsItem * i, map->childItems()) {
|
||||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||||
|
|
||||||
@@ -1272,9 +1271,10 @@ void OPMapWidget::ConnectWP(WayPointItem *item)
|
|||||||
connect(item, SIGNAL(WPProperty(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
|
connect(item, SIGNAL(WPProperty(float,float,float,float,int32_t,int32_t,float,uint16_t,uint16_t,uint16_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t,uint8_t)),
|
||||||
this, SLOT(find_PointNumber()),Qt::DirectConnection);
|
this, SLOT(find_PointNumber()),Qt::DirectConnection);
|
||||||
|
|
||||||
|
/*
|
||||||
connect(item, SIGNAL(WPFollowPrevious(bool,WayPointItem*)),
|
connect(item, SIGNAL(WPFollowPrevious(bool,WayPointItem*)),
|
||||||
this, SLOT(WPFollowPrevious(bool,WayPointItem*)),Qt::DirectConnection);
|
this, SLOT(WPFollowPrevious(bool,WayPointItem*)),Qt::DirectConnection);
|
||||||
|
*/
|
||||||
|
|
||||||
connect(item, SIGNAL(localPositionChanged(QPointF, WayPointItem *)),
|
connect(item, SIGNAL(localPositionChanged(QPointF, WayPointItem *)),
|
||||||
this, SLOT(WPLocalChanged(QPointF, WayPointItem *)), Qt::DirectConnection);
|
this, SLOT(WPLocalChanged(QPointF, WayPointItem *)), Qt::DirectConnection);
|
||||||
@@ -1518,7 +1518,6 @@ void OPMapWidget::WPSetCurrent(int seq)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1859,10 +1858,6 @@ void OPMapWidget::WPLoad(QString path)//带文件目录参数
|
|||||||
Item->emitWPProperty();
|
Item->emitWPProperty();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OPMapWidget::WPSave(QString path)//带文件目录参数
|
void OPMapWidget::WPSave(QString path)//带文件目录参数
|
||||||
@@ -1877,7 +1872,7 @@ void OPMapWidget::WPSave(QString path)//带文件目录参数
|
|||||||
QJsonObject rallyPoints;
|
QJsonObject rallyPoints;
|
||||||
|
|
||||||
|
|
||||||
//geoFence节点写入
|
//geoFence节点写入 (mission type == 1,2)
|
||||||
{
|
{
|
||||||
QJsonArray circles;
|
QJsonArray circles;
|
||||||
QJsonArray polygons;
|
QJsonArray polygons;
|
||||||
@@ -1887,7 +1882,7 @@ void OPMapWidget::WPSave(QString path)//带文件目录参数
|
|||||||
geoFence.insert("version",2);
|
geoFence.insert("version",2);
|
||||||
}
|
}
|
||||||
|
|
||||||
//mission节点写入
|
//mission节点写入 (mission type == 3...)
|
||||||
{
|
{
|
||||||
QJsonArray items;
|
QJsonArray items;
|
||||||
|
|
||||||
@@ -2068,34 +2063,70 @@ void OPMapWidget::WPUpload(void)
|
|||||||
//飞行界面收到的当前航点的消息
|
//飞行界面收到的当前航点的消息
|
||||||
void OPMapWidget::groupchanged(int value)
|
void OPMapWidget::groupchanged(int value)
|
||||||
{
|
{
|
||||||
|
currentMissionType = value;
|
||||||
//如果当前是在飞行界面,那么就下载,否则不动
|
//如果当前是在飞行界面,那么就下载,否则不动
|
||||||
|
|
||||||
if(isWPCreate == true)//编辑界面
|
if(isWPCreate == true)//编辑界面
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
else//飞行界面
|
else//飞行界面
|
||||||
{
|
{
|
||||||
/*
|
qDebug() << "show current group" << currentMissionType;
|
||||||
WPDeleteAll();
|
//将不是当前的全部变成灰色,当前的显示
|
||||||
|
|
||||||
int sysid = 0;
|
|
||||||
int compid = 0;
|
|
||||||
|
|
||||||
foreach(QGraphicsItem * i, map->childItems()) {
|
foreach(QGraphicsItem * i, map->childItems()) {
|
||||||
UAVItem *u = qgraphicsitem_cast<UAVItem *>(i);
|
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||||
if (u) {
|
if (w) {
|
||||||
if(u->Select() == true)
|
qDebug() << "missiontype" << w->MissionType();
|
||||||
|
if(w->MissionType() == currentMissionType)
|
||||||
{
|
{
|
||||||
sysid = u->SysID();
|
w->setisActive(true);
|
||||||
compid = u->CompID();
|
}
|
||||||
|
else
|
||||||
emit signal_WPDownload(sysid,compid,value);
|
{
|
||||||
|
w->setisActive(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
//将不是当前的先全部变成灰色,当前的显示
|
||||||
|
foreach(QGraphicsItem * i, map->childItems()) {
|
||||||
|
WayPointLine *l = qgraphicsitem_cast<WayPointLine *>(i);
|
||||||
|
if (l) {
|
||||||
|
|
||||||
|
WayPointItem *from = qgraphicsitem_cast<WayPointItem *>(l->WPLineFrom());
|
||||||
|
WayPointItem *to = qgraphicsitem_cast<WayPointItem *>(l->WPLineTo());
|
||||||
|
|
||||||
|
if((from)||(to))
|
||||||
|
{
|
||||||
|
if(from)
|
||||||
|
{
|
||||||
|
if(from->MissionType() == currentMissionType)
|
||||||
|
{
|
||||||
|
l->setisActive(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
l->setisActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(to)
|
||||||
|
{
|
||||||
|
if(from->MissionType() == currentMissionType)
|
||||||
|
{
|
||||||
|
l->setisActive(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
l->setisActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else//不知道这句对不对
|
||||||
|
{
|
||||||
|
l->setisActive(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2167,22 +2198,7 @@ void OPMapWidget::WPGroup(int value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//按照当前的组生成新的航点和航线
|
|
||||||
/*
|
|
||||||
WPDeleteAll();
|
|
||||||
|
|
||||||
QMap<int,WayPointItem *> group;
|
|
||||||
|
|
||||||
group = waypointgroups.value(currentGroup);
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2222,12 +2238,14 @@ void OPMapWidget::receivedPoint(float param1,float param2,float param3,float par
|
|||||||
|
|
||||||
|
|
||||||
//emit showMessage(tr("recieve way point %1").arg(seq + 1));
|
//emit showMessage(tr("recieve way point %1").arg(seq + 1));
|
||||||
emit showMessage(tr("收到航点 %1").arg(seq + 1));
|
emit showMessage(tr("recieve way point group:%1 seq:%2").arg(mission_type).arg(seq + 1));
|
||||||
|
|
||||||
|
|
||||||
//qDebug() << "receivers Point" << x * 10e-8 << y * 10e-8 << 10e-8;
|
//qDebug() << "receivers Point" << x * 10e-8 << y * 10e-8 << 10e-8;
|
||||||
|
|
||||||
bool isExist = false;
|
bool isExist = false;
|
||||||
|
|
||||||
|
|
||||||
foreach(QGraphicsItem * i, map->childItems()) {
|
foreach(QGraphicsItem * i, map->childItems()) {
|
||||||
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
WayPointItem *w = qgraphicsitem_cast<WayPointItem *>(i);
|
||||||
if (w) {
|
if (w) {
|
||||||
@@ -2269,26 +2287,24 @@ void OPMapWidget::receivedPoint(float param1,float param2,float param3,float par
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!isExist)
|
if(!isExist)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
internals::PointLatLng LatLng;
|
internals::PointLatLng LatLng;
|
||||||
|
|
||||||
LatLng.SetLat(x * 10e-8);
|
LatLng.SetLat(x * 10e-8);
|
||||||
LatLng.SetLng(y * 10e-8);
|
LatLng.SetLng(y * 10e-8);
|
||||||
|
|
||||||
//设置好当前的航线
|
//获取当前组下面的seq最大值
|
||||||
currentGroup = mission_type;
|
WayPointItem *Item = new WayPointItem(LatLng, z,seq+1,mission_type, map);
|
||||||
|
|
||||||
|
ConnectWP(Item);
|
||||||
|
Item->setParentItem(map);
|
||||||
|
Item->SetMissionType(mission_type);
|
||||||
|
int position = Item->Number();
|
||||||
|
emit WPCreated(position, Item);
|
||||||
|
setOverlayOpacity(overlayOpacity);
|
||||||
|
|
||||||
//生成的时候默认设定不对,导致下载时切换过去
|
|
||||||
WayPointItem *Item = WPCreate(LatLng,z);
|
|
||||||
|
|
||||||
Item->SetNumber(seq+1);
|
|
||||||
|
|
||||||
qDebug() << "waypoint not exist:" << Item->Number() << seq+1 <<currentGroup << mission_type;
|
|
||||||
|
|
||||||
emit setWPProperty(param1,param2,param3,param4,
|
emit setWPProperty(param1,param2,param3,param4,
|
||||||
x,y,z,
|
x,y,z,
|
||||||
@@ -2305,23 +2321,17 @@ void OPMapWidget::receivedPoint(float param1,float param2,float param3,float par
|
|||||||
|
|
||||||
Item->emitWPProperty();
|
Item->emitWPProperty();
|
||||||
|
|
||||||
|
qDebug() << "waypoint not exist:" << Item->Number() << seq+1 <<currentGroup << mission_type;
|
||||||
|
|
||||||
//===========连线
|
//===========连线
|
||||||
/*
|
|
||||||
WayPointItem *w_last = WPFind(mission_type,Item->Number() - 1);
|
|
||||||
if(w_last)
|
|
||||||
{
|
|
||||||
WPLineCreate(w_last,Item,Qt::green,false,2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
WayPointItem *w_next = WPFind(group,Item->Number() + 1);
|
WayPointItem *w_last = WPFind(Item->MissionType(),Item->Number() - 1);
|
||||||
if(w_next)
|
|
||||||
{
|
|
||||||
WPLineCreate(item,w_next,Qt::green,false,2);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
if(w_last)
|
||||||
|
{
|
||||||
|
WPLineCreate(w_last,Item,Qt::green,false,2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug() << "Exist" << isExist;
|
qDebug() << "Exist" << isExist;
|
||||||
|
|||||||
@@ -687,7 +687,7 @@ void WayPointItem::setWPProperty(float param1,float param2,float param3,float pa
|
|||||||
uint8_t autocontinue,
|
uint8_t autocontinue,
|
||||||
uint8_t mission_type)
|
uint8_t mission_type)
|
||||||
{
|
{
|
||||||
if(seq == property.seq)
|
if((seq == property.seq)&&(property.mission_type == mission_type))
|
||||||
{
|
{
|
||||||
qDebug() << seq << "set property";
|
qDebug() << seq << "set property";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user