|
@@ -40,9 +40,24 @@ using org::jeecg::defsDetails::grpc::CtrlMode;
|
|
|
|
|
|
DataExchangeClient * gDataExchangeClient;
|
|
|
|
|
|
-void ListenData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+void ListenFrontData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
{
|
|
|
- gDataExchangeClient->ListenPicMsg(strdata,nSize);
|
|
|
+ gDataExchangeClient->ListenFrontPicMsg(strdata,nSize);
|
|
|
+}
|
|
|
+
|
|
|
+void ListenRearData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+{
|
|
|
+ gDataExchangeClient->ListenRearPicMsg(strdata,nSize);
|
|
|
+}
|
|
|
+
|
|
|
+void ListenLeftData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+{
|
|
|
+ gDataExchangeClient->ListenLeftPicMsg(strdata,nSize);
|
|
|
+}
|
|
|
+
|
|
|
+void ListenRightData(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
|
+{
|
|
|
+ gDataExchangeClient->ListenRightPicMsg(strdata,nSize);
|
|
|
}
|
|
|
|
|
|
DataExchangeClient::DataExchangeClient(std::shared_ptr<Channel> channel)
|
|
@@ -51,7 +66,10 @@ DataExchangeClient::DataExchangeClient(std::shared_ptr<Channel> channel)
|
|
|
|
|
|
stub_ = DataExchange::NewStub(channel);
|
|
|
|
|
|
- shmPicFront.mpa = iv::modulecomm::RegisterRecv(shmPicFront.mstrmsgname,ListenData);
|
|
|
+ shmPicFront.mpa = iv::modulecomm::RegisterRecv(shmPicFront.mstrmsgname,ListenFrontData);
|
|
|
+ shmPicRear.mpa = iv::modulecomm::RegisterRecv(shmPicRear.mstrmsgname,ListenRearData);
|
|
|
+ shmPicLeft.mpa = iv::modulecomm::RegisterRecv(shmPicLeft.mstrmsgname,ListenLeftData);
|
|
|
+ shmPicRight.mpa = iv::modulecomm::RegisterRecv(shmPicRight.mstrmsgname,ListenRightData);
|
|
|
}
|
|
|
|
|
|
DataExchangeClient::~DataExchangeClient(void)
|
|
@@ -59,7 +77,7 @@ DataExchangeClient::~DataExchangeClient(void)
|
|
|
|
|
|
}
|
|
|
|
|
|
-void DataExchangeClient::ListenPicMsg(const char * strdata,const unsigned int nSize) // need a lock
|
|
|
+void DataExchangeClient::ListenFrontPicMsg(const char * strdata,const unsigned int nSize) // need a lock
|
|
|
{
|
|
|
iv::vision::rawpic xdata;
|
|
|
if(!xdata.ParseFromArray(strdata,nSize))
|
|
@@ -70,10 +88,55 @@ void DataExchangeClient::ListenPicMsg(const char * strdata,const unsigned int nS
|
|
|
|
|
|
gMutex_ImageFront.lock();
|
|
|
cameraImageFront.clear();
|
|
|
- cameraImageFront.append(xdata.picdata().data(),xdata.picdata().size());
|
|
|
+ if(gShift_Status == 6)cameraImageFront.append(xdata.picdata().data(),xdata.picdata().size());
|
|
|
gMutex_ImageFront.unlock();
|
|
|
}
|
|
|
|
|
|
+void DataExchangeClient::ListenRearPicMsg(const char * strdata,const unsigned int nSize) // need a lock
|
|
|
+{
|
|
|
+ iv::vision::rawpic xdata;
|
|
|
+ if(!xdata.ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<" MainWindow::UpdateSlider parese error."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ gMutex_ImageRear.lock();
|
|
|
+ cameraImageRear.clear();
|
|
|
+ if(gShift_Status == 4)cameraImageRear.append(xdata.picdata().data(),xdata.picdata().size());
|
|
|
+ gMutex_ImageRear.unlock();
|
|
|
+}
|
|
|
+
|
|
|
+void DataExchangeClient::ListenLeftPicMsg(const char * strdata,const unsigned int nSize) // need a lock
|
|
|
+{
|
|
|
+ iv::vision::rawpic xdata;
|
|
|
+ if(!xdata.ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<" MainWindow::UpdateSlider parese error."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ gMutex_ImageLeft.lock();
|
|
|
+ cameraImageLeft.clear();
|
|
|
+ if(gShift_Status == 5)cameraImageLeft.append(xdata.picdata().data(),xdata.picdata().size());
|
|
|
+ gMutex_ImageLeft.unlock();
|
|
|
+}
|
|
|
+
|
|
|
+void DataExchangeClient::ListenRightPicMsg(const char * strdata,const unsigned int nSize) // need a lock
|
|
|
+{
|
|
|
+ iv::vision::rawpic xdata;
|
|
|
+ if(!xdata.ParseFromArray(strdata,nSize))
|
|
|
+ {
|
|
|
+ std::cout<<" MainWindow::UpdateSlider parese error."<<std::endl;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ gMutex_ImageRight.lock();
|
|
|
+ cameraImageRight.clear();
|
|
|
+ if(gShift_Status == 5)cameraImageRight.append(xdata.picdata().data(),xdata.picdata().size());
|
|
|
+ gMutex_ImageRight.unlock();
|
|
|
+}
|
|
|
+
|
|
|
std::string DataExchangeClient::uploadVehicleInfo(void)
|
|
|
{
|
|
|
|
|
@@ -97,9 +160,15 @@ std::string DataExchangeClient::uploadVehicleInfo(void)
|
|
|
gMutex_ImageFront.lock();
|
|
|
request.set_cameraimagefront(cameraImageFront.data(),cameraImageFront.size());
|
|
|
gMutex_ImageFront.unlock();
|
|
|
+ gMutex_ImageRear.lock();
|
|
|
request.set_cameraimagerear(cameraImageRear.data(),cameraImageRear.size());
|
|
|
+ gMutex_ImageRear.unlock();
|
|
|
+ gMutex_ImageLeft.lock();
|
|
|
request.set_cameraimageleft(cameraImageLeft.data(),cameraImageLeft.size());
|
|
|
+ gMutex_ImageLeft.unlock();
|
|
|
+ gMutex_ImageRight.lock();
|
|
|
request.set_cameraimageright(cameraImageRight.data(),cameraImageRight.size());
|
|
|
+ gMutex_ImageRight.unlock();
|
|
|
request.set_sensorstatusgpsimu(sensorStatusGPSIMU);
|
|
|
request.set_sensorstatuslidar(sensorStatusLidar);
|
|
|
request.set_sensorstatusradar(sensorStatusRadar);
|
|
@@ -249,7 +318,7 @@ void DataExchangeClient::updateData(void)
|
|
|
|
|
|
plateNumber = gstrplateNumber;
|
|
|
|
|
|
-// modeFeedback = CtrlMode::CMD_REMOTE; //mode Feedback
|
|
|
+ modeFeedback = CtrlMode::CMD_REMOTE; //mode Feedback
|
|
|
}
|
|
|
|
|
|
void DataExchangeClient::updatePath(std::string pathID, QVector<MapPoint> points)
|