Переглянути джерело

change decition_brain_sf. add groupgrpc.

HAPO 3 роки тому
батько
коміт
04da6c6cc7

+ 20 - 0
src/decition/decition_brain_sf/decition/brain.cpp

@@ -134,6 +134,10 @@ iv::decition::BrainDecition::BrainDecition()
     ModuleFun funchassis =std::bind(&iv::decition::BrainDecition::UpdateChassis,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
     void * pa = iv::modulecomm::RegisterRecvPlus(gstrmemchassis.data(),funchassis);
 
+
+    ModuleFun fungroupgrpc =std::bind(&iv::decition::BrainDecition::UpdateGRPCGroupMsg,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
+    mapgrpcgroup = iv::modulecomm::RegisterRecvPlus("groupmsg",fungroupgrpc);
+
     mpaPlanTrace = iv::modulecomm::RegisterSend("plantrace",100000,1);
     mpaObsTraceLeft = iv::modulecomm::RegisterSend("obstraceleft",100000,1);
     mpaObsTraceRight = iv::modulecomm::RegisterSend("obstraceright",100000,1);
@@ -1339,6 +1343,22 @@ void iv::decition::BrainDecition::UpdatePlatform(const char *pdata, const int nd
 
 }
 
+void iv::decition::BrainDecition::UpdateGRPCGroupMsg(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname)
+{
+    iv::group::groupinfo xgroupinfo;
+    if(!xgroupinfo.ParseFromArray(strdata,nSize))
+    {
+        std::cout<<"iv::decition::BrainDecition::UpdateGRPCGroupMsg parse fail."<<std::endl;
+        return;
+    }
+
+    mMutexGroupgrpc.lock();
+    mnGroupgrpcUpdateTime = QDateTime::currentMSecsSinceEpoch();
+    mgroupgrpcInfo.CopyFrom(xgroupinfo);
+    mMutexGroupgrpc.unlock();
+
+}
+
 void iv::decition::BrainDecition::UpdateChassis(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname)
 {
     iv::chassis xchassis;

+ 8 - 0
src/decition/decition_brain_sf/decition/brain.h

@@ -45,6 +45,8 @@
 #include "ivlog.h"
 #include "formation_map.pb.h"
 #include "vbox.pb.h"
+#include "carstate.pb.h"
+#include "groupmsg.pb.h"
 
 #include "fanyaapi.h"
 
@@ -175,6 +177,12 @@ namespace iv {
 //            Adcivstatedb * mpasd;
             void UpdateChassis(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
             void adjuseGpsLidarPosition();
+            void UpdateGRPCGroupMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname);
+
+            iv::group::groupinfo mgroupgrpcInfo;
+            qint64 mnGroupgrpcUpdateTime = 0;
+            QMutex mMutexGroupgrpc;
+            void * mapgrpcgroup;
 
             fanyaapi mmpcapi;
 

+ 5 - 1
src/decition/decition_brain_sf/decition_brain_sf.pro

@@ -32,6 +32,8 @@ SOURCES += $$PWD/../common/main.cpp \
     ../../include/msgtype/formation_map.pb.cc \
     ../../include/msgtype/fusionobjectarray.pb.cc \
     ../../include/msgtype/fusionobject.pb.cc \
+    ../../include/msgtype/carstate.pb.cc \
+    ../../include/msgtype/groupmsg.pb.cc
 
 
 include($$PWD/../common/common/common.pri)
@@ -93,6 +95,8 @@ HEADERS += \
     ../common/perception_sf/sensor_gps.h \
     ../common/perception_sf/sensor_lidar.h \
     ../common/perception_sf/sensor_radar.h \
-    ../common/common/sysparam_type.h
+    ../common/common/sysparam_type.h \
+    ../../include/msgtype/carstate.pb.h \
+    ../../include/msgtype/groupmsg.pb.h