|
@@ -13,6 +13,14 @@ MainWindow::MainWindow(QWidget *parent)
|
|
|
pilot_node = apollo::cyber::CreateNode("pilot_apollo_bridge_gui");
|
|
|
|
|
|
mcmd_writer_ = pilot_node->CreateWriter<iv::apollo::apolloctrlcmd>("apcmd");
|
|
|
+ mgps_writer_ = pilot_node->CreateWriter<iv::gps::gpsimu>("adc_gps");
|
|
|
+ mobj_writer_ = pilot_node->CreateWriter<iv::lidar::objectarray>("adc_obj");
|
|
|
+
|
|
|
+ ModuleFun fungpsimu =std::bind(&MainWindow::ListenGPSIMU,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
|
|
|
+ mpagps = iv::modulecomm::RegisterRecvPlus("hcp2_gpsimu",fungpsimu);
|
|
|
+
|
|
|
+ ModuleFun funlidartrack =std::bind(&MainWindow::ListenLiarTrack,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
|
|
|
+ mpaobj = iv::modulecomm::RegisterRecvPlus("lidar_track",funlidartrack);
|
|
|
|
|
|
mpthreadtest = new std::thread(&MainWindow::threadtest,this);
|
|
|
|
|
@@ -34,7 +42,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|
|
connect(&mProcStopMonitor,SIGNAL(readyReadStandardError()),this,SLOT(onReadStandardError()));
|
|
|
connect(&mProcStopMonitor,SIGNAL(finished(int)),this,SLOT(onProcessFinished(int)));
|
|
|
|
|
|
- setWindowTitle("Pilot Apollo Bridge");
|
|
|
+ setWindowTitle("Pilot Apollo Bridge GUI");
|
|
|
}
|
|
|
|
|
|
MainWindow::~MainWindow()
|
|
@@ -53,6 +61,12 @@ MainWindow::~MainWindow()
|
|
|
}
|
|
|
mbtestrun = false;
|
|
|
mpthreadtest->join();
|
|
|
+
|
|
|
+ iv::modulecomm::Unregister(mpaobj);
|
|
|
+ iv::modulecomm::Unregister(mpagps);
|
|
|
+
|
|
|
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
|
+
|
|
|
delete ui;
|
|
|
}
|
|
|
|
|
@@ -174,3 +188,32 @@ void MainWindow::onProcessFinished(int nStatus)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+void MainWindow::ListenGPSIMU(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+{
|
|
|
+// std::cout<<" listen gpsimu."<<std::endl;
|
|
|
+ (void)index;
|
|
|
+ (void)dt;
|
|
|
+ (void)strmemname;
|
|
|
+// iv::gps::gpsimu xgpsimu;
|
|
|
+ auto gpsimu_ptr = std::make_shared<iv::gps::gpsimu>();
|
|
|
+ if(!gpsimu_ptr->ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<"ListenRaw Parse error."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ mgps_writer_->Write(gpsimu_ptr);
|
|
|
+}
|
|
|
+
|
|
|
+void MainWindow::ListenLiarTrack(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname){
|
|
|
+// iv::lidar::objectarray xobjarray;
|
|
|
+
|
|
|
+// std::cout<<" recv lidar track."<<std::endl;
|
|
|
+ auto obj_ptr = std::make_shared<iv::lidar::objectarray>();
|
|
|
+ if(!obj_ptr->ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<" Parse Object Array Fail."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ mobj_writer_->Write(obj_ptr);
|
|
|
+}
|