|
@@ -12,21 +12,6 @@ MainWindow::MainWindow(QWidget *parent)
|
|
apollo::cyber::Init("pilot_apollo_bridge_gui");
|
|
apollo::cyber::Init("pilot_apollo_bridge_gui");
|
|
pilot_node = apollo::cyber::CreateNode("pilot_apollo_bridge_gui");
|
|
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");
|
|
|
|
- mcmd_reader_ = pilot_node->CreateReader<iv::apollo::apolloctrlcmd>("/adc/control",[this](const std::shared_ptr<iv::apollo::apolloctrlcmd>& cmd_ptr){
|
|
|
|
- this->onControl(cmd_ptr);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- mpactrl = iv::modulecomm::RegisterSend("apolloctrlcmd",10000,1);
|
|
|
|
-
|
|
|
|
mpthreadtest = new std::thread(&MainWindow::threadtest,this);
|
|
mpthreadtest = new std::thread(&MainWindow::threadtest,this);
|
|
|
|
|
|
ui->pushButton_StartApollo->setEnabled(true);
|
|
ui->pushButton_StartApollo->setEnabled(true);
|
|
@@ -67,9 +52,6 @@ MainWindow::~MainWindow()
|
|
mbtestrun = false;
|
|
mbtestrun = false;
|
|
mpthreadtest->join();
|
|
mpthreadtest->join();
|
|
|
|
|
|
- iv::modulecomm::Unregister(mpactrl);
|
|
|
|
- iv::modulecomm::Unregister(mpaobj);
|
|
|
|
- iv::modulecomm::Unregister(mpagps);
|
|
|
|
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
|
|
|
|
@@ -78,18 +60,8 @@ MainWindow::~MainWindow()
|
|
|
|
|
|
void MainWindow::threadtest()
|
|
void MainWindow::threadtest()
|
|
{
|
|
{
|
|
- double wheel = -430.0;
|
|
|
|
- while(mbtestrun && (apollo::cyber::OK())){
|
|
|
|
|
|
|
|
- auto cmd_ptr = std::make_shared<iv::apollo::apolloctrlcmd>();
|
|
|
|
- cmd_ptr->set_acceleration(0.0);
|
|
|
|
- cmd_ptr->set_brake(0.0);
|
|
|
|
-
|
|
|
|
- wheel = wheel+1.0;
|
|
|
|
- cmd_ptr->set_steering_target(wheel);
|
|
|
|
- if(wheel>=430.0)wheel = -430.0;
|
|
|
|
-
|
|
|
|
- mcmd_writer_->Write(cmd_ptr);
|
|
|
|
|
|
+ while(mbtestrun && (apollo::cyber::OK())){
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -195,46 +167,5 @@ 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;
|
|
|
|
- (void)index;
|
|
|
|
- (void)dt;
|
|
|
|
- (void)strmemname;
|
|
|
|
-
|
|
|
|
-// 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);
|
|
|
|
-}
|
|
|
|
|
|
|
|
-void MainWindow::onControl(const std::shared_ptr<iv::apollo::apolloctrlcmd> &xCmd)
|
|
|
|
-{
|
|
|
|
- int nbytesize = (int)xCmd->ByteSize();
|
|
|
|
- std::shared_ptr<char> pstr_ptr = std::shared_ptr<char>(new char[nbytesize]);
|
|
|
|
- if(!xCmd->SerializeToArray(pstr_ptr.get(),nbytesize))
|
|
|
|
- {
|
|
|
|
- std::cout<<" send ctrlcmd Serialize Fail. "<<std::endl;
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- iv::modulecomm::ModuleSendMsg(mpactrl,pstr_ptr.get(),nbytesize);
|
|
|
|
-}
|
|
|