Browse Source

add pythondecisiondemo for use python write decision,not complete.

yuchuli 4 months ago
parent
commit
b73f8f9f76

+ 5 - 0
include/common.pri

@@ -17,6 +17,11 @@ INCLUDEPATH += $$PWD/../include/
 LIBS += -L$$PWD/../bin/ -lxmlparam -lmodulecomm  -livlog -livfault -livexit -livbacktrace -livchart -livservice
 
 
+!exists(./../bin/libmodulecomm.so){
+message("No library file. Now create common library.")
+system(PWD=`pwd`; cd ..;bash autogen_lib.sh;cd $PWD)
+}
+
 #LIBS += -L$$PWD/../bin/ -lmodulecomm_shm -lmodulecomm_fastrtps -lmodulecomm_fastrtps_tcp -lmodulecomm_inter
 
 unix:LIBS += -lboost_system  -lbacktrace -ldl

+ 91 - 0
src/python/pythondecisiondemo/PyModuleCommModule.py

@@ -0,0 +1,91 @@
+
+import threading  
+import time  
+
+import modulecommpython
+import numpy as np  
+
+
+modulelock = threading.Lock()  
+nThread = 0
+  
+class PyModuleComm:  
+    def __init__(self,strname):  
+        # 初始化代码...  
+        print("name: ",strname)
+        self.strmemname = strname
+        self.mbRegister = False
+        global nThread
+        nThread = nThread+1
+        self.mnMode = 0
+        print("nThread = ",nThread)
+        self.obj = modulecommpython.get_ca_object()
+        pass  
+
+    def RegisterRecv(self,call):
+        if self.mbRegister:
+            print(" Have register, can't register other.")
+            return
+        print("Register: ",self.strmemname)
+        self.mpcall = call
+        self.mbRegister = True
+        self.mbRun = True
+        self.mpthread = threading.Thread(target=self.threadrecvdata, args=(self.strmemname,))  
+        self.mpthread.start()
+        print("complete create thread.")
+        self.mnMode = 1
+        self.obj.RegisterRecv(self.strmemname)
+
+    def RegiseterSend(self,nSize,nPacCount):
+        if self.mbRegister:
+            print(" Have register, can't register other.")
+            return
+        print("Register: ",self.strmemname)
+        self.mnsize = nSize
+        self.mnPacCount = nPacCount
+        self.mbRegister = True
+        self.mnMode = 2
+        self.obj.RegisterSend(self.strmemname,nSize,nPacCount)
+    
+    def SendData(self,arr,nsendsize):      
+        nrealsize = np.zeros(1, dtype=np.int32)  
+        nrtn = self.obj.SendData(arr,nsendsize,nrealsize)
+  
+    def threadrecvdata(self, arg):  
+        # 这个函数将被线程执行  
+ #       print(f"线程开始执行,参数是 {arg}")  
+        nBuffSize = 1000
+        arr = np.zeros(nBuffSize,dtype=np.int8)
+        recvtime = np.zeros(1,dtype=np.int64)
+        nrealsize = np.zeros(1,dtype=np.int32)
+        while 1:
+            nrtn = self.obj.RecvData(arr,nBuffSize,nrealsize,recvtime)
+            if nrtn > 0:
+                self.mpcall(arr,nrtn,recvtime)
+            else:
+                pass
+            if nrtn < 0:
+                nBuffSize = nrealsize[0] * 2
+                arr = np.zeros(nBuffSize,dtype=np.int8)
+            else:
+                time.sleep(0.001)
+            
+        print("threadrecvdata complete.")
+
+    def stop_thread(self):
+        self.mbRun = False
+        self.mpthread.join()
+  
+    def start_thread(self, arg):  
+        # 创建线程对象,target参数指向要在线程中运行的函数  
+        self.mbRun = True
+        self.mpthread = threading.Thread(target=self.my_function, args=(arg,))  
+          
+        # 启动线程  
+        self.mpthread.start()  
+          
+        # 可以在这里添加其他代码,主线程会继续执行  
+        print("主线程继续执行...")  
+  
+        # 如果需要等待线程结束,可以调用 join() 方法  
+        # thread.join()  

File diff suppressed because it is too large
+ 21 - 0
src/python/pythondecisiondemo/gpsimu_pb2.py


+ 377 - 0
src/python/pythondecisiondemo/mapdata_pb2.py

