LiuZe 2 gadi atpakaļ
vecāks
revīzija
d23b58e44c

+ 2 - 14
测量节点/Modules/DataToCloud/base/acquisition.cpp

@@ -6,18 +6,6 @@
  * @LastEditors: LiuZe
  */
 #include "acquisition.hpp"
-// #include <thread>
-// #include <map>
-// #include <memory>
-
-// #include "tool/singleton.h"
-// #include "tool/point_tool.h"
-// #include "error_code/error_code.h"
-
-// #include "./velodyne_driver/velodyne_lidar_device.h"
-// #include "./ground_region.h"
-// #include "velodyne_config.pb.h"
-// #include "velodyne_manager_task.h"
 
 DataAcquisition::DataAcquisition() {
 
@@ -39,7 +27,7 @@ Error_manager DataAcquisition::uninit() {
     return SUCCESS;
 }
 
-Error_manager DataAcquisition::Format2CloudType(CLOUD_TYPE& type, void* data) {
+Error_manager DataAcquisition::Format2CloudType(CLOUD_TYPE& type, const char* data) {
     switch (type)
     {
     case CLOUD_BIN_TYPE:
@@ -51,6 +39,6 @@ Error_manager DataAcquisition::Format2CloudType(CLOUD_TYPE& type, void* data) {
     }
 }
 
-Error_manager DataAcquisition::Data2Binary(void *data) {
+Error_manager DataAcquisition::Data2Binary(const char* data) {
 
 }

+ 14 - 6
测量节点/Modules/DataToCloud/base/acquisition.hpp

@@ -3,21 +3,29 @@
 #include "../../../error_code/error_code.h"
 
 class DataAcquisition {
-    public:
+public:
     enum CLOUD_TYPE {
         CLOUD_BIN_TYPE = 0
     };
-	Error_manager init();
-	Error_manager init_from_protobuf(std::string prototxt_path);
-	Error_manager uninit();
+public:
+    static DataAcquisition* Instance() {
+        static DataAcquisition* instance = new DataAcquisition();
+        return instance;
+    }
+
+	virtual Error_manager init();
+	virtual Error_manager init_from_protobuf(std::string prototxt_path);
+	virtual Error_manager uninit();
 
     private:
-    DataAcquisition();
-    ~DataAcquisition();
     
     Error_manager GetDeviceData();
     Error_manager Format2CloudType(CLOUD_TYPE& type, const char* data);
     Error_manager SendData2Cloud(const char* data);
     Error_manager Data2Binary(const char*data);
     void run();
+
+protected:
+    DataAcquisition();
+    ~DataAcquisition();
 };

+ 7 - 1
测量节点/Modules/DataToCloud/data_manager.cpp

@@ -14,7 +14,13 @@ Data2CloudManager* Data2CloudManager::Instance() {
 }
 
 Error_manager Data2CloudManager::Init() {
-    
+    DataAcquisition* instance[2];
+    instance[0] = WanjiLidar::Instance();
+    instance[1] = VelodyneLidar::Instance();
+
+    for (int i = 0; i < 2; i++) {
+        instance[i]->init();
+    }
 }
 
 void Data2CloudManager::test() {

+ 2 - 1
测量节点/Modules/DataToCloud/data_manager.hpp

@@ -7,7 +7,8 @@
  */
 #pragma DATA_TO_CLOUD_MANAGER_H_
 
-#include "base/acquisition.hpp"
+#include "device/wanji.hpp"
+#include "device/velodyne.hpp"
 
 class Data2CloudManager
 {

+ 13 - 0
测量节点/Modules/DataToCloud/device/velodyne.cpp

@@ -0,0 +1,13 @@
+#include "velodyne.hpp"
+
+VelodyneLidar::VelodyneLidar() {
+
+}
+VelodyneLidar::~VelodyneLidar() {
+    
+}
+
+Error_manager VelodyneLidar::init() {
+    printf("---Debug--- Init VelodyneLidar.\n");
+    return SUCCESS;
+}

+ 20 - 0
测量节点/Modules/DataToCloud/device/velodyne.hpp

@@ -0,0 +1,20 @@
+#pragma WANJI_LIDAR_ACQUISITION_H
+
+#include "../base/acquisition.hpp"
+
+class VelodyneLidar: public DataAcquisition {
+public:
+    static VelodyneLidar* Instance() {
+        static VelodyneLidar* instance = new VelodyneLidar();
+    }
+
+
+    Error_manager init();
+
+private:
+
+
+protected:
+    VelodyneLidar();
+    ~VelodyneLidar();
+};

+ 13 - 0
测量节点/Modules/DataToCloud/device/wanji.cpp

@@ -0,0 +1,13 @@
+#include "wanji.hpp"
+
+WanjiLidar::WanjiLidar() {
+
+}
+WanjiLidar::~WanjiLidar() {
+    
+}
+
+Error_manager WanjiLidar::init() {
+    printf("---Debug--- Init WanjiLidar.\n");
+    return SUCCESS;
+}

+ 20 - 0
测量节点/Modules/DataToCloud/device/wanji.hpp

@@ -0,0 +1,20 @@
+#pragma WANJI_LIDAR_ACQUISITION_H
+
+#include "../base/acquisition.hpp"
+
+class WanjiLidar: public DataAcquisition {
+public:
+    static WanjiLidar* Instance() {
+        static WanjiLidar* instance = new WanjiLidar();
+    }
+
+
+    Error_manager init();
+
+private:
+
+
+protected:
+    WanjiLidar();
+    ~WanjiLidar();
+};