Forráskód Böngészése

车宽限制在1.9

zx 4 éve
szülő
commit
5c8cf8973d
40 módosított fájl, 16066 hozzáadás és 15320 törlés
  1. 0 0
      .gitignore
  2. 4 4
      CMakeLists.txt
  3. 2 2
      laser/LivoxLaser.cpp
  4. 1 1
      laser/LivoxLaser.h
  5. 203 289
      laser/laser_message.pb.cc
  6. 239 157
      laser/laser_message.pb.h
  7. 716 1064
      laser/laser_parameter.pb.cc
  8. 1019 658
      laser/laser_parameter.pb.h
  9. 2 2
      locate/cnn3d_segmentation.cpp
  10. 1131 1538
      locate/locater_parameter.pb.cc
  11. 1579 970
      locate/locater_parameter.pb.h
  12. 17 0
      main.cpp
  13. 0 0
      out/plc/plc_modbus_uml/PLC模块.png
  14. 0 0
      out/wj_lidar/wj_lidar_uml/电子围栏类图.png
  15. 164 239
      plc/plc_message.pb.cc
  16. 202 119
      plc/plc_message.pb.h
  17. 341 470
      plc/plc_module.pb.cc
  18. 404 256
      plc/plc_module.pb.h
  19. 672 905
      terminor/Terminor_parameter.pb.cc
  20. 779 474
      terminor/Terminor_parameter.pb.h
  21. 32 0
      terminor/terminal_command_executor.cpp
  22. 6 0
      terminor/terminal_command_executor.h
  23. 434 635
      terminor/terminor_msg.pb.cc
  24. 565 372
      terminor/terminor_msg.pb.h
  25. 1 0
      tool/StdCondition.h
  26. 1 1
      tool/thread_condition.h
  27. 574 798
      verify/hardware_limit.pb.cc
  28. 648 391
      verify/hardware_limit.pb.h
  29. 1250 1691
      wj_lidar/globalmsg.pb.cc
  30. 1664 1023
      wj_lidar/globalmsg.pb.h
  31. 1 1
      wj_lidar/region_detect.cpp
  32. 1224 1675
      wj_lidar/wj_lidar_conf.pb.cc
  33. 1579 972
      wj_lidar/wj_lidar_conf.pb.h
  34. 300 419
      wj_lidar/wj_lidar_msg.pb.cc
  35. 312 194
      wj_lidar/wj_lidar_msg.pb.h
  36. 0 0
      智象停车测量软件设计文档.docx
  37. 0 0
      流程.jpg
  38. 0 0
      流程图.asta
  39. 0 0
      测量流程图.asta
  40. 0 0
      测量流程图.pdf

+ 0 - 0
.gitignore


+ 4 - 4
CMakeLists.txt

@@ -1,8 +1,8 @@
 cmake_minimum_required(VERSION 2.8.3)
 project(LidarMeasure)
 
-## Compile as C++11, supported in ROS Kinetic and newer
-add_compile_options(-std=c++11)
+## Compile as C++14, supported in ROS Kinetic and newer
+add_compile_options(-std=c++14)
 
 #add_definitions(-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2)
 
@@ -13,7 +13,7 @@ FIND_PACKAGE(Glog REQUIRED)
 FIND_PACKAGE(Ceres REQUIRED)
 set(CMAKE_MODULE_PATH "/usr/local/share/")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-as-needed")
-set(CMAKE_CXX_FLAGS "-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")
+set(CMAKE_CXX_FLAGS "-std=c++14 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")
 set(CMAKE_BUILD_TYPE "RELEASE")
 
 
@@ -25,7 +25,7 @@ include_directories(
         src
         Locate
         /usr/local/include
-        /usr/local/include/modbus
+        /usr/include/modbus
         /usr/local/include/snap7
   ${PCL_INCLUDE_DIRS}
   ${OpenCV_INCLUDE_DIRS}

+ 2 - 2
laser/LivoxLaser.cpp

@@ -259,7 +259,7 @@ void CLivoxLaser::UpdataHandle()
 	}
 }
 
-void CLivoxLaser::OnSampleCallback(uint8_t status, uint8_t handle, uint8_t response, void *data) {
+void CLivoxLaser::OnSampleCallback(livox_status status, uint8_t handle, uint8_t response, void *data) {
 	CLivoxLaser* laser = (CLivoxLaser*)data;
 
 	if (status == kStatusSuccess) {
@@ -309,7 +309,7 @@ void CLivoxLaser::OnDeviceChange(const DeviceInfo *info, DeviceEvent type)
 		{
 			if (g_devices[handle].info.type == kDeviceTypeHub)
 			{
-				HubStartSampling(OnSampleCallback, NULL);
+				HubStartSampling(OnSampleCallback, nullptr);
 			}
 			else
 			{

+ 1 - 1
laser/LivoxLaser.h

@@ -74,7 +74,7 @@ protected:
 	static void LidarDataCallback(uint8_t handle, LivoxEthPacket *data, uint32_t data_num, void *laser);
 	static void OnDeviceChange(const DeviceInfo *info, DeviceEvent type);
 	static void OnDeviceBroadcast(const BroadcastDeviceInfo *info);
-	static void OnSampleCallback(uint8_t status, uint8_t handle, uint8_t response, void *data);
+	static void OnSampleCallback(livox_status status, uint8_t handle, uint8_t response, void *data);
 
 protected:
 	uint8_t									m_handle;

+ 203 - 289
laser/laser_message.pb.cc

@@ -5,126 +5,90 @@
 
 #include <algorithm>
 
-#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/stubs/port.h>
-#include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/extension_set.h>
+#include <google/protobuf/wire_format_lite.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/reflection_ops.h>
 #include <google/protobuf/wire_format.h>
-// This is a temporary google only hack
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-#include "third_party/protobuf/version.h"
-#endif
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
 namespace laser_message {
 class laserMsgDefaultTypeInternal {
  public:
-  ::google::protobuf::internal::ExplicitlyConstructed<laserMsg>
-      _instance;
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<laserMsg> _instance;
 } _laserMsg_default_instance_;
 }  // namespace laser_message
-namespace protobuf_laser_5fmessage_2eproto {
-void InitDefaultslaserMsgImpl() {
+static void InitDefaultsscc_info_laserMsg_laser_5fmessage_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::laser_message::_laserMsg_default_instance_;
     new (ptr) ::laser_message::laserMsg();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
   }
   ::laser_message::laserMsg::InitAsDefaultInstance();
 }
 
-void InitDefaultslaserMsg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultslaserMsgImpl);
-}
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_laserMsg_laser_5fmessage_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_laserMsg_laser_5fmessage_2eproto}, {}};
 
-::google::protobuf::Metadata file_level_metadata[1];
-const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[1];
+static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_laser_5fmessage_2eproto[1];
+static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_laser_5fmessage_2eproto[1];
+static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_laser_5fmessage_2eproto = nullptr;
 
-const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, _internal_metadata_),
+const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_laser_5fmessage_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, _has_bits_),
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, laser_status_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, queue_data_count_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, cloud_count_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::laser_message::laserMsg, id_),
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, laser_status_),
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, queue_data_count_),
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, cloud_count_),
+  PROTOBUF_FIELD_OFFSET(::laser_message::laserMsg, id_),
   0,
   1,
   2,
   3,
 };
-static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
   { 0, 9, sizeof(::laser_message::laserMsg)},
 };
 
-static ::google::protobuf::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::google::protobuf::Message*>(&::laser_message::_laserMsg_default_instance_),
+static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::laser_message::_laserMsg_default_instance_),
 };
 
-void protobuf_AssignDescriptors() {
-  AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
-  AssignDescriptors(
-      "laser_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
-      file_level_metadata, file_level_enum_descriptors, NULL);
-}
-
-void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
-}
-
-void AddDescriptorsImpl() {
-  InitDefaults();
-  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-      "\n\023laser_message.proto\022\rlaser_message\"w\n\010"
-      "laserMsg\0220\n\014laser_status\030\001 \001(\0162\032.laser_m"
-      "essage.laserStatus\022\030\n\020queue_data_count\030\002"
-      " \001(\005\022\023\n\013cloud_count\030\003 \001(\005\022\n\n\002id\030\004 \002(\005*]\n"
-      "\013laserStatus\022\023\n\017eLaserConnected\020\000\022\026\n\022eLa"
-      "serDisconnected\020\001\022\016\n\neLaserBusy\020\002\022\021\n\reLa"
-      "serUnknown\020\003"
-  };
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 252);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "laser_message.proto", &protobuf_RegisterTypes);
-}
+const char descriptor_table_protodef_laser_5fmessage_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
+  "\n\023laser_message.proto\022\rlaser_message\"w\n\010"
+  "laserMsg\0220\n\014laser_status\030\001 \001(\0162\032.laser_m"
+  "essage.laserStatus\022\030\n\020queue_data_count\030\002"
+  " \001(\005\022\023\n\013cloud_count\030\003 \001(\005\022\n\n\002id\030\004 \002(\005*]\n"
+  "\013laserStatus\022\023\n\017eLaserConnected\020\000\022\026\n\022eLa"
+  "serDisconnected\020\001\022\016\n\neLaserBusy\020\002\022\021\n\reLa"
+  "serUnknown\020\003"
+  ;
+static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_laser_5fmessage_2eproto_deps[1] = {
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_laser_5fmessage_2eproto_sccs[1] = {
+  &scc_info_laserMsg_laser_5fmessage_2eproto.base,
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_laser_5fmessage_2eproto_once;
+const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_laser_5fmessage_2eproto = {
+  false, false, descriptor_table_protodef_laser_5fmessage_2eproto, "laser_message.proto", 252,
+  &descriptor_table_laser_5fmessage_2eproto_once, descriptor_table_laser_5fmessage_2eproto_sccs, descriptor_table_laser_5fmessage_2eproto_deps, 1, 0,
+  schemas, file_default_instances, TableStruct_laser_5fmessage_2eproto::offsets,
+  file_level_metadata_laser_5fmessage_2eproto, 1, file_level_enum_descriptors_laser_5fmessage_2eproto, file_level_service_descriptors_laser_5fmessage_2eproto,
+};
 
-void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
-}
-// Force AddDescriptors() to be called at dynamic initialization time.
-struct StaticDescriptorInitializer {
-  StaticDescriptorInitializer() {
-    AddDescriptors();
-  }
-} static_descriptor_initializer;
-}  // namespace protobuf_laser_5fmessage_2eproto
+// Force running AddDescriptors() at dynamic initialization time.
+static bool dynamic_init_dummy_laser_5fmessage_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_laser_5fmessage_2eproto)), true);
 namespace laser_message {
-const ::google::protobuf::EnumDescriptor* laserStatus_descriptor() {
-  protobuf_laser_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return protobuf_laser_5fmessage_2eproto::file_level_enum_descriptors[0];
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* laserStatus_descriptor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_laser_5fmessage_2eproto);
+  return file_level_enum_descriptors_laser_5fmessage_2eproto[0];
 }
 bool laserStatus_IsValid(int value) {
   switch (value) {
@@ -143,27 +107,36 @@ bool laserStatus_IsValid(int value) {
 
 void laserMsg::InitAsDefaultInstance() {
 }
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int laserMsg::kLaserStatusFieldNumber;
-const int laserMsg::kQueueDataCountFieldNumber;
-const int laserMsg::kCloudCountFieldNumber;
-const int laserMsg::kIdFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-laserMsg::laserMsg()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_laser_5fmessage_2eproto::InitDefaultslaserMsg();
+class laserMsg::_Internal {
+ public:
+  using HasBits = decltype(std::declval<laserMsg>()._has_bits_);
+  static void set_has_laser_status(HasBits* has_bits) {
+    (*has_bits)[0] |= 1u;
+  }
+  static void set_has_queue_data_count(HasBits* has_bits) {
+    (*has_bits)[0] |= 2u;
   }
+  static void set_has_cloud_count(HasBits* has_bits) {
+    (*has_bits)[0] |= 4u;
+  }
+  static void set_has_id(HasBits* has_bits) {
+    (*has_bits)[0] |= 8u;
+  }
+  static bool MissingRequiredFields(const HasBits& has_bits) {
+    return ((has_bits[0] & 0x00000008) ^ 0x00000008) != 0;
+  }
+};
+
+laserMsg::laserMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:laser_message.laserMsg)
+  RegisterArenaDtor(arena);
+  // @@protoc_insertion_point(arena_constructor:laser_message.laserMsg)
 }
 laserMsg::laserMsg(const laserMsg& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      _has_bits_(from._has_bits_),
-      _cached_size_(0) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
+      _has_bits_(from._has_bits_) {
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   ::memcpy(&laser_status_, &from.laser_status_,
     static_cast<size_t>(reinterpret_cast<char*>(&id_) -
     reinterpret_cast<char*>(&laser_status_)) + sizeof(id_));
@@ -171,7 +144,6 @@ laserMsg::laserMsg(const laserMsg& from)
 }
 
 void laserMsg::SharedCtor() {
-  _cached_size_ = 0;
   ::memset(&laser_status_, 0, static_cast<size_t>(
       reinterpret_cast<char*>(&id_) -
       reinterpret_cast<char*>(&laser_status_)) + sizeof(id_));
@@ -180,209 +152,147 @@ void laserMsg::SharedCtor() {
 laserMsg::~laserMsg() {
   // @@protoc_insertion_point(destructor:laser_message.laserMsg)
   SharedDtor();
+  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
 void laserMsg::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
 }
 
-void laserMsg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+void laserMsg::ArenaDtor(void* object) {
+  laserMsg* _this = reinterpret_cast< laserMsg* >(object);
+  (void)_this;
 }
-const ::google::protobuf::Descriptor* laserMsg::descriptor() {
-  ::protobuf_laser_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_laser_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+void laserMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+}
+void laserMsg::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
 }
-
 const laserMsg& laserMsg::default_instance() {
-  ::protobuf_laser_5fmessage_2eproto::InitDefaultslaserMsg();
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_laserMsg_laser_5fmessage_2eproto.base);
   return *internal_default_instance();
 }
 
-laserMsg* laserMsg::New(::google::protobuf::Arena* arena) const {
-  laserMsg* n = new laserMsg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void laserMsg::Clear() {
 // @@protoc_insertion_point(message_clear_start:laser_message.laserMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 15u) {
+  if (cached_has_bits & 0x0000000fu) {
     ::memset(&laser_status_, 0, static_cast<size_t>(
         reinterpret_cast<char*>(&id_) -
         reinterpret_cast<char*>(&laser_status_)) + sizeof(id_));
   }
   _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool laserMsg::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:laser_message.laserMsg)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* laserMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  _Internal::HasBits has_bits{};
+  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
       // optional .laser_message.laserStatus laser_status = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (::laser_message::laserStatus_IsValid(value)) {
-            set_laser_status(static_cast< ::laser_message::laserStatus >(value));
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+          if (PROTOBUF_PREDICT_TRUE(::laser_message::laserStatus_IsValid(val))) {
+            _internal_set_laser_status(static_cast<::laser_message::laserStatus>(val));
           } else {
-            mutable_unknown_fields()->AddVarint(
-                1, static_cast< ::google::protobuf::uint64>(value));
+            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
           }
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+        } else goto handle_unusual;
+        continue;
       // optional int32 queue_data_count = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          set_has_queue_data_count();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &queue_data_count_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+          _Internal::set_has_queue_data_count(&has_bits);
+          queue_data_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
       // optional int32 cloud_count = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
-          set_has_cloud_count();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &cloud_count_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+      case 3:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+          _Internal::set_has_cloud_count(&has_bits);
+          cloud_count_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
       // required int32 id = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
-          set_has_id();
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, &id_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+      case 4:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+          _Internal::set_has_id(&has_bits);
+          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
           goto success;
         }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
       }