@@ -0,0 +1,377 @@
+# -*- coding: utf-8 -*-
+# Generated by the protocol buffer compiler.  DO NOT EDIT!
+# source: mapdata.proto
+
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+  name='mapdata.proto',
+  package='iv.map',
+  syntax='proto2',
+  serialized_options=None,
+  create_key=_descriptor._internal_create_key,
+  serialized_pb=b'\n\rmapdata.proto\x12\x06iv.map\"\xdd\x06\n\x08mappoint\x12\x12\n\x07gps_lat\x18\x01 \x01(\x01:\x01\x30\x12\x12\n\x07gps_lng\x18\x02 \x01(\x01:\x01\x30\x12\x10\n\x05gps_x\x18\x03 \x01(\x01:\x01\x30\x12\x10\n\x05gps_y\x18\x04 \x01(\x01:\x01\x30\x12\x10\n\x05gps_z\x18\x05 \x01(\x01:\x01\x30\x12\x1c\n\x11ins_heading_angle\x18\x06 \x01(\x01:\x01\x30\x12\x15\n\nspeed_mode\x18\x07 \x01(\x05:\x01\x30\x12\x10\n\x05mode2\x18\x08 \x01(\x05:\x01\x30\x12\x10\n\x05speed\x18\t \x01(\x01:\x01\x30\x12\x13\n\x08roadMode\x18\n \x01(\x05:\x01\x30\x12\x12\n\x07runMode\x18\x0b \x01(\x05:\x01\x30\x12\x12\n\x07roadSum\x18\x0c \x01(\x05:\x01\x31\x12\x12\n\x07roadOri\x18\r \x01(\x05:\x01\x30\x12\x18\n\x0bmfLaneWidth\x18\x0e \x01(\x01:\x03\x33.5\x12\x1c\n\x0fmfDisToLaneLeft\x18\x0f \x01(\x01:\x03\x31.8\x12\x1b\n\x10mnLaneChangeMark\x18\x10 \x01(\x05:\x01\x30\x12\x1c\n\x0fmfDisToRoadLeft\x18\x11 \x01(\x01:\x03\x31.8\x12\x18\n\x0bmfRoadWidth\x18\x12 \x01(\x01:\x03\x33.5\x12\x1b\n\rmbInLaneAvoid\x18\x13 \x01(\x08:\x04true\x12\x19\n\x11gps_lat_avoidleft\x18\x14 \x01(\x01\x12\x19\n\x11gps_lng_avoidleft\x18\x15 \x01(\x01\x12\x1a\n\x12gps_lat_avoidright\x18\x16 \x01(\x01\x12\x1a\n\x12gps_lng_avoidright\x18\x17 \x01(\x01\x12\x17\n\x0fgps_x_avoidleft\x18\x18 \x01(\x01\x12\x17\n\x0fgps_y_avoidleft\x18\x19 \x01(\x01\x12\x18\n\x10gps_x_avoidright\x18\x1a \x01(\x01\x12\x18\n\x10gps_y_avoidright\x18\x1b \x01(\x01\x12\x18\n\tmbnoavoid\x18\x1c \x01(\x08:\x05\x66\x61lse\x12\x16\n\x0bmfCurvature\x18\x1d \x01(\x01:\x01\x30\x12\r\n\x05rel_x\x18\x1e \x01(\x01\x12\r\n\x05rel_y\x18\x1f \x01(\x01\x12\r\n\x05rel_z\x18  \x01(\x01\x12\x0f\n\x07rel_yaw\x18! \x01(\x01\x12\x0e\n\x06laneid\x18\" \x01(\x05\x12\x14\n\x0cleftlanecout\x18# \x01(\x05\x12\x16\n\x0erightlanecount\x18$ \x01(\x05\x12\x0e\n\x06roadid\x18% \x01(\x05\x12\r\n\x05index\x18& \x01(\x05\";\n\x08tracemap\x12\x1f\n\x05point\x18\x01 \x03(\x0b\x32\x10.iv.map.mappoint\x12\x0e\n\x06nState\x18\x02 \x01(\x05'
+)
+
+
+
+
+_MAPPOINT = _descriptor.Descriptor(
+  name='mappoint',
+  full_name='iv.map.mappoint',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='gps_lat', full_name='iv.map.mappoint.gps_lat', index=0,
+      number=1, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_lng', full_name='iv.map.mappoint.gps_lng', index=1,
+      number=2, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_x', full_name='iv.map.mappoint.gps_x', index=2,
+      number=3, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_y', full_name='iv.map.mappoint.gps_y', index=3,
+      number=4, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_z', full_name='iv.map.mappoint.gps_z', index=4,
+      number=5, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='ins_heading_angle', full_name='iv.map.mappoint.ins_heading_angle', index=5,
+      number=6, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='speed_mode', full_name='iv.map.mappoint.speed_mode', index=6,
+      number=7, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mode2', full_name='iv.map.mappoint.mode2', index=7,
+      number=8, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='speed', full_name='iv.map.mappoint.speed', index=8,
+      number=9, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='roadMode', full_name='iv.map.mappoint.roadMode', index=9,
+      number=10, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='runMode', full_name='iv.map.mappoint.runMode', index=10,
+      number=11, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='roadSum', full_name='iv.map.mappoint.roadSum', index=11,
+      number=12, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=1,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='roadOri', full_name='iv.map.mappoint.roadOri', index=12,
+      number=13, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mfLaneWidth', full_name='iv.map.mappoint.mfLaneWidth', index=13,
+      number=14, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(3.5),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mfDisToLaneLeft', full_name='iv.map.mappoint.mfDisToLaneLeft', index=14,
+      number=15, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(1.8),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mnLaneChangeMark', full_name='iv.map.mappoint.mnLaneChangeMark', index=15,
+      number=16, type=5, cpp_type=1, label=1,
+      has_default_value=True, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mfDisToRoadLeft', full_name='iv.map.mappoint.mfDisToRoadLeft', index=16,
+      number=17, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(1.8),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mfRoadWidth', full_name='iv.map.mappoint.mfRoadWidth', index=17,
+      number=18, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(3.5),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mbInLaneAvoid', full_name='iv.map.mappoint.mbInLaneAvoid', index=18,
+      number=19, type=8, cpp_type=7, label=1,
+      has_default_value=True, default_value=True,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_lat_avoidleft', full_name='iv.map.mappoint.gps_lat_avoidleft', index=19,
+      number=20, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_lng_avoidleft', full_name='iv.map.mappoint.gps_lng_avoidleft', index=20,
+      number=21, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_lat_avoidright', full_name='iv.map.mappoint.gps_lat_avoidright', index=21,
+      number=22, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_lng_avoidright', full_name='iv.map.mappoint.gps_lng_avoidright', index=22,
+      number=23, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_x_avoidleft', full_name='iv.map.mappoint.gps_x_avoidleft', index=23,
+      number=24, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_y_avoidleft', full_name='iv.map.mappoint.gps_y_avoidleft', index=24,
+      number=25, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_x_avoidright', full_name='iv.map.mappoint.gps_x_avoidright', index=25,
+      number=26, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='gps_y_avoidright', full_name='iv.map.mappoint.gps_y_avoidright', index=26,
+      number=27, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mbnoavoid', full_name='iv.map.mappoint.mbnoavoid', index=27,
+      number=28, type=8, cpp_type=7, label=1,
+      has_default_value=True, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='mfCurvature', full_name='iv.map.mappoint.mfCurvature', index=28,
+      number=29, type=1, cpp_type=5, label=1,
+      has_default_value=True, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rel_x', full_name='iv.map.mappoint.rel_x', index=29,
+      number=30, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rel_y', full_name='iv.map.mappoint.rel_y', index=30,
+      number=31, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rel_z', full_name='iv.map.mappoint.rel_z', index=31,
+      number=32, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rel_yaw', full_name='iv.map.mappoint.rel_yaw', index=32,
+      number=33, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='laneid', full_name='iv.map.mappoint.laneid', index=33,
+      number=34, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='leftlanecout', full_name='iv.map.mappoint.leftlanecout', index=34,
+      number=35, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='rightlanecount', full_name='iv.map.mappoint.rightlanecount', index=35,
+      number=36, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='roadid', full_name='iv.map.mappoint.roadid', index=36,
+      number=37, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='index', full_name='iv.map.mappoint.index', index=37,
+      number=38, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto2',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=26,
+  serialized_end=887,
+)
+
+
+_TRACEMAP = _descriptor.Descriptor(
+  name='tracemap',
+  full_name='iv.map.tracemap',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  create_key=_descriptor._internal_create_key,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='point', full_name='iv.map.tracemap.point', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+    _descriptor.FieldDescriptor(
+      name='nState', full_name='iv.map.tracemap.nState', index=1,
+      number=2, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto2',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=889,
+  serialized_end=948,
+)
+
+_TRACEMAP.fields_by_name['point'].message_type = _MAPPOINT
+DESCRIPTOR.message_types_by_name['mappoint'] = _MAPPOINT
+DESCRIPTOR.message_types_by_name['tracemap'] = _TRACEMAP
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+mappoint = _reflection.GeneratedProtocolMessageType('mappoint', (_message.Message,), {
+  'DESCRIPTOR' : _MAPPOINT,
+  '__module__' : 'mapdata_pb2'
+  # @@protoc_insertion_point(class_scope:iv.map.mappoint)
+  })
+_sym_db.RegisterMessage(mappoint)
+
+tracemap = _reflection.GeneratedProtocolMessageType('tracemap', (_message.Message,), {
+  'DESCRIPTOR' : _TRACEMAP,
+  '__module__' : 'mapdata_pb2'
+  # @@protoc_insertion_point(class_scope:iv.map.tracemap)
+  })
+_sym_db.RegisterMessage(tracemap)
+
+
+# @@protoc_insertion_point(module_scope)

+ 63 - 0
src/python/pythondecisiondemo/pythondecisiondemo.py

@@ -0,0 +1,63 @@
+import modulecommpython
+import numpy as np  
+import time
+
+import gpsimu_pb2
+import mapdata_pb2
+
+from PyModuleCommModule import PyModuleComm
+
+time_gpsimu = 0
+msg_gpsimu = gpsimu_pb2.gpsimu()
+
+time_mapdata = 0
+msg_mapdata = mapdata_pb2.tracemap()
+
+
+def gpsimu_callback(arr : np,nsize,time):  
+    print("Python callback function called from C++!. time: ",time)
+    print("    size: ",nsize)  
+    sub_arr = arr[0:nsize]
+    databytes = sub_arr.tostring()
+    msg = gpsimu_pb2.gpsimu()
+    msg.ParseFromString(databytes)
+    msg_gpsimu = msg
+    time_gpsimu = time
+    print("lon: ",msg.lon)
+
+
+def mapdata_callback(arr : np,nsize,time):   
+    sub_arr = arr[0:nsize]
+    databytes = sub_arr.tostring()
+    msg = mapdata_pb2.tracemap()
+    msg.ParseFromString(databytes)
+    msg_mapdata = msg
+    time_mapdata = time
+    
+
+def MakeDecision(md : PyModuleComm, msg_mapdata : mapdata_pb2, msg_gpsimu : gpsimu_pb2)
+    pass
+
+    
+
+def main():  
+
+    # 初始化一个变量  
+    count = 0  
+
+    mc = PyModuleComm("hcp2_gpsimu")
+    mc.RegisterRecv(gpsimu_callback)
+
+    mmap = PyModuleComm("newtracemap")
+    mmap.RegisterRecv(mapdata_callback)
+ 
+    # 使用while循环,只要count小于10,就继续循环  
+    while count < 10:
+        time.sleep(1.0)
+
+  
+    print("循环结束!")  
+  
+# 调用main函数  
+if __name__ == "__main__":  
+    main()

+ 3 - 3
src/test/testsideparkcalc/mainwindow.cpp

@@ -42,7 +42,7 @@ MainWindow::MainWindow(QWidget *parent)
     QGraphicsLineItem * pliney = new QGraphicsLineItem(RATIO * X_MOVE,0,RATIO * X_MOVE,VIEW_HEIGHT);
     mpscene->addItem(pliney);
 
-    setWindowTitle("Calc Park   (if HDG>0.5236  Vertical Park , else Side Park)");
+    setWindowTitle("Calc Park   (if HDG>0.5236  Vertical Park , Else Side Park)");
 }
 
 MainWindow::~MainWindow()
