From 92abf346eabb3afe9f8908f5495a65157cb856ab Mon Sep 17 00:00:00 2001
From: Tommy Persson <tommy.persson@liu.se>
Date: Mon, 18 Mar 2019 13:32:44 +0100
Subject: [PATCH] Adding parameters.

---
 src/axis_imu.cc | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/axis_imu.cc b/src/axis_imu.cc
index 250d310..6e3a0b7 100644
--- a/src/axis_imu.cc
+++ b/src/axis_imu.cc
@@ -26,6 +26,15 @@ ros::Publisher imu_pub;
 //
 // Data sent in network byte order
 //
+// Jag använder följande curl-kommando för att starta
+// curl --digest "[http://root:pass@[IP]/local/motionloggerudp/control.cgi?cmd=start&target_ip=10.92.1.19&accel_enabled=1&accel_rate_div=0&gyro_enabled=1&gyro_rate_div=0]http://root:pass@[IP]/local/motionloggerudp/control.cgi?cmd=start&target_ip=10.92.1.19&accel_enabled=1&accel_rate_div=0&gyro_enabled=1&gyro_rate_div=0"
+//
+// För att starta motionloggerudp (som är vad jag har kallat den nya varianten som inte lagrar på SD-kort) så anropar man t.ex.
+// http://[CAMERAIP]/local/motionloggerudp/control.cgi?cmd=start&target_ip=[TARGETIP]&accel_enabled=1&accel_rate_div=0&gyro_enabled=1&gyro_rate_div=0
+//
+// Max sample rate för gyrot är 2kHz och för accelerometern 1kHz, och detta styrs med gyro_rate_div och accel_rate_div i ovanstående http-anrop.
+//
+
 
 
 using namespace std;
@@ -212,10 +221,31 @@ int main(int argc, char *argv[]) {
 
   int port;
   int rate;
+  std::string camera_ip;
+  std::string driver_ip;
 
   private_nh.param<int>("port", port, 5000);
   private_nh.param<std::string>("frame_id", frame_id, "imu");
-  private_nh.param("rate", rate, 200);
+  private_nh.param<int>("rate", rate, 200);
+  private_nh.param<std::string>("camera_ip", camera_ip, "192.168.7.19");
+  private_nh.param<std::string>("driver_ip", driver_ip, "192.168.7.160");
+
+  ROS_INFO("Camera IP: %s", camera_ip.c_str());
+  ROS_INFO("Driver IP: %s", driver_ip.c_str());
+  ROS_INFO("     Port: %d", port);
+  ROS_INFO(" Frame Id: %s", frame_id.c_str());
+  ROS_INFO("     Rate: %d", rate);
+
+  int gyro_div = 2000/rate;
+  int accel_div = 1000/rate;
+
+  std::ostringstream os;
+
+  os << "http://" << camera_ip << "local/motionloggerudp/control.cgi?cmd=start&target_ip=" << driver_ip
+     << "&accel_enabled=1&accel_rate_div=" << accel_div << "&gyro_enabled=1&gyro_rate_div=" << gyro_div;
+  std::string url = os.str();
+
+  ROS_INFO("COMMAND URL: %s", url.c_str());
 
   imu_pub = nh.advertise<sensor_msgs::Imu>("imu",1);
 
-- 
GitLab