-    }
-  }
+    }  // switch
+  }  // while
 success:
-  // @@protoc_insertion_point(parse_success:laser_message.laserMsg)
-  return true;
+  _has_bits_.Or(has_bits);
+  return ptr;
 failure:
-  // @@protoc_insertion_point(parse_failure:laser_message.laserMsg)
-  return false;
-#undef DO_
-}
-
-void laserMsg::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:laser_message.laserMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional .laser_message.laserStatus laser_status = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->laser_status(), output);
-  }
-
-  // optional int32 queue_data_count = 2;
-  if (cached_has_bits & 0x00000002u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->queue_data_count(), output);
-  }
-
-  // optional int32 cloud_count = 3;
-  if (cached_has_bits & 0x00000004u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->cloud_count(), output);
-  }
-
-  // required int32 id = 4;
-  if (cached_has_bits & 0x00000008u) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->id(), output);
-  }
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
-  }
-  // @@protoc_insertion_point(serialize_end:laser_message.laserMsg)
+  ptr = nullptr;
+  goto success;
+#undef CHK_
 }
 
-::google::protobuf::uint8* laserMsg::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
+::PROTOBUF_NAMESPACE_ID::uint8* laserMsg::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:laser_message.laserMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   // optional .laser_message.laserStatus laser_status = 1;
   if (cached_has_bits & 0x00000001u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->laser_status(), target);
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
+      1, this->_internal_laser_status(), target);
   }
 
   // optional int32 queue_data_count = 2;
   if (cached_has_bits & 0x00000002u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->queue_data_count(), target);
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_queue_data_count(), target);
   }
 
   // optional int32 cloud_count = 3;
   if (cached_has_bits & 0x00000004u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->cloud_count(), target);
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_cloud_count(), target);
   }
 
   // required int32 id = 4;
   if (cached_has_bits & 0x00000008u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->id(), target);
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_id(), target);
   }
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
   }
   // @@protoc_insertion_point(serialize_to_array_end:laser_message.laserMsg)
   return target;
@@ -392,55 +302,57 @@ size_t laserMsg::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:laser_message.laserMsg)
   size_t total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
   // required int32 id = 4;
-  if (has_id()) {
+  if (_internal_has_id()) {
     total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::Int32Size(
-        this->id());
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
+        this->_internal_id());
   }
-  if (_has_bits_[0 / 32] & 7u) {
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 0x00000007u) {
     // optional .laser_message.laserStatus laser_status = 1;
-    if (has_laser_status()) {
+    if (cached_has_bits & 0x00000001u) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->laser_status());
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_laser_status());
     }
 
     // optional int32 queue_data_count = 2;
-    if (has_queue_data_count()) {
+    if (cached_has_bits & 0x00000002u) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->queue_data_count());
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
+          this->_internal_queue_data_count());
     }
 
     // optional int32 cloud_count = 3;
-    if (has_cloud_count()) {
+    if (cached_has_bits & 0x00000004u) {
       total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::Int32Size(
-          this->cloud_count());
+        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
+          this->_internal_cloud_count());
     }
 
   }
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
   return total_size;
 }
 
