|
@@ -10,6 +10,24 @@ extern std::string gstruploadInterval;
|
|
extern std::string gstrid;
|
|
extern std::string gstrid;
|
|
extern std::string gstrplateNumber;
|
|
extern std::string gstrplateNumber;
|
|
|
|
|
|
|
|
+namespace iv {
|
|
|
|
+struct msgunit
|
|
|
|
+{
|
|
|
|
+ char mstrmsgname[256];
|
|
|
|
+ int mnBufferSize = 10000;
|
|
|
|
+ int mnBufferCount = 1;
|
|
|
|
+ void * mpa;
|
|
|
|
+ std::shared_ptr<char> mpstrmsgdata;
|
|
|
|
+ int mndatasize = 0;
|
|
|
|
+ bool mbRefresh = false;
|
|
|
|
+ bool mbImportant = false;
|
|
|
|
+ int mnkeeptime = 100;
|
|
|
|
+};
|
|
|
|
+}
|
|
|
|
+extern iv::msgunit shmPicFront;
|
|
|
|
+extern iv::msgunit shmPicRear;
|
|
|
|
+extern iv::msgunit shmPicLeft;
|
|
|
|
+extern iv::msgunit shmPicRight;
|
|
|
|
|
|
using org::jeecg::defsDetails::grpc::Empty; ///< other message
|
|
using org::jeecg::defsDetails::grpc::Empty; ///< other message
|
|
using org::jeecg::defsDetails::grpc::GPSPoint;
|
|
using org::jeecg::defsDetails::grpc::GPSPoint;
|
|
@@ -28,6 +46,24 @@ DataExchangeClient::~DataExchangeClient(void)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void DataExchangeClient::CameraPicRecv()
|
|
|
|
+{
|
|
|
|
+ mpa = new iv::modulecommext::modulecommmsg<iv::vision::rawpic>();
|
|
|
|
+ ModuleExtFun funext = std::bind(&DataExchangeClient::ListenPicMsg,this,std::placeholders::_1);
|
|
|
|
+ mpa->RegisterRecvPlus(shmPicFront.mstrmsgname,funext);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void DataExchangeClient::ListenPicMsg(google::protobuf::Message &xmsg) // need a lock
|
|
|
|
+{
|
|
|
|
+ iv::vision::rawpic xdata;
|
|
|
|
+ xdata.CopyFrom(xmsg);
|
|
|
|
+ gMutex_ImageFront.lock();
|
|
|
|
+ cameraImageFront.clear();
|
|
|
|
+ cameraImageFront.append(xdata.picdata().data());
|
|
|
|
+ gMutex_ImageFront.unlock();
|
|
|
|
+// qDebug("fastrtps: %lld",xdata.time());
|
|
|
|
+}
|
|
|
|
+
|
|
std::string DataExchangeClient::uploadVehicleInfo(void)
|
|
std::string DataExchangeClient::uploadVehicleInfo(void)
|
|
{
|
|
{
|
|
|
|
|
|
@@ -48,7 +84,9 @@ std::string DataExchangeClient::uploadVehicleInfo(void)
|
|
request.set_pitch(pitch);
|
|
request.set_pitch(pitch);
|
|
request.set_roll(roll);
|
|
request.set_roll(roll);
|
|
request.set_heading(heading);
|
|
request.set_heading(heading);
|
|
|
|
+ gMutex_ImageFront.lock();
|
|
request.set_cameraimagefront(cameraImageFront.data(),cameraImageFront.size());
|
|
request.set_cameraimagefront(cameraImageFront.data(),cameraImageFront.size());
|
|
|
|
+ gMutex_ImageFront.unlock();
|
|
request.set_cameraimagerear(cameraImageRear.data(),cameraImageRear.size());
|
|
request.set_cameraimagerear(cameraImageRear.data(),cameraImageRear.size());
|
|
request.set_cameraimageleft(cameraImageLeft.data(),cameraImageLeft.size());
|
|
request.set_cameraimageleft(cameraImageLeft.data(),cameraImageLeft.size());
|
|
request.set_cameraimageright(cameraImageRight.data(),cameraImageRight.size());
|
|
request.set_cameraimageright(cameraImageRight.data(),cameraImageRight.size());
|