From cd34adc2a0832b6eec942ea19633deb00dd00e12 Mon Sep 17 00:00:00 2001
From: odri <odri@furano.laas.fr>
Date: Mon, 11 Oct 2021 16:54:55 +0200
Subject: [PATCH] Continue to test things

---
 include/qrw/MpcWrapper.hpp |  4 +--
 src/Controller.cpp         |  6 ++--
 src/MpcWrapper.cpp         | 64 ++++++++++++++++++++------------------
 3 files changed, 39 insertions(+), 35 deletions(-)

diff --git a/include/qrw/MpcWrapper.hpp b/include/qrw/MpcWrapper.hpp
index b043b632..7f925f92 100644
--- a/include/qrw/MpcWrapper.hpp
+++ b/include/qrw/MpcWrapper.hpp
@@ -66,14 +66,14 @@ class MpcWrapper {
 
   void run_MPC_asynchronous(int k, MatrixN const& xref, MatrixN const& fsteps);
   void create_MPC_asynchronous();
-  //static int check_memory();
+  // int check_memory();
 
  private:
   
   Params* params_;
   MPC mpc_;
 
-  // shared_memory_object shm (boost::interprocess::create_only, "MySharedMemory", boost::interprocess::read_write);
+  // shared_memory_object shm (boost::interprocess::create_only, "SharedMemory", boost::interprocess::read_write);
   // mapped_region region;
 
   bi::managed_shared_memory segment;
diff --git a/src/Controller.cpp b/src/Controller.cpp
index a1b1fcf6..924f37bb 100644
--- a/src/Controller.cpp
+++ b/src/Controller.cpp
@@ -21,13 +21,13 @@ Controller::Controller()
       xgoals(Vector12::Zero()) 
 {
   namespace bi = boost::interprocess;
-  bi::shared_memory_object::remove("MySharedMemory");
+  bi::shared_memory_object::remove("SharedMemory");
 
   /*//Remove shared memory on construction and destruction
   struct shm_remove
   {
-    shm_remove() { bi::shared_memory_object::remove("MySharedMemory"); }
-    ~shm_remove(){ bi::shared_memory_object::remove("MySharedMemory"); }
+    shm_remove() { bi::shared_memory_object::remove("SharedMemory"); }
+    ~shm_remove(){ bi::shared_memory_object::remove("SharedMemory"); }
   } remover;*/
 }
 
diff --git a/src/MpcWrapper.cpp b/src/MpcWrapper.cpp
index b558e39d..8a4e03a8 100644
--- a/src/MpcWrapper.cpp
+++ b/src/MpcWrapper.cpp
@@ -1,19 +1,19 @@
 #include "qrw/MpcWrapper.hpp"
 
-// bi::managed_shared_memory MpcWrapper::segment = bi::managed_shared_memory(bi::open_or_create, "MySharedMemory", 5000);
+// bi::managed_shared_memory MpcWrapper::segment = bi::managed_shared_memory(bi::open_or_create, "SharedMemory", 5000);
 
 MpcWrapper::MpcWrapper()
   : test(0),
     last_available_result(Eigen::Matrix<double, 24, 2>::Zero()),
     gait_past(Matrix14::Zero()),
     gait_next(Matrix14::Zero()),
-    segment(bi::open_or_create, "MySharedMemory", 1000) {}
+    segment(bi::open_or_create, "SharedMemory", 1000) {}
 
-/*int check_memory(bi::managed_shared_memory &segment)
+int check_memory()
 {
-  /
+  /*
   //Open already created shared memory object.
-  shared_memory_object shm_parallel(open_only, "MySharedMemory", read_only);
+  shared_memory_object shm_parallel(open_only, "SharedMemory", read_only);
   //Map the whole shared memory in this process
   mapped_region region_parallel(shm_parallel, read_only);
 
@@ -28,29 +28,30 @@ MpcWrapper::MpcWrapper()
     printf("NO ERROR DETECTED\n");
     std::this_thread::sleep_for(std::chrono::milliseconds(500));
   }
-  return 0;/
+  return 0;
+  */
   printf("PASS\n");
-  std::pair<int*, std::size_t> test0 = segment.find<int>("shared_k");
-  std::pair<MatrixN*, std::size_t> test1 = segment.find<MatrixN>("shared_xref");
-  std::pair<MatrixN*, std::size_t> test2 = segment->find<MatrixN>("shared_fsteps");
-  while (true)
-  {
-    std::cout << "shared_k: " << std::endl << *(test0.first) << std::endl;
-    std::cout << "shared_xref: " << std::endl << *(test1.first) << std::endl;
-    std::cout << "shared_fsteps: " << std::endl << *(test2.first) << std::endl;
-    /int* test0 = segment.find_or_construct<int>("shared_k");
+
+  bi::managed_shared_memory segment_parallel(bi::open_only, "SharedMemory");
+  std::pair<int*, std::size_t> test0 = segment_parallel.find<int>("shared_k");
+  //std::pair<MatrixN*, std::size_t> test1 = segment_parallel.find<MatrixN>("shared_xref");
+  //std::pair<MatrixN*, std::size_t> test2 = segment_parallel.find<MatrixN>("shared_fsteps");
+  //while (true)
+  //{
+  //  std::this_thread::sleep_for(std::chrono::milliseconds(500));
+  //  std::cout << "shared_k: " << std::endl << *(test0.first) << std::endl;
+    //std::cout << "shared_xref: " << std::endl << *(test1.first) << std::endl;
+    //std::cout << "shared_fsteps: " << std::endl << *(test2.first) << std::endl;
+    /*int* test0 = segment.find_or_construct<int>("shared_k");
     MatrixN* test1 = segment.find_or_construct<MatrixN>("shared_xref");
     MatrixN* test2 = segment.find_or_construct<MatrixN>("shared_fsteps");
 
     std::cout << "shared_k: " << std::endl << test0 << std::endl;
     std::cout << "shared_xref: " << std::endl << test1 << std::endl;
-    std::cout << "shared_fsteps: " << std::endl << test2 << std::endl;/
-
-    std::this_thread::sleep_for(std::chrono::milliseconds(500));
-  }
+    std::cout << "shared_fsteps: " << std::endl << test2 << std::endl;*/
+  //}
   return 0;
-
-}*/
+}
 
 void MpcWrapper::initialize(Params& params) {
   
@@ -62,20 +63,20 @@ void MpcWrapper::initialize(Params& params) {
   last_available_result.col(0).tail(12) = (Vector3(0.0, 0.0, 8.0)).replicate<4, 1>();
 
   // Initialization of the shared memory
-  // shared_k = segment.construct<int>("shared_k") ();
-  // shared_xref = segment.construct<MatrixN>("shared_xref") (12, params.gait.rows() + 1);
-  // shared_fsteps = segment.construct<MatrixN>("shared_fsteps") (params.gait.rows(), 12);
+  shared_k = segment.construct<int>("shared_k") (42);
+  /*shared_xref = segment.construct<MatrixN>("shared_xref") (12, params.gait.rows() + 1);
+  shared_fsteps = segment.construct<MatrixN>("shared_fsteps") (params.gait.rows(), 12);*/
 
   // Initialization of shared memory
   // Remove shared memory on construction and destruction
   /*struct shm_remove
   {
-      shm_remove() { shared_memory_object::remove("MySharedMemory"); }
-      ~shm_remove(){ shared_memory_object::remove("MySharedMemory"); }
+      shm_remove() { shared_memory_object::remove("SharedMemory"); }
+      ~shm_remove(){ shared_memory_object::remove("SharedMemory"); }
   } remover;*/
 
   // Create a shared memory object.
-  /*bi::shared_memory_object shm (bi::create_only, "MySharedMemory", bi::read_write);
+  /*bi::shared_memory_object shm (bi::create_only, "SharedMemory", bi::read_write);
 
   // Set size
   shm.truncate(500);
@@ -86,9 +87,12 @@ void MpcWrapper::initialize(Params& params) {
   // Write all the memory to 1
   std::memset(region.get_address(), 1, region.get_size());*/
 
-  // std::thread checking_thread(check_memory, segment); // spawn new thread that calls check_memory()
+  std::thread checking_thread(check_memory); // spawn new thread that calls check_memory()
   // checking_thread.join();
 
+  //std::pair<int*, std::size_t> test0 = segment.find<int>("shared_k");
+  // std::cout << "shared_k: " << std::endl << *(test0.first) << std::endl;
+
 }
 
 void MpcWrapper::solve(int k, MatrixN const& xref, MatrixN const& fsteps,
@@ -96,11 +100,11 @@ void MpcWrapper::solve(int k, MatrixN const& xref, MatrixN const& fsteps,
   
   std::cout << "Pass mpcWrapper" << std::endl;
 
-  std::cout << "SIZES" << std::endl;
+  /*std::cout << "SIZES" << std::endl;
   std::cout << sizeof((int)5) << std::endl;
   std::cout << sizeof(MatrixN::Zero(12, params_->gait.rows() + 1)) << std::endl;
   std::cout << sizeof(MatrixN::Zero(params_->gait.rows(), 12)) << std::endl;
-  std::cout << params_->gait << std::endl;
+  std::cout << params_->gait << std::endl;*/
   // std::thread checking_thread(check_memory); // spawn new thread that calls check_memory()
   // checking_thread.join();
 
-- 
GitLab