-void laserMsg::MergeFrom(const ::google::protobuf::Message& from) {
+void laserMsg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
 // @@protoc_insertion_point(generalized_merge_from_start:laser_message.laserMsg)
   GOOGLE_DCHECK_NE(&from, this);
   const laserMsg* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const laserMsg>(
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<laserMsg>(
           &from);
-  if (source == NULL) {
+  if (source == nullptr) {
   // @@protoc_insertion_point(generalized_merge_from_cast_fail:laser_message.laserMsg)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
   } else {
   // @@protoc_insertion_point(generalized_merge_from_cast_success:laser_message.laserMsg)
     MergeFrom(*source);
@@ -450,12 +362,12 @@ void laserMsg::MergeFrom(const ::google::protobuf::Message& from) {
 void laserMsg::MergeFrom(const laserMsg& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:laser_message.laserMsg)
   GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 15u) {
+  if (cached_has_bits & 0x0000000fu) {
     if (cached_has_bits & 0x00000001u) {
       laser_status_ = from.laser_status_;
     }
@@ -472,7 +384,7 @@ void laserMsg::MergeFrom(const laserMsg& from) {
   }
 }
 
-void laserMsg::CopyFrom(const ::google::protobuf::Message& from) {
+void laserMsg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
 // @@protoc_insertion_point(generalized_copy_from_start:laser_message.laserMsg)
   if (&from == this) return;
   Clear();
@@ -487,32 +399,34 @@ void laserMsg::CopyFrom(const laserMsg& from) {
 }
 
 bool laserMsg::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000008) != 0x00000008) return false;
+  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
   return true;
 }
 
-void laserMsg::Swap(laserMsg* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
 void laserMsg::InternalSwap(laserMsg* other) {
   using std::swap;
-  swap(laser_status_, other->laser_status_);
-  swap(queue_data_count_, other->queue_data_count_);
-  swap(cloud_count_, other->cloud_count_);
-  swap(id_, other->id_);
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
   swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
+  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
+      PROTOBUF_FIELD_OFFSET(laserMsg, id_)
+      + sizeof(laserMsg::id_)
+      - PROTOBUF_FIELD_OFFSET(laserMsg, laser_status_)>(
+          reinterpret_cast<char*>(&laser_status_),
+          reinterpret_cast<char*>(&other->laser_status_));
 }
 
-::google::protobuf::Metadata laserMsg::GetMetadata() const {
-  protobuf_laser_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_laser_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
+::PROTOBUF_NAMESPACE_ID::Metadata laserMsg::GetMetadata() const {
+  return GetMetadataStatic();
 }
 
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace laser_message
+PROTOBUF_NAMESPACE_OPEN
+template<> PROTOBUF_NOINLINE ::laser_message::laserMsg* Arena::CreateMaybeMessage< ::laser_message::laserMsg >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::laser_message::laserMsg >(arena);
+}
+PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
+#include <google/protobuf/port_undef.inc>

+ 239 - 157
laser/laser_message.pb.h

@@ -1,118 +1,138 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: laser_message.proto
 
-#ifndef PROTOBUF_laser_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_laser_5fmessage_2eproto__INCLUDED
+#ifndef GOOGLE_PROTOBUF_INCLUDED_laser_5fmessage_2eproto
+#define GOOGLE_PROTOBUF_INCLUDED_laser_5fmessage_2eproto
 
+#include <limits>
 #include <string>
 
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3013000
 #error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
+#error incompatible with your Protocol Buffer headers. Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
+#error incompatible with your Protocol Buffer headers. Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
+#include <google/protobuf/port_undef.inc>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/arena.h>
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata.h>
+#include <google/protobuf/inlined_string_field.h>
+#include <google/protobuf/metadata_lite.h>
+#include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_laser_5fmessage_2eproto
+PROTOBUF_NAMESPACE_OPEN
+namespace internal {
+class AnyMetadata;
+}  // namespace internal
+PROTOBUF_NAMESPACE_CLOSE
 
-namespace protobuf_laser_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[1];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
+struct TableStruct_laser_5fmessage_2eproto {
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
+  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
 };
-void AddDescriptors();
-void InitDefaultslaserMsgImpl();
-void InitDefaultslaserMsg();
-inline void InitDefaults() {
-  InitDefaultslaserMsg();
-}
-}  // namespace protobuf_laser_5fmessage_2eproto
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_laser_5fmessage_2eproto;
 namespace laser_message {
 class laserMsg;
 class laserMsgDefaultTypeInternal;
 extern laserMsgDefaultTypeInternal _laserMsg_default_instance_;
 }  // namespace laser_message
+PROTOBUF_NAMESPACE_OPEN
+template<> ::laser_message::laserMsg* Arena::CreateMaybeMessage<::laser_message::laserMsg>(Arena*);
+PROTOBUF_NAMESPACE_CLOSE
 namespace laser_message {
 
-enum laserStatus {
+enum laserStatus : int {
   eLaserConnected = 0,
   eLaserDisconnected = 1,
   eLaserBusy = 2,
   eLaserUnknown = 3
 };
 bool laserStatus_IsValid(int value);
-const laserStatus laserStatus_MIN = eLaserConnected;
-const laserStatus laserStatus_MAX = eLaserUnknown;
-const int laserStatus_ARRAYSIZE = laserStatus_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* laserStatus_descriptor();
-inline const ::std::string& laserStatus_Name(laserStatus value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    laserStatus_descriptor(), value);
+constexpr laserStatus laserStatus_MIN = eLaserConnected;
+constexpr laserStatus laserStatus_MAX = eLaserUnknown;
+constexpr int laserStatus_ARRAYSIZE = laserStatus_MAX + 1;
+
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* laserStatus_descriptor();
+template<typename T>
+inline const std::string& laserStatus_Name(T enum_t_value) {
+  static_assert(::std::is_same<T, laserStatus>::value ||
+    ::std::is_integral<T>::value,
+    "Incorrect type passed to function laserStatus_Name.");
+  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
+    laserStatus_descriptor(), enum_t_value);
 }
 inline bool laserStatus_Parse(
-    const ::std::string& name, laserStatus* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<laserStatus>(
+    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, laserStatus* value) {
+  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<laserStatus>(
     laserStatus_descriptor(), name, value);
 }
 // ===================================================================
 
-class laserMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:laser_message.laserMsg) */ {
+class laserMsg PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:laser_message.laserMsg) */ {
  public:
-  laserMsg();
+  inline laserMsg() : laserMsg(nullptr) {}
   virtual ~laserMsg();
 
   laserMsg(const laserMsg& from);
-
-  inline laserMsg& operator=(const laserMsg& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   laserMsg(laserMsg&& from) noexcept
     : laserMsg() {
     *this = ::std::move(from);
   }
 
+  inline laserMsg& operator=(const laserMsg& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline laserMsg& operator=(laserMsg&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const laserMsg& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -120,102 +140,149 @@ class laserMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(
     return reinterpret_cast<const laserMsg*>(
                &_laserMsg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
-  void Swap(laserMsg* other);
   friend void swap(laserMsg& a, laserMsg& b) {
     a.Swap(&b);
   }
+  inline void Swap(laserMsg* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(laserMsg* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline laserMsg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline laserMsg* New() const final {
+    return CreateMaybeMessage<laserMsg>(nullptr);
+  }
 
-  laserMsg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  laserMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<laserMsg>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const laserMsg& from);
   void MergeFrom(const laserMsg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(laserMsg* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "laser_message.laserMsg";
   }
+  protected:
+  explicit laserMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_laser_5fmessage_2eproto);
+    return ::descriptor_table_laser_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kLaserStatusFieldNumber = 1,
+    kQueueDataCountFieldNumber = 2,
+    kCloudCountFieldNumber = 3,
+    kIdFieldNumber = 4,
+  };
   // optional .laser_message.laserStatus laser_status = 1;
   bool has_laser_status() const;
+  private:
+  bool _internal_has_laser_status() const;
+  public:
   void clear_laser_status();
-  static const int kLaserStatusFieldNumber = 1;
   ::laser_message::laserStatus laser_status() const;
   void set_laser_status(::laser_message::laserStatus value);
+  private:
+  ::laser_message::laserStatus _internal_laser_status() const;
+  void _internal_set_laser_status(::laser_message::laserStatus value);
+  public:
 
   // optional int32 queue_data_count = 2;
   bool has_queue_data_count() const;
+  private:
+  bool _internal_has_queue_data_count() const;
+  public:
   void clear_queue_data_count();
-  static const int kQueueDataCountFieldNumber = 2;
-  ::google::protobuf::int32 queue_data_count() const;
-  void set_queue_data_count(::google::protobuf::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::int32 queue_data_count() const;
+  void set_queue_data_count(::PROTOBUF_NAMESPACE_ID::int32 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_queue_data_count() const;
+  void _internal_set_queue_data_count(::PROTOBUF_NAMESPACE_ID::int32 value);
+  public:
 
   // optional int32 cloud_count = 3;
   bool has_cloud_count() const;
+  private:
+  bool _internal_has_cloud_count() const;
+  public:
   void clear_cloud_count();
-  static const int kCloudCountFieldNumber = 3;
-  ::google::protobuf::int32 cloud_count() const;
-  void set_cloud_count(::google::protobuf::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::int32 cloud_count() const;
+  void set_cloud_count(::PROTOBUF_NAMESPACE_ID::int32 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_cloud_count() const;
+  void _internal_set_cloud_count(::PROTOBUF_NAMESPACE_ID::int32 value);
+  public:
 
   // required int32 id = 4;
   bool has_id() const;
+  private:
+  bool _internal_has_id() const;
+  public:
   void clear_id();
-  static const int kIdFieldNumber = 4;
-  ::google::protobuf::int32 id() const;
-  void set_id(::google::protobuf::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::int32 id() const;
+  void set_id(::PROTOBUF_NAMESPACE_ID::int32 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_id() const;
+  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int32 value);
+  public:
 
   // @@protoc_insertion_point(class_scope:laser_message.laserMsg)
  private:
-  void set_has_laser_status();
-  void clear_has_laser_status();
-  void set_has_queue_data_count();
-  void clear_has_queue_data_count();
-  void set_has_cloud_count();
-  void clear_has_cloud_count();
-  void set_has_id();
-  void clear_has_id();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
   int laser_status_;
-  ::google::protobuf::int32 queue_data_count_;
-  ::google::protobuf::int32 cloud_count_;
-  ::google::protobuf::int32 id_;
-  friend struct ::protobuf_laser_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_laser_5fmessage_2eproto::InitDefaultslaserMsgImpl();
+  ::PROTOBUF_NAMESPACE_ID::int32 queue_data_count_;
+  ::PROTOBUF_NAMESPACE_ID::int32 cloud_count_;
+  ::PROTOBUF_NAMESPACE_ID::int32 id_;
+  friend struct ::TableStruct_laser_5fmessage_2eproto;
 };
 // ===================================================================
 
@@ -229,99 +296,115 @@ class laserMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(
 // laserMsg
 
 // optional .laser_message.laserStatus laser_status = 1;
-inline bool laserMsg::has_laser_status() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void laserMsg::set_has_laser_status() {
-  _has_bits_[0] |= 0x00000001u;
+inline bool laserMsg::_internal_has_laser_status() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  return value;
 }
-inline void laserMsg::clear_has_laser_status() {
-  _has_bits_[0] &= ~0x00000001u;
+inline bool laserMsg::has_laser_status() const {
+  return _internal_has_laser_status();
 }
 inline void laserMsg::clear_laser_status() {
   laser_status_ = 0;
-  clear_has_laser_status();
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline ::laser_message::laserStatus laserMsg::_internal_laser_status() const {
+  return static_cast< ::laser_message::laserStatus >(laser_status_);
 }
 inline ::laser_message::laserStatus laserMsg::laser_status() const {
   // @@protoc_insertion_point(field_get:laser_message.laserMsg.laser_status)
-  return static_cast< ::laser_message::laserStatus >(laser_status_);
+  return _internal_laser_status();
 }
-inline void laserMsg::set_laser_status(::laser_message::laserStatus value) {
+inline void laserMsg::_internal_set_laser_status(::laser_message::laserStatus value) {
   assert(::laser_message::laserStatus_IsValid(value));
-  set_has_laser_status();
+  _has_bits_[0] |= 0x00000001u;
   laser_status_ = value;
+}
+inline void laserMsg::set_laser_status(::laser_message::laserStatus value) {
+  _internal_set_laser_status(value);
   // @@protoc_insertion_point(field_set:laser_message.laserMsg.laser_status)
 }
 
 // optional int32 queue_data_count = 2;
-inline bool laserMsg::has_queue_data_count() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void laserMsg::set_has_queue_data_count() {
-  _has_bits_[0] |= 0x00000002u;
+inline bool laserMsg::_internal_has_queue_data_count() const {
+  bool value = (_has_bits_[0] & 0x00000002u) != 0;
+  return value;
 }
-inline void laserMsg::clear_has_queue_data_count() {
-  _has_bits_[0] &= ~0x00000002u;
+inline bool laserMsg::has_queue_data_count() const {
+  return _internal_has_queue_data_count();
 }
 inline void laserMsg::clear_queue_data_count() {
   queue_data_count_ = 0;
-  clear_has_queue_data_count();
+  _has_bits_[0] &= ~0x00000002u;
 }
-inline ::google::protobuf::int32 laserMsg::queue_data_count() const {
-  // @@protoc_insertion_point(field_get:laser_message.laserMsg.queue_data_count)
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::_internal_queue_data_count() const {
   return queue_data_count_;
 }
-inline void laserMsg::set_queue_data_count(::google::protobuf::int32 value) {
-  set_has_queue_data_count();
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::queue_data_count() const {
+  // @@protoc_insertion_point(field_get:laser_message.laserMsg.queue_data_count)
+  return _internal_queue_data_count();
+}
+inline void laserMsg::_internal_set_queue_data_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _has_bits_[0] |= 0x00000002u;
   queue_data_count_ = value;
+}
+inline void laserMsg::set_queue_data_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_set_queue_data_count(value);
   // @@protoc_insertion_point(field_set:laser_message.laserMsg.queue_data_count)
 }
 
 // optional int32 cloud_count = 3;
-inline bool laserMsg::has_cloud_count() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void laserMsg::set_has_cloud_count() {
-  _has_bits_[0] |= 0x00000004u;
+inline bool laserMsg::_internal_has_cloud_count() const {
+  bool value = (_has_bits_[0] & 0x00000004u) != 0;
+  return value;
 }
-inline void laserMsg::clear_has_cloud_count() {
-  _has_bits_[0] &= ~0x00000004u;
+inline bool laserMsg::has_cloud_count() const {
+  return _internal_has_cloud_count();
 }
 inline void laserMsg::clear_cloud_count() {
   cloud_count_ = 0;
-  clear_has_cloud_count();
+  _has_bits_[0] &= ~0x00000004u;
 }
-inline ::google::protobuf::int32 laserMsg::cloud_count() const {
-  // @@protoc_insertion_point(field_get:laser_message.laserMsg.cloud_count)
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::_internal_cloud_count() const {
   return cloud_count_;
 }
-inline void laserMsg::set_cloud_count(::google::protobuf::int32 value) {
-  set_has_cloud_count();
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::cloud_count() const {
+  // @@protoc_insertion_point(field_get:laser_message.laserMsg.cloud_count)
+  return _internal_cloud_count();
+}
+inline void laserMsg::_internal_set_cloud_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _has_bits_[0] |= 0x00000004u;
   cloud_count_ = value;
+}
+inline void laserMsg::set_cloud_count(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_set_cloud_count(value);
   // @@protoc_insertion_point(field_set:laser_message.laserMsg.cloud_count)
 }
 
 // required int32 id = 4;
-inline bool laserMsg::has_id() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void laserMsg::set_has_id() {
-  _has_bits_[0] |= 0x00000008u;
+inline bool laserMsg::_internal_has_id() const {
+  bool value = (_has_bits_[0] & 0x00000008u) != 0;
+  return value;
 }
-inline void laserMsg::clear_has_id() {
-  _has_bits_[0] &= ~0x00000008u;
+inline bool laserMsg::has_id() const {
+  return _internal_has_id();
 }
 inline void laserMsg::clear_id() {
   id_ = 0;
-  clear_has_id();
+  _has_bits_[0] &= ~0x00000008u;
 }
-inline ::google::protobuf::int32 laserMsg::id() const {
-  // @@protoc_insertion_point(field_get:laser_message.laserMsg.id)
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::_internal_id() const {
   return id_;
 }
-inline void laserMsg::set_id(::google::protobuf::int32 value) {
-  set_has_id();
+inline ::PROTOBUF_NAMESPACE_ID::int32 laserMsg::id() const {
+  // @@protoc_insertion_point(field_get:laser_message.laserMsg.id)
+  return _internal_id();
+}
+inline void laserMsg::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _has_bits_[0] |= 0x00000008u;
   id_ = value;
+}
+inline void laserMsg::set_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_set_id(value);
   // @@protoc_insertion_point(field_set:laser_message.laserMsg.id)
 }
 
@@ -333,18 +416,17 @@ inline void laserMsg::set_id(::google::protobuf::int32 value) {
 
 }  // namespace laser_message
 
-namespace google {
-namespace protobuf {
+PROTOBUF_NAMESPACE_OPEN
 
-template <> struct is_proto_enum< ::laser_message::laserStatus> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::laser_message::laserStatus> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::laser_message::laserStatus>() {
   return ::laser_message::laserStatus_descriptor();
 }
 
-}  // namespace protobuf
-}  // namespace google
+PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_laser_5fmessage_2eproto__INCLUDED
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_laser_5fmessage_2eproto

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 716 - 1064
laser/laser_parameter.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1019 - 658
laser/laser_parameter.pb.h


+ 2 - 2
locate/cnn3d_segmentation.cpp

@@ -391,10 +391,10 @@ Error_manager Cnn3d_segmentation::isRect(std::vector<cv::Point2f>& points)
 
         float width=std::min(l1,l2);
         float length=std::max(l1,l2);
-        if(width<1400 || width >2000 || length >3300 ||length < 2200)
+        if(width<1400 || width >1900 || length >3300 ||length < 2200)
         {
             char description[255]={0};
-            sprintf(description,"width<1400 || width >2100 || length >3300 ||length < 2100 l:%.1f,w:%.1f",length,width);
+            sprintf(description,"width<1400 || width >1900 || length >3300 ||length < 2200 l:%.1f,w:%.1f",length,width);
             return Error_manager(LOCATER_3DCNN_VERIFY_RECT_FAILED_4,NORMAL,description);
         }
 

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1131 - 1538
locate/locater_parameter.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1579 - 970
locate/locater_parameter.pb.h


+ 17 - 0
main.cpp

@@ -75,9 +75,26 @@ void init_glog()
     FLAGS_max_log_size = 1024;            // Set max log file size(GB)
     FLAGS_stop_logging_if_full_disk = true;
 }
+void test_classify()
+{
+    Locate_information info1,info2;
+
+    info1.locate_x=0;
+    info1.locate_y=0;
+    info1.locate_theta=45;
+
+    info2.locate_x=100;
+    info2.locate_y=0;
+    info2.locate_theta=45;
+
+    Terminor_Command_Executor::classify_location_informations(info1,info2);
+
+}
 
 int main(int argc,char* argv[])
 {
+    test_classify();
+    return 0;
     Error_manager code;
     //初始化日志
     init_glog();

+ 0 - 0
out/plc/plc_modbus_uml/PLC模块.png


+ 0 - 0
out/wj_lidar/wj_lidar_uml/电子围栏类图.png


+ 164 - 239
plc/plc_message.pb.cc

@@ -5,120 +5,84 @@
 
 #include <algorithm>
 
-#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/stubs/port.h>
-#include <google/protobuf/stubs/once.h>
 #include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/extension_set.h>
+#include <google/protobuf/wire_format_lite.h>
 #include <google/protobuf/descriptor.h>
 #include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/reflection_ops.h>
 #include <google/protobuf/wire_format.h>
-// This is a temporary google only hack
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-#include "third_party/protobuf/version.h"
-#endif
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
 namespace plc_message {
 class plcMsgDefaultTypeInternal {
  public:
-  ::google::protobuf::internal::ExplicitlyConstructed<plcMsg>
-      _instance;
+  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<plcMsg> _instance;
 } _plcMsg_default_instance_;
 }  // namespace plc_message
-namespace protobuf_plc_5fmessage_2eproto {
-void InitDefaultsplcMsgImpl() {
+static void InitDefaultsscc_info_plcMsg_plc_5fmessage_2eproto() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
-#else
-  ::google::protobuf::internal::InitProtobufDefaults();
-#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
   {
     void* ptr = &::plc_message::_plcMsg_default_instance_;
     new (ptr) ::plc_message::plcMsg();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
   }
   ::plc_message::plcMsg::InitAsDefaultInstance();
 }
 
-void InitDefaultsplcMsg() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsplcMsgImpl);
-}
+::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_plcMsg_plc_5fmessage_2eproto =
+    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_plcMsg_plc_5fmessage_2eproto}, {}};
 
-::google::protobuf::Metadata file_level_metadata[1];
-const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[1];
+static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_plc_5fmessage_2eproto[1];
+static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_plc_5fmessage_2eproto[1];
+static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_plc_5fmessage_2eproto = nullptr;
 
-const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::plc_message::plcMsg, _has_bits_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::plc_message::plcMsg, _internal_metadata_),
+const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_plc_5fmessage_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
+  PROTOBUF_FIELD_OFFSET(::plc_message::plcMsg, _has_bits_),
+  PROTOBUF_FIELD_OFFSET(::plc_message::plcMsg, _internal_metadata_),
   ~0u,  // no _extensions_
   ~0u,  // no _oneof_case_
   ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::plc_message::plcMsg, plc_status_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::plc_message::plcMsg, plc_values_),
+  PROTOBUF_FIELD_OFFSET(::plc_message::plcMsg, plc_status_),
+  PROTOBUF_FIELD_OFFSET(::plc_message::plcMsg, plc_values_),
   0,
   ~0u,
 };
-static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
   { 0, 7, sizeof(::plc_message::plcMsg)},
 };
 
-static ::google::protobuf::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::google::protobuf::Message*>(&::plc_message::_plcMsg_default_instance_),
+static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
+  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::plc_message::_plcMsg_default_instance_),
 };
 
-void protobuf_AssignDescriptors() {
-  AddDescriptors();
-  ::google::protobuf::MessageFactory* factory = NULL;
-  AssignDescriptors(
-      "plc_message.proto", schemas, file_default_instances, TableStruct::offsets, factory,
-      file_level_metadata, file_level_enum_descriptors, NULL);
-}
-
-void protobuf_AssignDescriptorsOnce() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
-}
-
-void AddDescriptorsImpl() {
-  InitDefaults();
-  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-      "\n\021plc_message.proto\022\013plc_message\"H\n\006plcM"
-      "sg\022*\n\nplc_status\030\001 \001(\0162\026.plc_message.plc"
-      "Status\022\022\n\nplc_values\030\002 \003(\005*V\n\tplcStatus\022"
-      "\021\n\rePLCConnected\020\000\022\024\n\020ePLCDisconnected\020\001"
-      "\022\017\n\013ePLCRefused\020\002\022\017\n\013ePLCUnknown\020\003"
-  };
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 194);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "plc_message.proto", &protobuf_RegisterTypes);
-}
+const char descriptor_table_protodef_plc_5fmessage_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
+  "\n\021plc_message.proto\022\013plc_message\"H\n\006plcM"
+  "sg\022*\n\nplc_status\030\001 \001(\0162\026.plc_message.plc"
+  "Status\022\022\n\nplc_values\030\002 \003(\005*V\n\tplcStatus\022"
+  "\021\n\rePLCConnected\020\000\022\024\n\020ePLCDisconnected\020\001"
+  "\022\017\n\013ePLCRefused\020\002\022\017\n\013ePLCUnknown\020\003"
+  ;
+static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_plc_5fmessage_2eproto_deps[1] = {
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_plc_5fmessage_2eproto_sccs[1] = {
+  &scc_info_plcMsg_plc_5fmessage_2eproto.base,
+};
+static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_plc_5fmessage_2eproto_once;
+const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_plc_5fmessage_2eproto = {
+  false, false, descriptor_table_protodef_plc_5fmessage_2eproto, "plc_message.proto", 194,
+  &descriptor_table_plc_5fmessage_2eproto_once, descriptor_table_plc_5fmessage_2eproto_sccs, descriptor_table_plc_5fmessage_2eproto_deps, 1, 0,
+  schemas, file_default_instances, TableStruct_plc_5fmessage_2eproto::offsets,
+  file_level_metadata_plc_5fmessage_2eproto, 1, file_level_enum_descriptors_plc_5fmessage_2eproto, file_level_service_descriptors_plc_5fmessage_2eproto,
+};
 
-void AddDescriptors() {
-  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
-  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
-}
-// Force AddDescriptors() to be called at dynamic initialization time.
-struct StaticDescriptorInitializer {
-  StaticDescriptorInitializer() {
-    AddDescriptors();
-  }
-} static_descriptor_initializer;
-}  // namespace protobuf_plc_5fmessage_2eproto
+// Force running AddDescriptors() at dynamic initialization time.
+static bool dynamic_init_dummy_plc_5fmessage_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_plc_5fmessage_2eproto)), true);
 namespace plc_message {
-const ::google::protobuf::EnumDescriptor* plcStatus_descriptor() {
-  protobuf_plc_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return protobuf_plc_5fmessage_2eproto::file_level_enum_descriptors[0];
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* plcStatus_descriptor() {
+  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_plc_5fmessage_2eproto);
+  return file_level_enum_descriptors_plc_5fmessage_2eproto[0];
 }
 bool plcStatus_IsValid(int value) {
   switch (value) {
@@ -137,194 +101,153 @@ bool plcStatus_IsValid(int value) {
 
 void plcMsg::InitAsDefaultInstance() {
 }
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int plcMsg::kPlcStatusFieldNumber;
-const int plcMsg::kPlcValuesFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-plcMsg::plcMsg()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
-    ::protobuf_plc_5fmessage_2eproto::InitDefaultsplcMsg();
+class plcMsg::_Internal {
+ public:
+  using HasBits = decltype(std::declval<plcMsg>()._has_bits_);
+  static void set_has_plc_status(HasBits* has_bits) {
+    (*has_bits)[0] |= 1u;
   }
+};
+
+plcMsg::plcMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena)
+  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
+  plc_values_(arena) {
   SharedCtor();
-  // @@protoc_insertion_point(constructor:plc_message.plcMsg)
+  RegisterArenaDtor(arena);
+  // @@protoc_insertion_point(arena_constructor:plc_message.plcMsg)
 }
 plcMsg::plcMsg(const plcMsg& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
+  : ::PROTOBUF_NAMESPACE_ID::Message(),
       _has_bits_(from._has_bits_),
-      _cached_size_(0),
       plc_values_(from.plc_values_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
   plc_status_ = from.plc_status_;
   // @@protoc_insertion_point(copy_constructor:plc_message.plcMsg)
 }
 
 void plcMsg::SharedCtor() {
-  _cached_size_ = 0;
   plc_status_ = 0;
 }
 
 plcMsg::~plcMsg() {
   // @@protoc_insertion_point(destructor:plc_message.plcMsg)
   SharedDtor();
+  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
 }
 
 void plcMsg::SharedDtor() {
+  GOOGLE_DCHECK(GetArena() == nullptr);
 }
 
-void plcMsg::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+void plcMsg::ArenaDtor(void* object) {
+  plcMsg* _this = reinterpret_cast< plcMsg* >(object);
+  (void)_this;
 }
-const ::google::protobuf::Descriptor* plcMsg::descriptor() {
-  ::protobuf_plc_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_plc_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+void plcMsg::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+}
+void plcMsg::SetCachedSize(int size) const {
+  _cached_size_.Set(size);
 }
-
 const plcMsg& plcMsg::default_instance() {
-  ::protobuf_plc_5fmessage_2eproto::InitDefaultsplcMsg();
+  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_plcMsg_plc_5fmessage_2eproto.base);
   return *internal_default_instance();
 }
 
-plcMsg* plcMsg::New(::google::protobuf::Arena* arena) const {
-  plcMsg* n = new plcMsg;
-  if (arena != NULL) {
-    arena->Own(n);
-  }
-  return n;
-}
 
 void plcMsg::Clear() {
 // @@protoc_insertion_point(message_clear_start:plc_message.plcMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   // Prevent compiler warnings about cached_has_bits being unused
   (void) cached_has_bits;
 
   plc_values_.Clear();
   plc_status_ = 0;
   _has_bits_.Clear();
-  _internal_metadata_.Clear();
-}
-
-bool plcMsg::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:plc_message.plcMsg)
-  for (;;) {
-    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+}
+
+const char* plcMsg::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
+#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
+  _Internal::HasBits has_bits{};
+  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
+  while (!ctx->Done(&ptr)) {
+    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
+    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
+    CHK_(ptr);
+    switch (tag >> 3) {
       // optional .plc_message.plcStatus plc_status = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (::plc_message::plcStatus_IsValid(value)) {
-            set_plc_status(static_cast< ::plc_message::plcStatus >(value));
+      case 1:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
+          CHK_(ptr);
+          if (PROTOBUF_PREDICT_TRUE(::plc_message::plcStatus_IsValid(val))) {
+            _internal_set_plc_status(static_cast<::plc_message::plcStatus>(val));
           } else {
-            mutable_unknown_fields()->AddVarint(
-                1, static_cast< ::google::protobuf::uint64>(value));
+            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
           }
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+        } else goto handle_unusual;
+        continue;
       // repeated int32 plc_values = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 1, 16u, input, this->mutable_plc_values())));
-        } else if (
-            static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
-                 input, this->mutable_plc_values())));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
+      case 2:
+        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+          ptr -= 1;
+          do {
+            ptr += 1;
+            _internal_add_plc_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
+            CHK_(ptr);
+            if (!ctx->DataAvailable(ptr)) break;
+          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<16>(ptr));
+        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
+          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_plc_values(), ptr, ctx);
+          CHK_(ptr);
+        } else goto handle_unusual;
+        continue;
       default: {
       handle_unusual:
-        if (tag == 0) {
+        if ((tag & 7) == 4 || tag == 0) {
+          ctx->SetLastTag(tag);
           goto success;
         }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
+        ptr = UnknownFieldParse(tag,
+            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
+            ptr, ctx);
+        CHK_(ptr != nullptr);
+        continue;
       }
-    }
-  }
+    }  // switch
+  }  // while
 success:
-  // @@protoc_insertion_point(parse_success:plc_message.plcMsg)
-  return true;
+  _has_bits_.Or(has_bits);
+  return ptr;
 failure:
-  // @@protoc_insertion_point(parse_failure:plc_message.plcMsg)
-  return false;
-#undef DO_
-}
-
-void plcMsg::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:plc_message.plcMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  // optional .plc_message.plcStatus plc_status = 1;
-  if (cached_has_bits & 0x00000001u) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      1, this->plc_status(), output);
-  }
-
-  // repeated int32 plc_values = 2;
-  for (int i = 0, n = this->plc_values_size(); i < n; i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteInt32(
-      2, this->plc_values(i), output);
-  }
-
-  if (_internal_metadata_.have_unknown_fields()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        _internal_metadata_.unknown_fields(), output);
-  }
-  // @@protoc_insertion_point(serialize_end:plc_message.plcMsg)
+  ptr = nullptr;
+  goto success;
+#undef CHK_
 }
 