@@ -73,7 +73,7 @@ void MainWindow::SidePark(double x,double y ,double hdg, double fMinRadius,doubl
     {
         char strout[3000];
         char strtemp[1000];
-        snprintf(strout,3000,"SidePark:\nFive Step:\n");
+        snprintf(strout,3000,"SidePark:\nFive Steps:\n");
         snprintf(strtemp,1000,"Points:\n");strncat(strout,strtemp,3000);
         int i = 0;
         int  npoint =4;
@@ -277,7 +277,7 @@ void MainWindow::SidePark(double x,double y ,double hdg, double fMinRadius,doubl
     {
         char strout[3000];
         char strtemp[1000];
-        snprintf(strout,3000,"SidePark:\nTwo Step:\n");
+        snprintf(strout,3000,"SidePark:\nTwo Steps:\n");
         snprintf(strtemp,1000,"Points:\n");strncat(strout,strtemp,3000);
         int i = 0;
         int  npoint =1;

+ 3 - 3
src/tool/view_ndtmatching/view_ndtmatching.pro

@@ -75,9 +75,9 @@ LIBS += -lboost_system
 system(. /etc/lsb-release;echo $DISTRIB_RELEASE)
 
 
-infile( /etc/lsb-release, DISTRIB_RELEASE, 18.04 ){
-message("system is 22.04")
-}
+#infile( /etc/lsb-release, DISTRIB_RELEASE, 22.04 ){
+#message("system is 22.04")
+#}
 
 infile( /etc/lsb-release, DISTRIB_RELEASE, 18.04 ){
 LIBS += -lvtkCommonExecutionModel-6.3 -lvtkCommonCore-6.3 -lvtkRenderingLOD-6.3 -lvtkRenderingCore-6.3 \

Some files were not shown because too many files changed in this diff