-::google::protobuf::uint8* plcMsg::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
+::PROTOBUF_NAMESPACE_ID::uint8* plcMsg::_InternalSerialize(
+    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
   // @@protoc_insertion_point(serialize_to_array_start:plc_message.plcMsg)
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   cached_has_bits = _has_bits_[0];
   // optional .plc_message.plcStatus plc_status = 1;
   if (cached_has_bits & 0x00000001u) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      1, this->plc_status(), target);
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
+      1, this->_internal_plc_status(), target);
   }
 
   // repeated int32 plc_values = 2;
-  target = ::google::protobuf::internal::WireFormatLite::
-    WriteInt32ToArray(2, this->plc_values_, target);
+  for (int i = 0, n = this->_internal_plc_values_size(); i < n; i++) {
+    target = stream->EnsureSpace(target);
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_plc_values(i), target);
+  }
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields(), target);
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
+        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
   }
   // @@protoc_insertion_point(serialize_to_array_end:plc_message.plcMsg)
   return target;
@@ -334,42 +257,44 @@ size_t plcMsg::ByteSizeLong() const {
 // @@protoc_insertion_point(message_byte_size_start:plc_message.plcMsg)
   size_t total_size = 0;
 
-  if (_internal_metadata_.have_unknown_fields()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        _internal_metadata_.unknown_fields());
-  }
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
   // repeated int32 plc_values = 2;
   {
-    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
       Int32Size(this->plc_values_);
     total_size += 1 *
-                  ::google::protobuf::internal::FromIntSize(this->plc_values_size());
+                  ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_plc_values_size());
     total_size += data_size;
   }
 
   // optional .plc_message.plcStatus plc_status = 1;
-  if (has_plc_status()) {
+  cached_has_bits = _has_bits_[0];
+  if (cached_has_bits & 0x00000001u) {
     total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::EnumSize(this->plc_status());
+      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_plc_status());
   }
 
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = cached_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
+    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
+        _internal_metadata_, total_size, &_cached_size_);
+  }
+  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
+  SetCachedSize(cached_size);
   return total_size;
 }
 
-void plcMsg::MergeFrom(const ::google::protobuf::Message& from) {
+void plcMsg::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
 // @@protoc_insertion_point(generalized_merge_from_start:plc_message.plcMsg)
   GOOGLE_DCHECK_NE(&from, this);
   const plcMsg* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const plcMsg>(
+      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<plcMsg>(
           &from);
-  if (source == NULL) {
+  if (source == nullptr) {
   // @@protoc_insertion_point(generalized_merge_from_cast_fail:plc_message.plcMsg)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
   } else {
   // @@protoc_insertion_point(generalized_merge_from_cast_success:plc_message.plcMsg)
     MergeFrom(*source);
@@ -379,17 +304,17 @@ void plcMsg::MergeFrom(const ::google::protobuf::Message& from) {
 void plcMsg::MergeFrom(const plcMsg& from) {
 // @@protoc_insertion_point(class_specific_merge_from_start:plc_message.plcMsg)
   GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
+  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
   (void) cached_has_bits;
 
   plc_values_.MergeFrom(from.plc_values_);
-  if (from.has_plc_status()) {
-    set_plc_status(from.plc_status());
+  if (from._internal_has_plc_status()) {
+    _internal_set_plc_status(from._internal_plc_status());
   }
 }
 
-void plcMsg::CopyFrom(const ::google::protobuf::Message& from) {
+void plcMsg::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
 // @@protoc_insertion_point(generalized_copy_from_start:plc_message.plcMsg)
   if (&from == this) return;
   Clear();
@@ -407,26 +332,26 @@ bool plcMsg::IsInitialized() const {
   return true;
 }
 
-void plcMsg::Swap(plcMsg* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
 void plcMsg::InternalSwap(plcMsg* other) {
   using std::swap;
+  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
+  swap(_has_bits_[0], other->_has_bits_[0]);
   plc_values_.InternalSwap(&other->plc_values_);
   swap(plc_status_, other->plc_status_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-  swap(_cached_size_, other->_cached_size_);
 }
 
-::google::protobuf::Metadata plcMsg::GetMetadata() const {
-  protobuf_plc_5fmessage_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_plc_5fmessage_2eproto::file_level_metadata[kIndexInFileMessages];
+::PROTOBUF_NAMESPACE_ID::Metadata plcMsg::GetMetadata() const {
+  return GetMetadataStatic();
 }
 
 
 // @@protoc_insertion_point(namespace_scope)
 }  // namespace plc_message
+PROTOBUF_NAMESPACE_OPEN
+template<> PROTOBUF_NOINLINE ::plc_message::plcMsg* Arena::CreateMaybeMessage< ::plc_message::plcMsg >(Arena* arena) {
+  return Arena::CreateMessageInternal< ::plc_message::plcMsg >(arena);
+}
+PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
+#include <google/protobuf/port_undef.inc>

+ 202 - 119
plc/plc_message.pb.h

@@ -1,118 +1,138 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: plc_message.proto
 
-#ifndef PROTOBUF_plc_5fmessage_2eproto__INCLUDED
-#define PROTOBUF_plc_5fmessage_2eproto__INCLUDED
+#ifndef GOOGLE_PROTOBUF_INCLUDED_plc_5fmessage_2eproto
+#define GOOGLE_PROTOBUF_INCLUDED_plc_5fmessage_2eproto
 
+#include <limits>
 #include <string>
 
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3013000
 #error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
+#error incompatible with your Protocol Buffer headers. Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
+#error incompatible with your Protocol Buffer headers. Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
+#include <google/protobuf/port_undef.inc>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/arena.h>
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata.h>
+#include <google/protobuf/inlined_string_field.h>
+#include <google/protobuf/metadata_lite.h>
+#include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_plc_5fmessage_2eproto
+PROTOBUF_NAMESPACE_OPEN
+namespace internal {
+class AnyMetadata;
+}  // namespace internal
+PROTOBUF_NAMESPACE_CLOSE
 
-namespace protobuf_plc_5fmessage_2eproto {
 // Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[1];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
+struct TableStruct_plc_5fmessage_2eproto {
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
+  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
 };
-void AddDescriptors();
-void InitDefaultsplcMsgImpl();
-void InitDefaultsplcMsg();
-inline void InitDefaults() {
-  InitDefaultsplcMsg();
-}
-}  // namespace protobuf_plc_5fmessage_2eproto
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_plc_5fmessage_2eproto;
 namespace plc_message {
 class plcMsg;
 class plcMsgDefaultTypeInternal;
 extern plcMsgDefaultTypeInternal _plcMsg_default_instance_;
 }  // namespace plc_message
+PROTOBUF_NAMESPACE_OPEN
+template<> ::plc_message::plcMsg* Arena::CreateMaybeMessage<::plc_message::plcMsg>(Arena*);
+PROTOBUF_NAMESPACE_CLOSE
 namespace plc_message {
 
-enum plcStatus {
+enum plcStatus : int {
   ePLCConnected = 0,
   ePLCDisconnected = 1,
   ePLCRefused = 2,
   ePLCUnknown = 3
 };
 bool plcStatus_IsValid(int value);
-const plcStatus plcStatus_MIN = ePLCConnected;
-const plcStatus plcStatus_MAX = ePLCUnknown;
-const int plcStatus_ARRAYSIZE = plcStatus_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* plcStatus_descriptor();
-inline const ::std::string& plcStatus_Name(plcStatus value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    plcStatus_descriptor(), value);
+constexpr plcStatus plcStatus_MIN = ePLCConnected;
+constexpr plcStatus plcStatus_MAX = ePLCUnknown;
+constexpr int plcStatus_ARRAYSIZE = plcStatus_MAX + 1;
+
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* plcStatus_descriptor();
+template<typename T>
+inline const std::string& plcStatus_Name(T enum_t_value) {
+  static_assert(::std::is_same<T, plcStatus>::value ||
+    ::std::is_integral<T>::value,
+    "Incorrect type passed to function plcStatus_Name.");
+  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
+    plcStatus_descriptor(), enum_t_value);
 }
 inline bool plcStatus_Parse(
-    const ::std::string& name, plcStatus* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<plcStatus>(
+    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, plcStatus* value) {
+  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<plcStatus>(
     plcStatus_descriptor(), name, value);
 }
 // ===================================================================
 
-class plcMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:plc_message.plcMsg) */ {
+class plcMsg PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:plc_message.plcMsg) */ {
  public:
-  plcMsg();
+  inline plcMsg() : plcMsg(nullptr) {}
   virtual ~plcMsg();
 
   plcMsg(const plcMsg& from);
-
-  inline plcMsg& operator=(const plcMsg& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   plcMsg(plcMsg&& from) noexcept
     : plcMsg() {
     *this = ::std::move(from);
   }
 
+  inline plcMsg& operator=(const plcMsg& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline plcMsg& operator=(plcMsg&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const plcMsg& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -120,85 +140,128 @@ class plcMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(cl
     return reinterpret_cast<const plcMsg*>(
                &_plcMsg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
-  void Swap(plcMsg* other);
   friend void swap(plcMsg& a, plcMsg& b) {
     a.Swap(&b);
   }
+  inline void Swap(plcMsg* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(plcMsg* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline plcMsg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline plcMsg* New() const final {
+    return CreateMaybeMessage<plcMsg>(nullptr);
+  }
 
-  plcMsg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  plcMsg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<plcMsg>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const plcMsg& from);
   void MergeFrom(const plcMsg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(plcMsg* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "plc_message.plcMsg";
   }
+  protected:
+  explicit plcMsg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_plc_5fmessage_2eproto);
+    return ::descriptor_table_plc_5fmessage_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kPlcValuesFieldNumber = 2,
+    kPlcStatusFieldNumber = 1,
+  };
   // repeated int32 plc_values = 2;
   int plc_values_size() const;
+  private:
+  int _internal_plc_values_size() const;
+  public:
   void clear_plc_values();
-  static const int kPlcValuesFieldNumber = 2;
-  ::google::protobuf::int32 plc_values(int index) const;
-  void set_plc_values(int index, ::google::protobuf::int32 value);
-  void add_plc_values(::google::protobuf::int32 value);
-  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_plc_values(int index) const;
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
+      _internal_plc_values() const;
+  void _internal_add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
+      _internal_mutable_plc_values();
+  public:
+  ::PROTOBUF_NAMESPACE_ID::int32 plc_values(int index) const;
+  void set_plc_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
+  void add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value);
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
       plc_values() const;
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
       mutable_plc_values();
 
   // optional .plc_message.plcStatus plc_status = 1;
   bool has_plc_status() const;
+  private:
+  bool _internal_has_plc_status() const;
+  public:
   void clear_plc_status();
-  static const int kPlcStatusFieldNumber = 1;
   ::plc_message::plcStatus plc_status() const;
   void set_plc_status(::plc_message::plcStatus value);
+  private:
+  ::plc_message::plcStatus _internal_plc_status() const;
+  void _internal_set_plc_status(::plc_message::plcStatus value);
+  public:
 
   // @@protoc_insertion_point(class_scope:plc_message.plcMsg)
  private:
-  void set_has_plc_status();
-  void clear_has_plc_status();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > plc_values_;
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > plc_values_;
   int plc_status_;
-  friend struct ::protobuf_plc_5fmessage_2eproto::TableStruct;
-  friend void ::protobuf_plc_5fmessage_2eproto::InitDefaultsplcMsgImpl();
+  friend struct ::TableStruct_plc_5fmessage_2eproto;
 };
 // ===================================================================
 
@@ -212,58 +275,79 @@ class plcMsg : public ::google::protobuf::Message /* @@protoc_insertion_point(cl
 // plcMsg
 
 // optional .plc_message.plcStatus plc_status = 1;
-inline bool plcMsg::has_plc_status() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void plcMsg::set_has_plc_status() {
-  _has_bits_[0] |= 0x00000001u;
+inline bool plcMsg::_internal_has_plc_status() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  return value;
 }
-inline void plcMsg::clear_has_plc_status() {
-  _has_bits_[0] &= ~0x00000001u;
+inline bool plcMsg::has_plc_status() const {
+  return _internal_has_plc_status();
 }
 inline void plcMsg::clear_plc_status() {
   plc_status_ = 0;
-  clear_has_plc_status();
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline ::plc_message::plcStatus plcMsg::_internal_plc_status() const {
+  return static_cast< ::plc_message::plcStatus >(plc_status_);
 }
 inline ::plc_message::plcStatus plcMsg::plc_status() const {
   // @@protoc_insertion_point(field_get:plc_message.plcMsg.plc_status)
-  return static_cast< ::plc_message::plcStatus >(plc_status_);
+  return _internal_plc_status();
 }
-inline void plcMsg::set_plc_status(::plc_message::plcStatus value) {
+inline void plcMsg::_internal_set_plc_status(::plc_message::plcStatus value) {
   assert(::plc_message::plcStatus_IsValid(value));
-  set_has_plc_status();
+  _has_bits_[0] |= 0x00000001u;
   plc_status_ = value;
+}
+inline void plcMsg::set_plc_status(::plc_message::plcStatus value) {
+  _internal_set_plc_status(value);
   // @@protoc_insertion_point(field_set:plc_message.plcMsg.plc_status)
 }
 
 // repeated int32 plc_values = 2;
-inline int plcMsg::plc_values_size() const {
+inline int plcMsg::_internal_plc_values_size() const {
   return plc_values_.size();
 }
+inline int plcMsg::plc_values_size() const {
+  return _internal_plc_values_size();
+}
 inline void plcMsg::clear_plc_values() {
   plc_values_.Clear();
 }
-inline ::google::protobuf::int32 plcMsg::plc_values(int index) const {
-  // @@protoc_insertion_point(field_get:plc_message.plcMsg.plc_values)
+inline ::PROTOBUF_NAMESPACE_ID::int32 plcMsg::_internal_plc_values(int index) const {
   return plc_values_.Get(index);
 }
-inline void plcMsg::set_plc_values(int index, ::google::protobuf::int32 value) {
+inline ::PROTOBUF_NAMESPACE_ID::int32 plcMsg::plc_values(int index) const {
+  // @@protoc_insertion_point(field_get:plc_message.plcMsg.plc_values)
+  return _internal_plc_values(index);
+}
+inline void plcMsg::set_plc_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
   plc_values_.Set(index, value);
   // @@protoc_insertion_point(field_set:plc_message.plcMsg.plc_values)
 }
-inline void plcMsg::add_plc_values(::google::protobuf::int32 value) {
+inline void plcMsg::_internal_add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value) {
   plc_values_.Add(value);
+}
+inline void plcMsg::add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_add_plc_values(value);
   // @@protoc_insertion_point(field_add:plc_message.plcMsg.plc_values)
 }
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
+plcMsg::_internal_plc_values() const {
+  return plc_values_;
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
 plcMsg::plc_values() const {
   // @@protoc_insertion_point(field_list:plc_message.plcMsg.plc_values)
-  return plc_values_;
+  return _internal_plc_values();
+}
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
+plcMsg::_internal_mutable_plc_values() {
+  return &plc_values_;
 }
-inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
 plcMsg::mutable_plc_values() {
   // @@protoc_insertion_point(field_mutable_list:plc_message.plcMsg.plc_values)
-  return &plc_values_;
+  return _internal_mutable_plc_values();
 }
 
 #ifdef __GNUC__
@@ -274,18 +358,17 @@ plcMsg::mutable_plc_values() {
 
 }  // namespace plc_message
 
-namespace google {
-namespace protobuf {
+PROTOBUF_NAMESPACE_OPEN
 
-template <> struct is_proto_enum< ::plc_message::plcStatus> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::plc_message::plcStatus> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::plc_message::plcStatus>() {
   return ::plc_message::plcStatus_descriptor();
 }
 
-}  // namespace protobuf
-}  // namespace google
+PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_plc_5fmessage_2eproto__INCLUDED
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_plc_5fmessage_2eproto

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 341 - 470
plc/plc_module.pb.cc


+ 404 - 256
plc/plc_module.pb.h

@@ -1,57 +1,60 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: plc_module.proto
 
-#ifndef PROTOBUF_plc_5fmodule_2eproto__INCLUDED
-#define PROTOBUF_plc_5fmodule_2eproto__INCLUDED
+#ifndef GOOGLE_PROTOBUF_INCLUDED_plc_5fmodule_2eproto
+#define GOOGLE_PROTOBUF_INCLUDED_plc_5fmodule_2eproto
 
+#include <limits>
 #include <string>
 
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3013000
 #error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
+#error incompatible with your Protocol Buffer headers. Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
+#error incompatible with your Protocol Buffer headers. Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
+#include <google/protobuf/port_undef.inc>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/arena.h>
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata.h>
+#include <google/protobuf/inlined_string_field.h>
+#include <google/protobuf/metadata_lite.h>
+#include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/generated_enum_reflection.h>
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_plc_5fmodule_2eproto
+PROTOBUF_NAMESPACE_OPEN
+namespace internal {
+class AnyMetadata;
+}  // namespace internal
+PROTOBUF_NAMESPACE_CLOSE
 
-namespace protobuf_plc_5fmodule_2eproto {
 // Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[2];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
+struct TableStruct_plc_5fmodule_2eproto {
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
+  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
 };
-void AddDescriptors();
-void InitDefaultsplc_connection_paramsImpl();
-void InitDefaultsplc_connection_params();
-void InitDefaultsPlc_msgImpl();
-void InitDefaultsPlc_msg();
-inline void InitDefaults() {
-  InitDefaultsplc_connection_params();
-  InitDefaultsPlc_msg();
-}
-}  // namespace protobuf_plc_5fmodule_2eproto
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_plc_5fmodule_2eproto;
 namespace plc_module {
 class Plc_msg;
 class Plc_msgDefaultTypeInternal;
@@ -60,65 +63,80 @@ class plc_connection_params;
 class plc_connection_paramsDefaultTypeInternal;
 extern plc_connection_paramsDefaultTypeInternal _plc_connection_params_default_instance_;
 }  // namespace plc_module
+PROTOBUF_NAMESPACE_OPEN
+template<> ::plc_module::Plc_msg* Arena::CreateMaybeMessage<::plc_module::Plc_msg>(Arena*);
+template<> ::plc_module::plc_connection_params* Arena::CreateMaybeMessage<::plc_module::plc_connection_params>(Arena*);
+PROTOBUF_NAMESPACE_CLOSE
 namespace plc_module {
 
-enum PLC_STATUS {
+enum PLC_STATUS : int {
   ePLCConnected = 0,
   ePLCDisconnected = 1,
   ePLCRefused = 2,
   ePLCUnknown = 3
 };
 bool PLC_STATUS_IsValid(int value);
-const PLC_STATUS PLC_STATUS_MIN = ePLCConnected;
-const PLC_STATUS PLC_STATUS_MAX = ePLCUnknown;
-const int PLC_STATUS_ARRAYSIZE = PLC_STATUS_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* PLC_STATUS_descriptor();
-inline const ::std::string& PLC_STATUS_Name(PLC_STATUS value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    PLC_STATUS_descriptor(), value);
+constexpr PLC_STATUS PLC_STATUS_MIN = ePLCConnected;
+constexpr PLC_STATUS PLC_STATUS_MAX = ePLCUnknown;
+constexpr int PLC_STATUS_ARRAYSIZE = PLC_STATUS_MAX + 1;
+
+const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PLC_STATUS_descriptor();
+template<typename T>
+inline const std::string& PLC_STATUS_Name(T enum_t_value) {
+  static_assert(::std::is_same<T, PLC_STATUS>::value ||
+    ::std::is_integral<T>::value,
+    "Incorrect type passed to function PLC_STATUS_Name.");
+  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
+    PLC_STATUS_descriptor(), enum_t_value);
 }
 inline bool PLC_STATUS_Parse(
-    const ::std::string& name, PLC_STATUS* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<PLC_STATUS>(
+    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PLC_STATUS* value) {
+  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<PLC_STATUS>(
     PLC_STATUS_descriptor(), name, value);
 }
 // ===================================================================
 
-class plc_connection_params : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:plc_module.plc_connection_params) */ {
+class plc_connection_params PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:plc_module.plc_connection_params) */ {
  public:
-  plc_connection_params();
+  inline plc_connection_params() : plc_connection_params(nullptr) {}
   virtual ~plc_connection_params();
 
   plc_connection_params(const plc_connection_params& from);
-
-  inline plc_connection_params& operator=(const plc_connection_params& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   plc_connection_params(plc_connection_params&& from) noexcept
     : plc_connection_params() {
     *this = ::std::move(from);
   }
 
+  inline plc_connection_params& operator=(const plc_connection_params& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline plc_connection_params& operator=(plc_connection_params&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const plc_connection_params& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -126,140 +144,188 @@ class plc_connection_params : public ::google::protobuf::Message /* @@protoc_ins
     return reinterpret_cast<const plc_connection_params*>(
                &_plc_connection_params_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
-  void Swap(plc_connection_params* other);
   friend void swap(plc_connection_params& a, plc_connection_params& b) {
     a.Swap(&b);
   }
+  inline void Swap(plc_connection_params* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(plc_connection_params* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline plc_connection_params* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline plc_connection_params* New() const final {
+    return CreateMaybeMessage<plc_connection_params>(nullptr);
+  }
 
-  plc_connection_params* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  plc_connection_params* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<plc_connection_params>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const plc_connection_params& from);
   void MergeFrom(const plc_connection_params& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(plc_connection_params* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "plc_module.plc_connection_params";
   }
+  protected:
+  explicit plc_connection_params(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_plc_5fmodule_2eproto);
+    return ::descriptor_table_plc_5fmodule_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kIpFieldNumber = 1,
+    kPortFieldNumber = 2,
+    kSlaveIdFieldNumber = 3,
+  };
   // required string ip = 1;
   bool has_ip() const;
+  private:
+  bool _internal_has_ip() const;
+  public:
   void clear_ip();
-  static const int kIpFieldNumber = 1;
-  const ::std::string& ip() const;
-  void set_ip(const ::std::string& value);
-  #if LANG_CXX11
-  void set_ip(::std::string&& value);
-  #endif
+  const std::string& ip() const;
+  void set_ip(const std::string& value);
+  void set_ip(std::string&& value);
   void set_ip(const char* value);
   void set_ip(const char* value, size_t size);
-  ::std::string* mutable_ip();
-  ::std::string* release_ip();
-  void set_allocated_ip(::std::string* ip);
+  std::string* mutable_ip();
+  std::string* release_ip();
+  void set_allocated_ip(std::string* ip);
+  private:
+  const std::string& _internal_ip() const;
+  void _internal_set_ip(const std::string& value);
+  std::string* _internal_mutable_ip();
+  public:
 
   // required int32 port = 2;
   bool has_port() const;
+  private:
+  bool _internal_has_port() const;
+  public:
   void clear_port();
-  static const int kPortFieldNumber = 2;
-  ::google::protobuf::int32 port() const;
-  void set_port(::google::protobuf::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::int32 port() const;
+  void set_port(::PROTOBUF_NAMESPACE_ID::int32 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_port() const;
+  void _internal_set_port(::PROTOBUF_NAMESPACE_ID::int32 value);
+  public:
 
   // required int32 slave_id = 3;
   bool has_slave_id() const;
+  private:
+  bool _internal_has_slave_id() const;
+  public:
   void clear_slave_id();
-  static const int kSlaveIdFieldNumber = 3;
-  ::google::protobuf::int32 slave_id() const;
-  void set_slave_id(::google::protobuf::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::int32 slave_id() const;
+  void set_slave_id(::PROTOBUF_NAMESPACE_ID::int32 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_slave_id() const;
+  void _internal_set_slave_id(::PROTOBUF_NAMESPACE_ID::int32 value);
+  public:
 
   // @@protoc_insertion_point(class_scope:plc_module.plc_connection_params)
  private:
-  void set_has_ip();
-  void clear_has_ip();
-  void set_has_port();
-  void clear_has_port();
-  void set_has_slave_id();
-  void clear_has_slave_id();
+  class _Internal;
 
   // helper for ByteSizeLong()
   size_t RequiredFieldsByteSizeFallback() const;
 
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::internal::ArenaStringPtr ip_;
-  ::google::protobuf::int32 port_;
-  ::google::protobuf::int32 slave_id_;
-  friend struct ::protobuf_plc_5fmodule_2eproto::TableStruct;
-  friend void ::protobuf_plc_5fmodule_2eproto::InitDefaultsplc_connection_paramsImpl();
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ip_;
+  ::PROTOBUF_NAMESPACE_ID::int32 port_;
+  ::PROTOBUF_NAMESPACE_ID::int32 slave_id_;
+  friend struct ::TableStruct_plc_5fmodule_2eproto;
 };
 // -------------------------------------------------------------------
 
-class Plc_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:plc_module.Plc_msg) */ {
+class Plc_msg PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:plc_module.Plc_msg) */ {
  public:
-  Plc_msg();
+  inline Plc_msg() : Plc_msg(nullptr) {}
   virtual ~Plc_msg();
 
   Plc_msg(const Plc_msg& from);
-
-  inline Plc_msg& operator=(const Plc_msg& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   Plc_msg(Plc_msg&& from) noexcept
     : Plc_msg() {
     *this = ::std::move(from);
   }
 
+  inline Plc_msg& operator=(const Plc_msg& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline Plc_msg& operator=(Plc_msg&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const Plc_msg& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -267,85 +333,128 @@ class Plc_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(c
     return reinterpret_cast<const Plc_msg*>(
                &_Plc_msg_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
-  void Swap(Plc_msg* other);
   friend void swap(Plc_msg& a, Plc_msg& b) {
     a.Swap(&b);
   }
+  inline void Swap(Plc_msg* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(Plc_msg* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline Plc_msg* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Plc_msg* New() const final {
+    return CreateMaybeMessage<Plc_msg>(nullptr);
+  }
 
-  Plc_msg* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Plc_msg* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<Plc_msg>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Plc_msg& from);
   void MergeFrom(const Plc_msg& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(Plc_msg* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "plc_module.Plc_msg";
   }
+  protected:
+  explicit Plc_msg(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_plc_5fmodule_2eproto);
+    return ::descriptor_table_plc_5fmodule_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kPlcValuesFieldNumber = 2,
+    kStatusFieldNumber = 1,
+  };
   // repeated int32 plc_values = 2;
   int plc_values_size() const;
+  private:
+  int _internal_plc_values_size() const;
+  public:
   void clear_plc_values();
-  static const int kPlcValuesFieldNumber = 2;
-  ::google::protobuf::int32 plc_values(int index) const;
-  void set_plc_values(int index, ::google::protobuf::int32 value);
-  void add_plc_values(::google::protobuf::int32 value);
-  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int32 _internal_plc_values(int index) const;
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
+      _internal_plc_values() const;
+  void _internal_add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value);
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
+      _internal_mutable_plc_values();
+  public:
+  ::PROTOBUF_NAMESPACE_ID::int32 plc_values(int index) const;
+  void set_plc_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
+  void add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value);
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
       plc_values() const;
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
       mutable_plc_values();
 
   // optional .plc_module.PLC_STATUS status = 1;
   bool has_status() const;
+  private:
+  bool _internal_has_status() const;
+  public:
   void clear_status();
-  static const int kStatusFieldNumber = 1;
   ::plc_module::PLC_STATUS status() const;
   void set_status(::plc_module::PLC_STATUS value);
+  private:
+  ::plc_module::PLC_STATUS _internal_status() const;
+  void _internal_set_status(::plc_module::PLC_STATUS value);
+  public:
 
   // @@protoc_insertion_point(class_scope:plc_module.Plc_msg)
  private:
-  void set_has_status();
-  void clear_has_status();
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > plc_values_;
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > plc_values_;
   int status_;
-  friend struct ::protobuf_plc_5fmodule_2eproto::TableStruct;
-  friend void ::protobuf_plc_5fmodule_2eproto::InitDefaultsPlc_msgImpl();
+  friend struct ::TableStruct_plc_5fmodule_2eproto;
 };
 // ===================================================================
 
@@ -359,113 +468,132 @@ class Plc_msg : public ::google::protobuf::Message /* @@protoc_insertion_point(c
 // plc_connection_params
 
 // required string ip = 1;
-inline bool plc_connection_params::has_ip() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+inline bool plc_connection_params::_internal_has_ip() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  return value;
 }
-inline void plc_connection_params::set_has_ip() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void plc_connection_params::clear_has_ip() {
-  _has_bits_[0] &= ~0x00000001u;
+inline bool plc_connection_params::has_ip() const {
+  return _internal_has_ip();
 }
 inline void plc_connection_params::clear_ip() {
-  ip_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  clear_has_ip();
+  ip_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
+  _has_bits_[0] &= ~0x00000001u;
 }
-inline const ::std::string& plc_connection_params::ip() const {
+inline const std::string& plc_connection_params::ip() const {
   // @@protoc_insertion_point(field_get:plc_module.plc_connection_params.ip)
-  return ip_.GetNoArena();
+  return _internal_ip();
 }
-inline void plc_connection_params::set_ip(const ::std::string& value) {
-  set_has_ip();
-  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+inline void plc_connection_params::set_ip(const std::string& value) {
+  _internal_set_ip(value);
   // @@protoc_insertion_point(field_set:plc_module.plc_connection_params.ip)
 }
-#if LANG_CXX11
-inline void plc_connection_params::set_ip(::std::string&& value) {
-  set_has_ip();
-  ip_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+inline std::string* plc_connection_params::mutable_ip() {
+  // @@protoc_insertion_point(field_mutable:plc_module.plc_connection_params.ip)
+  return _internal_mutable_ip();
+}
+inline const std::string& plc_connection_params::_internal_ip() const {
+  return ip_.Get();
+}
+inline void plc_connection_params::_internal_set_ip(const std::string& value) {
+  _has_bits_[0] |= 0x00000001u;
+  ip_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
+}
+inline void plc_connection_params::set_ip(std::string&& value) {
+  _has_bits_[0] |= 0x00000001u;
+  ip_.Set(
+    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
   // @@protoc_insertion_point(field_set_rvalue:plc_module.plc_connection_params.ip)
 }
-#endif
 inline void plc_connection_params::set_ip(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  set_has_ip();
-  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  GOOGLE_DCHECK(value != nullptr);
+  _has_bits_[0] |= 0x00000001u;
+  ip_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
+              GetArena());
   // @@protoc_insertion_point(field_set_char:plc_module.plc_connection_params.ip)
 }
-inline void plc_connection_params::set_ip(const char* value, size_t size) {
-  set_has_ip();
-  ip_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
+inline void plc_connection_params::set_ip(const char* value,
+    size_t size) {
+  _has_bits_[0] |= 0x00000001u;
+  ip_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
+      reinterpret_cast<const char*>(value), size), GetArena());
   // @@protoc_insertion_point(field_set_pointer:plc_module.plc_connection_params.ip)
 }
-inline ::std::string* plc_connection_params::mutable_ip() {
-  set_has_ip();
-  // @@protoc_insertion_point(field_mutable:plc_module.plc_connection_params.ip)
-  return ip_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+inline std::string* plc_connection_params::_internal_mutable_ip() {
+  _has_bits_[0] |= 0x00000001u;
+  return ip_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
 }
-inline ::std::string* plc_connection_params::release_ip() {
+inline std::string* plc_connection_params::release_ip() {
   // @@protoc_insertion_point(field_release:plc_module.plc_connection_params.ip)
-  clear_has_ip();
-  return ip_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (!_internal_has_ip()) {
+    return nullptr;
+  }
+  _has_bits_[0] &= ~0x00000001u;
+  return ip_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
 }
-inline void plc_connection_params::set_allocated_ip(::std::string* ip) {
-  if (ip != NULL) {
-    set_has_ip();
+inline void plc_connection_params::set_allocated_ip(std::string* ip) {
+  if (ip != nullptr) {
+    _has_bits_[0] |= 0x00000001u;
   } else {
-    clear_has_ip();
+    _has_bits_[0] &= ~0x00000001u;
   }
-  ip_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ip);
+  ip_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ip,
+      GetArena());
   // @@protoc_insertion_point(field_set_allocated:plc_module.plc_connection_params.ip)
 }
 
 // required int32 port = 2;
-inline bool plc_connection_params::has_port() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void plc_connection_params::set_has_port() {
-  _has_bits_[0] |= 0x00000002u;
+inline bool plc_connection_params::_internal_has_port() const {
+  bool value = (_has_bits_[0] & 0x00000002u) != 0;
+  return value;
 }
-inline void plc_connection_params::clear_has_port() {
-  _has_bits_[0] &= ~0x00000002u;
+inline bool plc_connection_params::has_port() const {
+  return _internal_has_port();
 }
 inline void plc_connection_params::clear_port() {
   port_ = 0;
-  clear_has_port();
+  _has_bits_[0] &= ~0x00000002u;
 }
-inline ::google::protobuf::int32 plc_connection_params::port() const {
-  // @@protoc_insertion_point(field_get:plc_module.plc_connection_params.port)
+inline ::PROTOBUF_NAMESPACE_ID::int32 plc_connection_params::_internal_port() const {
   return port_;
 }
-inline void plc_connection_params::set_port(::google::protobuf::int32 value) {
-  set_has_port();
+inline ::PROTOBUF_NAMESPACE_ID::int32 plc_connection_params::port() const {
+  // @@protoc_insertion_point(field_get:plc_module.plc_connection_params.port)
+  return _internal_port();
+}
+inline void plc_connection_params::_internal_set_port(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _has_bits_[0] |= 0x00000002u;
   port_ = value;
+}
+inline void plc_connection_params::set_port(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_set_port(value);
   // @@protoc_insertion_point(field_set:plc_module.plc_connection_params.port)
 }
 
 // required int32 slave_id = 3;
-inline bool plc_connection_params::has_slave_id() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
+inline bool plc_connection_params::_internal_has_slave_id() const {
+  bool value = (_has_bits_[0] & 0x00000004u) != 0;
+  return value;
 }
-inline void plc_connection_params::set_has_slave_id() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void plc_connection_params::clear_has_slave_id() {
-  _has_bits_[0] &= ~0x00000004u;
+inline bool plc_connection_params::has_slave_id() const {
+  return _internal_has_slave_id();
 }
 inline void plc_connection_params::clear_slave_id() {
   slave_id_ = 0;
-  clear_has_slave_id();
+  _has_bits_[0] &= ~0x00000004u;
 }
-inline ::google::protobuf::int32 plc_connection_params::slave_id() const {
-  // @@protoc_insertion_point(field_get:plc_module.plc_connection_params.slave_id)
+inline ::PROTOBUF_NAMESPACE_ID::int32 plc_connection_params::_internal_slave_id() const {
   return slave_id_;
 }
-inline void plc_connection_params::set_slave_id(::google::protobuf::int32 value) {
-  set_has_slave_id();
+inline ::PROTOBUF_NAMESPACE_ID::int32 plc_connection_params::slave_id() const {
+  // @@protoc_insertion_point(field_get:plc_module.plc_connection_params.slave_id)
+  return _internal_slave_id();
+}
+inline void plc_connection_params::_internal_set_slave_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _has_bits_[0] |= 0x00000004u;
   slave_id_ = value;
+}
+inline void plc_connection_params::set_slave_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_set_slave_id(value);
   // @@protoc_insertion_point(field_set:plc_module.plc_connection_params.slave_id)
 }
 
@@ -474,58 +602,79 @@ inline void plc_connection_params::set_slave_id(::google::protobuf::int32 value)
 // Plc_msg
 
 // optional .plc_module.PLC_STATUS status = 1;
-inline bool Plc_msg::has_status() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+inline bool Plc_msg::_internal_has_status() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  return value;
 }
-inline void Plc_msg::set_has_status() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void Plc_msg::clear_has_status() {
-  _has_bits_[0] &= ~0x00000001u;
+inline bool Plc_msg::has_status() const {
+  return _internal_has_status();
 }
 inline void Plc_msg::clear_status() {
   status_ = 0;
-  clear_has_status();
+  _has_bits_[0] &= ~0x00000001u;
+}
+inline ::plc_module::PLC_STATUS Plc_msg::_internal_status() const {
+  return static_cast< ::plc_module::PLC_STATUS >(status_);
 }
 inline ::plc_module::PLC_STATUS Plc_msg::status() const {
   // @@protoc_insertion_point(field_get:plc_module.Plc_msg.status)
-  return static_cast< ::plc_module::PLC_STATUS >(status_);
+  return _internal_status();
 }
-inline void Plc_msg::set_status(::plc_module::PLC_STATUS value) {
+inline void Plc_msg::_internal_set_status(::plc_module::PLC_STATUS value) {
   assert(::plc_module::PLC_STATUS_IsValid(value));
-  set_has_status();
+  _has_bits_[0] |= 0x00000001u;
   status_ = value;
+}
+inline void Plc_msg::set_status(::plc_module::PLC_STATUS value) {
+  _internal_set_status(value);
   // @@protoc_insertion_point(field_set:plc_module.Plc_msg.status)
 }
 
 // repeated int32 plc_values = 2;
-inline int Plc_msg::plc_values_size() const {
+inline int Plc_msg::_internal_plc_values_size() const {
   return plc_values_.size();
 }
+inline int Plc_msg::plc_values_size() const {
+  return _internal_plc_values_size();
+}
 inline void Plc_msg::clear_plc_values() {
   plc_values_.Clear();
 }
-inline ::google::protobuf::int32 Plc_msg::plc_values(int index) const {
-  // @@protoc_insertion_point(field_get:plc_module.Plc_msg.plc_values)
+inline ::PROTOBUF_NAMESPACE_ID::int32 Plc_msg::_internal_plc_values(int index) const {
   return plc_values_.Get(index);
 }
-inline void Plc_msg::set_plc_values(int index, ::google::protobuf::int32 value) {
+inline ::PROTOBUF_NAMESPACE_ID::int32 Plc_msg::plc_values(int index) const {
+  // @@protoc_insertion_point(field_get:plc_module.Plc_msg.plc_values)
+  return _internal_plc_values(index);
+}
+inline void Plc_msg::set_plc_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
   plc_values_.Set(index, value);
   // @@protoc_insertion_point(field_set:plc_module.Plc_msg.plc_values)
 }
-inline void Plc_msg::add_plc_values(::google::protobuf::int32 value) {
+inline void Plc_msg::_internal_add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value) {
   plc_values_.Add(value);
+}
+inline void Plc_msg::add_plc_values(::PROTOBUF_NAMESPACE_ID::int32 value) {
+  _internal_add_plc_values(value);
   // @@protoc_insertion_point(field_add:plc_module.Plc_msg.plc_values)
 }
-inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
+Plc_msg::_internal_plc_values() const {
+  return plc_values_;
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
 Plc_msg::plc_values() const {
   // @@protoc_insertion_point(field_list:plc_module.Plc_msg.plc_values)
-  return plc_values_;
+  return _internal_plc_values();
+}
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
+Plc_msg::_internal_mutable_plc_values() {
+  return &plc_values_;
 }
-inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
 Plc_msg::mutable_plc_values() {
   // @@protoc_insertion_point(field_mutable_list:plc_module.Plc_msg.plc_values)
-  return &plc_values_;
+  return _internal_mutable_plc_values();
 }
 
 #ifdef __GNUC__
@@ -538,18 +687,17 @@ Plc_msg::mutable_plc_values() {
 
 }  // namespace plc_module
 
-namespace google {
-namespace protobuf {
+PROTOBUF_NAMESPACE_OPEN
 
-template <> struct is_proto_enum< ::plc_module::PLC_STATUS> : ::google::protobuf::internal::true_type {};
+template <> struct is_proto_enum< ::plc_module::PLC_STATUS> : ::std::true_type {};
 template <>
 inline const EnumDescriptor* GetEnumDescriptor< ::plc_module::PLC_STATUS>() {
   return ::plc_module::PLC_STATUS_descriptor();
 }
 
-}  // namespace protobuf
-}  // namespace google
+PROTOBUF_NAMESPACE_CLOSE
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_plc_5fmodule_2eproto__INCLUDED
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_plc_5fmodule_2eproto

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 672 - 905
terminor/Terminor_parameter.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 779 - 474
terminor/Terminor_parameter.pb.h


+ 32 - 0
terminor/terminal_command_executor.cpp

@@ -234,6 +234,38 @@ void Terminor_Command_Executor::thread_command_working(Terminor_Command_Executor
     }
 }
 
+/*
+* 检验两个测量结果
+*/
+Error_manager Terminor_Command_Executor::classify_location_informations(const Locate_information& info1,const Locate_information& info2)
+{
+    /*
+     * 分别计算两条过中心点的直线
+     */
+    double k1=0,k2=0,b1=0,b2=0;
+    double theta1=info1.locate_theta;
+    double theta2=info2.locate_theta;
+    k1=fabs(theta1)<0.1?500.0:tan(theta1*M_PI/180.0);
+    k2=fabs(theta2)<0.1?500.0:tan(theta2*M_PI/180.0);
+
+    double x1=info1.locate_x,x2=info2.locate_x;
+    double y1=info1.locate_y,y2=info2.locate_y;
+    b1=y1-k1*x1;
+    //计算p2到直线1的垂直距离
+    double d=fabs(k1*x2-y2+b1)/(sqrt(k1*k1+1));
+    double dx=(x2+k1*y2-k1*b1)/(k1*k1+1);
+    double dy=(k1*k1*y2+k1*x2+b1)/(k1*k1+1);
+    double s=sqrt(pow(dx-x1,2)+pow(dy-y1,2));
+
+    double error=(s+2100)*sin(fabs(theta1-theta2)*M_PI/180.0);
+    printf("s: %.3f  d_rotation:%.3f   d_:%.3f   theta offset : %.3f \n",s,error,d,fabs(theta1-theta2));
+
+    if(error+d>200)
+        return FAILED;
+    return SUCCESS;
+
+}
+
 /*
      * 执行上传plc任务
      */

+ 6 - 0
terminor/terminal_command_executor.h

@@ -67,6 +67,11 @@ public:
      * 执行指令时会在此路径下,生成日期文件夹,格式为:/root_path/year/month/day/YYYYMMDD-HHMMSS文件夹
      */
     void set_save_root_path(std::string root);
+
+    /*
+    * 检验两个测量结果
+    */
+    static Error_manager classify_location_informations(const Locate_information& info1,const Locate_information& info2);
 protected:
 
     static void thread_command_working(Terminor_Command_Executor* terminor);
@@ -81,6 +86,7 @@ protected:
      * plc终端编号从1开始
      */
     Error_manager post_measure_information();
+
     /*
      * 根据长宽,角度,生成cv::RotateRect
      */

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 434 - 635
terminor/terminor_msg.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 565 - 372
terminor/terminor_msg.pb.h


+ 1 - 0
tool/StdCondition.h

@@ -4,6 +4,7 @@
 #include <mutex>  
 #include <chrono>  
 #include <condition_variable>
+#include <functional>
 
 class StdCondition
 {

+ 1 - 1
tool/thread_condition.h

@@ -32,7 +32,7 @@
 #include <atomic>
 #include <mutex>
 #include <condition_variable>
-
+#include <functional>
 
 class Thread_condition
 {

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 574 - 798
verify/hardware_limit.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 648 - 391
verify/hardware_limit.pb.h


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1250 - 1691
wj_lidar/globalmsg.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1664 - 1023
wj_lidar/globalmsg.pb.h


+ 1 - 1
wj_lidar/region_detect.cpp

@@ -206,7 +206,7 @@ Error_manager Region_detector::isRect(std::vector<cv::Point2f> &points, bool pri
         double length = std::max(l1, l2);
         double width = std::min(l1, l2);
         // 车宽应位于[1.4, 2.0],车长应位于[2.2, 3.0]
-        if (length > 2.100 && length < 3.000 && width > 1.400 && width < 2.100)
+        if (length > 1.900 && length < 3.000 && width > 1.400 && width < 1.900)
         {
             //生成第四个点
             cv::Point2f vec1 = ps - pc;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1224 - 1675
wj_lidar/wj_lidar_conf.pb.cc


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1579 - 972
wj_lidar/wj_lidar_conf.pb.h


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 300 - 419
wj_lidar/wj_lidar_msg.pb.cc


+ 312 - 194
wj_lidar/wj_lidar_msg.pb.h

@@ -1,56 +1,59 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: wj_lidar_msg.proto
 
-#ifndef PROTOBUF_wj_5flidar_5fmsg_2eproto__INCLUDED
-#define PROTOBUF_wj_5flidar_5fmsg_2eproto__INCLUDED
+#ifndef GOOGLE_PROTOBUF_INCLUDED_wj_5flidar_5fmsg_2eproto
+#define GOOGLE_PROTOBUF_INCLUDED_wj_5flidar_5fmsg_2eproto
 
+#include <limits>
 #include <string>
 
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 3005000
+#include <google/protobuf/port_def.inc>
+#if PROTOBUF_VERSION < 3013000
 #error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
+#error incompatible with your Protocol Buffer headers. Please update
 #error your headers.
 #endif
-#if 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
 #error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
+#error incompatible with your Protocol Buffer headers. Please
 #error regenerate this file with a newer version of protoc.
 #endif
 
+#include <google/protobuf/port_undef.inc>
 #include <google/protobuf/io/coded_stream.h>
 #include <google/protobuf/arena.h>
 #include <google/protobuf/arenastring.h>
 #include <google/protobuf/generated_message_table_driven.h>
 #include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata.h>
+#include <google/protobuf/inlined_string_field.h>
+#include <google/protobuf/metadata_lite.h>
+#include <google/protobuf/generated_message_reflection.h>
 #include <google/protobuf/message.h>
 #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
 #include <google/protobuf/extension_set.h>  // IWYU pragma: export
 #include <google/protobuf/unknown_field_set.h>
 // @@protoc_insertion_point(includes)
+#include <google/protobuf/port_def.inc>
+#define PROTOBUF_INTERNAL_EXPORT_wj_5flidar_5fmsg_2eproto
+PROTOBUF_NAMESPACE_OPEN
+namespace internal {
+class AnyMetadata;
+}  // namespace internal
+PROTOBUF_NAMESPACE_CLOSE
 
-namespace protobuf_wj_5flidar_5fmsg_2eproto {
 // Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[2];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
+struct TableStruct_wj_5flidar_5fmsg_2eproto {
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[2]
+    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
+  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
+  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
+  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
 };
-void AddDescriptors();
-void InitDefaultsTerminal_fence_statuImpl();
-void InitDefaultsTerminal_fence_statu();
-void InitDefaultsFence_statu_messageImpl();
-void InitDefaultsFence_statu_message();
-inline void InitDefaults() {
-  InitDefaultsTerminal_fence_statu();
-  InitDefaultsFence_statu_message();
-}
-}  // namespace protobuf_wj_5flidar_5fmsg_2eproto
+extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_wj_5flidar_5fmsg_2eproto;
 namespace wj_lidar_message {
 class Fence_statu_message;
 class Fence_statu_messageDefaultTypeInternal;
@@ -59,44 +62,55 @@ class Terminal_fence_statu;
 class Terminal_fence_statuDefaultTypeInternal;
 extern Terminal_fence_statuDefaultTypeInternal _Terminal_fence_statu_default_instance_;
 }  // namespace wj_lidar_message
+PROTOBUF_NAMESPACE_OPEN
+template<> ::wj_lidar_message::Fence_statu_message* Arena::CreateMaybeMessage<::wj_lidar_message::Fence_statu_message>(Arena*);
+template<> ::wj_lidar_message::Terminal_fence_statu* Arena::CreateMaybeMessage<::wj_lidar_message::Terminal_fence_statu>(Arena*);
+PROTOBUF_NAMESPACE_CLOSE
 namespace wj_lidar_message {
 
 // ===================================================================
 
-class Terminal_fence_statu : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:wj_lidar_message.Terminal_fence_statu) */ {
+class Terminal_fence_statu PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:wj_lidar_message.Terminal_fence_statu) */ {
  public:
-  Terminal_fence_statu();
+  inline Terminal_fence_statu() : Terminal_fence_statu(nullptr) {}
   virtual ~Terminal_fence_statu();
 
   Terminal_fence_statu(const Terminal_fence_statu& from);
-
-  inline Terminal_fence_statu& operator=(const Terminal_fence_statu& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   Terminal_fence_statu(Terminal_fence_statu&& from) noexcept
     : Terminal_fence_statu() {
     *this = ::std::move(from);
   }
 
+  inline Terminal_fence_statu& operator=(const Terminal_fence_statu& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline Terminal_fence_statu& operator=(Terminal_fence_statu&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const Terminal_fence_statu& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -104,132 +118,181 @@ class Terminal_fence_statu : public ::google::protobuf::Message /* @@protoc_inse
     return reinterpret_cast<const Terminal_fence_statu*>(
                &_Terminal_fence_statu_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     0;
 
-  void Swap(Terminal_fence_statu* other);
   friend void swap(Terminal_fence_statu& a, Terminal_fence_statu& b) {
     a.Swap(&b);
   }
+  inline void Swap(Terminal_fence_statu* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(Terminal_fence_statu* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline Terminal_fence_statu* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Terminal_fence_statu* New() const final {
+    return CreateMaybeMessage<Terminal_fence_statu>(nullptr);
+  }
 
-  Terminal_fence_statu* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Terminal_fence_statu* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<Terminal_fence_statu>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Terminal_fence_statu& from);
   void MergeFrom(const Terminal_fence_statu& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(Terminal_fence_statu* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "wj_lidar_message.Terminal_fence_statu";
   }
+  protected:
+  explicit Terminal_fence_statu(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_wj_5flidar_5fmsg_2eproto);
+    return ::descriptor_table_wj_5flidar_5fmsg_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kTerminalIdFieldNumber = 1,
+    kCloudStatuFieldNumber = 2,
+    kPositionStatuFieldNumber = 3,
+  };
   // required int64 terminal_id = 1;
   bool has_terminal_id() const;
+  private:
+  bool _internal_has_terminal_id() const;
+  public:
   void clear_terminal_id();
-  static const int kTerminalIdFieldNumber = 1;
-  ::google::protobuf::int64 terminal_id() const;
-  void set_terminal_id(::google::protobuf::int64 value);
+  ::PROTOBUF_NAMESPACE_ID::int64 terminal_id() const;
+  void set_terminal_id(::PROTOBUF_NAMESPACE_ID::int64 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int64 _internal_terminal_id() const;
+  void _internal_set_terminal_id(::PROTOBUF_NAMESPACE_ID::int64 value);
+  public:
 
   // required int64 cloud_statu = 2;
   bool has_cloud_statu() const;
+  private:
+  bool _internal_has_cloud_statu() const;
+  public:
   void clear_cloud_statu();
-  static const int kCloudStatuFieldNumber = 2;
-  ::google::protobuf::int64 cloud_statu() const;
-  void set_cloud_statu(::google::protobuf::int64 value);
+  ::PROTOBUF_NAMESPACE_ID::int64 cloud_statu() const;
+  void set_cloud_statu(::PROTOBUF_NAMESPACE_ID::int64 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int64 _internal_cloud_statu() const;
+  void _internal_set_cloud_statu(::PROTOBUF_NAMESPACE_ID::int64 value);
+  public:
 
   // required int64 position_statu = 3;
   bool has_position_statu() const;
+  private:
+  bool _internal_has_position_statu() const;
+  public:
   void clear_position_statu();
-  static const int kPositionStatuFieldNumber = 3;
-  ::google::protobuf::int64 position_statu() const;
-  void set_position_statu(::google::protobuf::int64 value);
+  ::PROTOBUF_NAMESPACE_ID::int64 position_statu() const;
+  void set_position_statu(::PROTOBUF_NAMESPACE_ID::int64 value);
+  private:
+  ::PROTOBUF_NAMESPACE_ID::int64 _internal_position_statu() const;
+  void _internal_set_position_statu(::PROTOBUF_NAMESPACE_ID::int64 value);
+  public:
 
   // @@protoc_insertion_point(class_scope:wj_lidar_message.Terminal_fence_statu)
  private:
-  void set_has_terminal_id();
-  void clear_has_terminal_id();
-  void set_has_cloud_statu();
-  void clear_has_cloud_statu();
-  void set_has_position_statu();
-  void clear_has_position_statu();
+  class _Internal;
 
   // helper for ByteSizeLong()
   size_t RequiredFieldsByteSizeFallback() const;
 
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::int64 terminal_id_;
-  ::google::protobuf::int64 cloud_statu_;
-  ::google::protobuf::int64 position_statu_;
-  friend struct ::protobuf_wj_5flidar_5fmsg_2eproto::TableStruct;
-  friend void ::protobuf_wj_5flidar_5fmsg_2eproto::InitDefaultsTerminal_fence_statuImpl();
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  ::PROTOBUF_NAMESPACE_ID::int64 terminal_id_;
+  ::PROTOBUF_NAMESPACE_ID::int64 cloud_statu_;
+  ::PROTOBUF_NAMESPACE_ID::int64 position_statu_;
+  friend struct ::TableStruct_wj_5flidar_5fmsg_2eproto;
 };
 // -------------------------------------------------------------------
 
-class Fence_statu_message : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:wj_lidar_message.Fence_statu_message) */ {
+class Fence_statu_message PROTOBUF_FINAL :
+    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:wj_lidar_message.Fence_statu_message) */ {
  public:
-  Fence_statu_message();
+  inline Fence_statu_message() : Fence_statu_message(nullptr) {}
   virtual ~Fence_statu_message();
 
   Fence_statu_message(const Fence_statu_message& from);
-
-  inline Fence_statu_message& operator=(const Fence_statu_message& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
   Fence_statu_message(Fence_statu_message&& from) noexcept
     : Fence_statu_message() {
     *this = ::std::move(from);
   }
 
+  inline Fence_statu_message& operator=(const Fence_statu_message& from) {
+    CopyFrom(from);
+    return *this;
+  }
   inline Fence_statu_message& operator=(Fence_statu_message&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+    if (GetArena() == from.GetArena()) {
       if (this != &from) InternalSwap(&from);
     } else {
       CopyFrom(from);
     }
     return *this;
   }
-  #endif
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _internal_metadata_.unknown_fields();
+
+  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
+    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
   }
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return _internal_metadata_.mutable_unknown_fields();
+  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
+    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
   }
 
-  static const ::google::protobuf::Descriptor* descriptor();
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+    return GetDescriptor();
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+    return GetMetadataStatic().descriptor;
+  }
+  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+    return GetMetadataStatic().reflection;
+  }
   static const Fence_statu_message& default_instance();
 
   static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
@@ -237,75 +300,108 @@ class Fence_statu_message : public ::google::protobuf::Message /* @@protoc_inser
     return reinterpret_cast<const Fence_statu_message*>(
                &_Fence_statu_message_default_instance_);
   }
-  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+  static constexpr int kIndexInFileMessages =
     1;
 
-  void Swap(Fence_statu_message* other);
   friend void swap(Fence_statu_message& a, Fence_statu_message& b) {
     a.Swap(&b);
   }
+  inline void Swap(Fence_statu_message* other) {
+    if (other == this) return;
+    if (GetArena() == other->GetArena()) {
+      InternalSwap(other);
+    } else {
+      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+    }
+  }
+  void UnsafeArenaSwap(Fence_statu_message* other) {
+    if (other == this) return;
+    GOOGLE_DCHECK(GetArena() == other->GetArena());
+    InternalSwap(other);
+  }
 
   // implements Message ----------------------------------------------
 
-  inline Fence_statu_message* New() const PROTOBUF_FINAL { return New(NULL); }
+  inline Fence_statu_message* New() const final {
+    return CreateMaybeMessage<Fence_statu_message>(nullptr);
+  }
 
-  Fence_statu_message* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
-  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
-  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  Fence_statu_message* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
+    return CreateMaybeMessage<Fence_statu_message>(arena);
+  }
+  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
+  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
   void CopyFrom(const Fence_statu_message& from);
   void MergeFrom(const Fence_statu_message& from);
-  void Clear() PROTOBUF_FINAL;
-  bool IsInitialized() const PROTOBUF_FINAL;
-
-  size_t ByteSizeLong() const PROTOBUF_FINAL;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
-  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
+  bool IsInitialized() const final;
+
+  size_t ByteSizeLong() const final;
+  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
+  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
+      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
+  int GetCachedSize() const final { return _cached_size_.Get(); }
+
   private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  inline void SharedCtor();
+  inline void SharedDtor();
+  void SetCachedSize(int size) const final;
   void InternalSwap(Fence_statu_message* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
+  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+    return "wj_lidar_message.Fence_statu_message";
   }
+  protected:
+  explicit Fence_statu_message(::PROTOBUF_NAMESPACE_ID::Arena* arena);
+  private:
+  static void ArenaDtor(void* object);
+  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
   public:
 
-  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+  private:
+  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
+    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_wj_5flidar_5fmsg_2eproto);
+    return ::descriptor_table_wj_5flidar_5fmsg_2eproto.file_level_metadata[kIndexInFileMessages];
+  }
+
+  public:
 
   // nested types ----------------------------------------------------
 
   // accessors -------------------------------------------------------
 
+  enum : int {
+    kFenceStatuFieldNumber = 1,
+  };
   // repeated .wj_lidar_message.Terminal_fence_statu fence_statu = 1;
   int fence_statu_size() const;
+  private:
+  int _internal_fence_statu_size() const;
+  public:
   void clear_fence_statu();
-  static const int kFenceStatuFieldNumber = 1;
-  const ::wj_lidar_message::Terminal_fence_statu& fence_statu(int index) const;
   ::wj_lidar_message::Terminal_fence_statu* mutable_fence_statu(int index);
-  ::wj_lidar_message::Terminal_fence_statu* add_fence_statu();
-  ::google::protobuf::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >*
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >*
       mutable_fence_statu();
-  const ::google::protobuf::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >&
+  private:
+  const ::wj_lidar_message::Terminal_fence_statu& _internal_fence_statu(int index) const;
+  ::wj_lidar_message::Terminal_fence_statu* _internal_add_fence_statu();
+  public:
+  const ::wj_lidar_message::Terminal_fence_statu& fence_statu(int index) const;
+  ::wj_lidar_message::Terminal_fence_statu* add_fence_statu();
+  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >&
       fence_statu() const;
 
   // @@protoc_insertion_point(class_scope:wj_lidar_message.Fence_statu_message)
  private:
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::HasBits<1> _has_bits_;
-  mutable int _cached_size_;
-  ::google::protobuf::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu > fence_statu_;
-  friend struct ::protobuf_wj_5flidar_5fmsg_2eproto::TableStruct;
-  friend void ::protobuf_wj_5flidar_5fmsg_2eproto::InitDefaultsFence_statu_messageImpl();
+  class _Internal;
+
+  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+  typedef void InternalArenaConstructable_;
+  typedef void DestructorSkippable_;
+  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu > fence_statu_;
+  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
+  friend struct ::TableStruct_wj_5flidar_5fmsg_2eproto;
 };
 // ===================================================================
 
@@ -319,74 +415,86 @@ class Fence_statu_message : public ::google::protobuf::Message /* @@protoc_inser
 // Terminal_fence_statu
 
 // required int64 terminal_id = 1;
-inline bool Terminal_fence_statu::has_terminal_id() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
+inline bool Terminal_fence_statu::_internal_has_terminal_id() const {
+  bool value = (_has_bits_[0] & 0x00000001u) != 0;
+  return value;
 }
-inline void Terminal_fence_statu::set_has_terminal_id() {
-  _has_bits_[0] |= 0x00000001u;
+inline bool Terminal_fence_statu::has_terminal_id() const {
+  return _internal_has_terminal_id();
 }
-inline void Terminal_fence_statu::clear_has_terminal_id() {
+inline void Terminal_fence_statu::clear_terminal_id() {
+  terminal_id_ = PROTOBUF_LONGLONG(0);
   _has_bits_[0] &= ~0x00000001u;
 }
-inline void Terminal_fence_statu::clear_terminal_id() {
-  terminal_id_ = GOOGLE_LONGLONG(0);
-  clear_has_terminal_id();
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::_internal_terminal_id() const {
+  return terminal_id_;
 }
-inline ::google::protobuf::int64 Terminal_fence_statu::terminal_id() const {
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::terminal_id() const {
   // @@protoc_insertion_point(field_get:wj_lidar_message.Terminal_fence_statu.terminal_id)
-  return terminal_id_;
+  return _internal_terminal_id();
 }
-inline void Terminal_fence_statu::set_terminal_id(::google::protobuf::int64 value) {
-  set_has_terminal_id();
+inline void Terminal_fence_statu::_internal_set_terminal_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _has_bits_[0] |= 0x00000001u;
   terminal_id_ = value;
+}
+inline void Terminal_fence_statu::set_terminal_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _internal_set_terminal_id(value);
   // @@protoc_insertion_point(field_set:wj_lidar_message.Terminal_fence_statu.terminal_id)
 }
 
 // required int64 cloud_statu = 2;
-inline bool Terminal_fence_statu::has_cloud_statu() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
+inline bool Terminal_fence_statu::_internal_has_cloud_statu() const {
+  bool value = (_has_bits_[0] & 0x00000002u) != 0;
+  return value;
 }
-inline void Terminal_fence_statu::set_has_cloud_statu() {
-  _has_bits_[0] |= 0x00000002u;
+inline bool Terminal_fence_statu::has_cloud_statu() const {
+  return _internal_has_cloud_statu();
 }
-inline void Terminal_fence_statu::clear_has_cloud_statu() {
+inline void Terminal_fence_statu::clear_cloud_statu() {
+  cloud_statu_ = PROTOBUF_LONGLONG(0);
   _has_bits_[0] &= ~0x00000002u;
 }
-inline void Terminal_fence_statu::clear_cloud_statu() {
-  cloud_statu_ = GOOGLE_LONGLONG(0);
-  clear_has_cloud_statu();
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::_internal_cloud_statu() const {
+  return cloud_statu_;
 }
-inline ::google::protobuf::int64 Terminal_fence_statu::cloud_statu() const {
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::cloud_statu() const {
   // @@protoc_insertion_point(field_get:wj_lidar_message.Terminal_fence_statu.cloud_statu)
-  return cloud_statu_;
+  return _internal_cloud_statu();
 }
-inline void Terminal_fence_statu::set_cloud_statu(::google::protobuf::int64 value) {
-  set_has_cloud_statu();
+inline void Terminal_fence_statu::_internal_set_cloud_statu(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _has_bits_[0] |= 0x00000002u;
   cloud_statu_ = value;
+}
+inline void Terminal_fence_statu::set_cloud_statu(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _internal_set_cloud_statu(value);
   // @@protoc_insertion_point(field_set:wj_lidar_message.Terminal_fence_statu.cloud_statu)
 }
 
 // required int64 position_statu = 3;
-inline bool Terminal_fence_statu::has_position_statu() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
+inline bool Terminal_fence_statu::_internal_has_position_statu() const {
+  bool value = (_has_bits_[0] & 0x00000004u) != 0;
+  return value;
 }
-inline void Terminal_fence_statu::set_has_position_statu() {
-  _has_bits_[0] |= 0x00000004u;
+inline bool Terminal_fence_statu::has_position_statu() const {
+  return _internal_has_position_statu();
 }
-inline void Terminal_fence_statu::clear_has_position_statu() {
+inline void Terminal_fence_statu::clear_position_statu() {
+  position_statu_ = PROTOBUF_LONGLONG(0);
   _has_bits_[0] &= ~0x00000004u;
 }
-inline void Terminal_fence_statu::clear_position_statu() {
-  position_statu_ = GOOGLE_LONGLONG(0);
-  clear_has_position_statu();
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::_internal_position_statu() const {
+  return position_statu_;
 }
-inline ::google::protobuf::int64 Terminal_fence_statu::position_statu() const {
+inline ::PROTOBUF_NAMESPACE_ID::int64 Terminal_fence_statu::position_statu() const {
   // @@protoc_insertion_point(field_get:wj_lidar_message.Terminal_fence_statu.position_statu)
-  return position_statu_;
+  return _internal_position_statu();
 }
-inline void Terminal_fence_statu::set_position_statu(::google::protobuf::int64 value) {
-  set_has_position_statu();
+inline void Terminal_fence_statu::_internal_set_position_statu(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _has_bits_[0] |= 0x00000004u;
   position_statu_ = value;
+}
+inline void Terminal_fence_statu::set_position_statu(::PROTOBUF_NAMESPACE_ID::int64 value) {
+  _internal_set_position_statu(value);
   // @@protoc_insertion_point(field_set:wj_lidar_message.Terminal_fence_statu.position_statu)
 }
 
@@ -395,30 +503,39 @@ inline void Terminal_fence_statu::set_position_statu(::google::protobuf::int64 v
 // Fence_statu_message
 
 // repeated .wj_lidar_message.Terminal_fence_statu fence_statu = 1;
-inline int Fence_statu_message::fence_statu_size() const {
+inline int Fence_statu_message::_internal_fence_statu_size() const {
   return fence_statu_.size();
 }
+inline int Fence_statu_message::fence_statu_size() const {
+  return _internal_fence_statu_size();
+}
 inline void Fence_statu_message::clear_fence_statu() {
   fence_statu_.Clear();
 }
-inline const ::wj_lidar_message::Terminal_fence_statu& Fence_statu_message::fence_statu(int index) const {
-  // @@protoc_insertion_point(field_get:wj_lidar_message.Fence_statu_message.fence_statu)
-  return fence_statu_.Get(index);
-}
 inline ::wj_lidar_message::Terminal_fence_statu* Fence_statu_message::mutable_fence_statu(int index) {
   // @@protoc_insertion_point(field_mutable:wj_lidar_message.Fence_statu_message.fence_statu)
   return fence_statu_.Mutable(index);
 }
-inline ::wj_lidar_message::Terminal_fence_statu* Fence_statu_message::add_fence_statu() {
-  // @@protoc_insertion_point(field_add:wj_lidar_message.Fence_statu_message.fence_statu)
-  return fence_statu_.Add();
-}
-inline ::google::protobuf::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >*
+inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >*
 Fence_statu_message::mutable_fence_statu() {
   // @@protoc_insertion_point(field_mutable_list:wj_lidar_message.Fence_statu_message.fence_statu)
   return &fence_statu_;
 }
-inline const ::google::protobuf::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >&
+inline const ::wj_lidar_message::Terminal_fence_statu& Fence_statu_message::_internal_fence_statu(int index) const {
+  return fence_statu_.Get(index);
+}
+inline const ::wj_lidar_message::Terminal_fence_statu& Fence_statu_message::fence_statu(int index) const {
+  // @@protoc_insertion_point(field_get:wj_lidar_message.Fence_statu_message.fence_statu)
+  return _internal_fence_statu(index);
+}
+inline ::wj_lidar_message::Terminal_fence_statu* Fence_statu_message::_internal_add_fence_statu() {
+  return fence_statu_.Add();
+}
+inline ::wj_lidar_message::Terminal_fence_statu* Fence_statu_message::add_fence_statu() {
+  // @@protoc_insertion_point(field_add:wj_lidar_message.Fence_statu_message.fence_statu)
+  return _internal_add_fence_statu();
+}
+inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::wj_lidar_message::Terminal_fence_statu >&
 Fence_statu_message::fence_statu() const {
   // @@protoc_insertion_point(field_list:wj_lidar_message.Fence_statu_message.fence_statu)
   return fence_statu_;
@@ -436,4 +553,5 @@ Fence_statu_message::fence_statu() const {
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_wj_5flidar_5fmsg_2eproto__INCLUDED
+#include <google/protobuf/port_undef.inc>
+#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_wj_5flidar_5fmsg_2eproto

+ 0 - 0
智象停车测量软件设计文档.docx


+ 0 - 0
流程.jpg


+ 0 - 0
流程图.asta


+ 0 - 0
测量流程图.asta


+ 0 - 0
测量流程图.pdf