diff --git a/code/arduino/Movement-sensor-code/Connectivity.cpp b/code/arduino/Movement-sensor-code/Connectivity.cpp index 1f7252d..651e40c 100644 --- a/code/arduino/Movement-sensor-code/Connectivity.cpp +++ b/code/arduino/Movement-sensor-code/Connectivity.cpp @@ -24,6 +24,7 @@ const char* getServerURL = "http://145.92.8.132:443/get-ip"; String ipAddress = ""; // string that will hold the server's IP address const char* Connectivity::fetchIPAddress() { + char* ipAddress = NULL; // Declare ipAddress as a char* if (WiFi.status() == WL_CONNECTED) { HTTPClient http; WiFiClient client; @@ -33,7 +34,7 @@ const char* Connectivity::fetchIPAddress() { if (httpCode > 0) { if (httpCode == HTTP_CODE_OK) { // If successful (code 200), read the response body and store the IP address - ipAddress = http.getString(); + ipAddress = strdup(http.getString().c_str()); } } else { Serial.printf("GET request failed, error: %s\n", http.errorToString(httpCode).c_str()); diff --git a/code/arduino/Movement-sensor-code/Movement-sensor-code.ino b/code/arduino/Movement-sensor-code/Movement-sensor-code.ino index 6540384..fbb0a11 100644 --- a/code/arduino/Movement-sensor-code/Movement-sensor-code.ino +++ b/code/arduino/Movement-sensor-code/Movement-sensor-code.ino @@ -37,7 +37,7 @@ struct acceleration { accelData.z, "data"); // %d = int, %f = floatation, %s = string - connectivity.httpPost(serverIp, "/", 3445, buffer, strlen(buffer), "application/json"); + connectivity.httpPost("192.168.137.30", "/", 3445, buffer, strlen(buffer), "application/json"); lastTime = currentTime; } } diff --git a/code/arduino/Movement-sensor-code/SensorManager.cpp b/code/arduino/Movement-sensor-code/SensorManager.cpp index 7fee39d..ab2216f 100644 --- a/code/arduino/Movement-sensor-code/SensorManager.cpp +++ b/code/arduino/Movement-sensor-code/SensorManager.cpp @@ -17,14 +17,14 @@ void SensorManager::sensorSetup() { // myIMU.enableStepCounter(500); //Send data update every 500ms } //get sensordata -SensorManager::RotationQuintillions SensorManager::getQuintillions() { +SensorManager::RotationQuaternions SensorManager::getQuaternions() { if (myIMU.dataAvailable() == true) { float i = myIMU.getQuatI(); float j = myIMU.getQuatJ(); float k = myIMU.getQuatK(); float w = myIMU.getQuatReal(); - RotationQuintillions rotation = { i, j, k, w }; + RotationQuaternions rotation = { i, j, k, w }; return rotation; } else { float i = myIMU.getQuatI(); @@ -32,13 +32,13 @@ SensorManager::RotationQuintillions SensorManager::getQuintillions() { float k = myIMU.getQuatK(); float w = myIMU.getQuatReal(); - RotationQuintillions rotation = { i, j, k, w }; + RotationQuaternions rotation = { i, j, k, w }; return rotation; } } -//calculate Quintillions to Euler angles from -1π to +1π +//calculate Quaternions to Euler angles from -1π to +1π SensorManager::eulerAngles SensorManager::getEulerAngles() { - SensorManager::RotationQuintillions rotation = getQuintillions(); + SensorManager::RotationQuaternions rotation = getQuaternions(); float roll = atan2(2.0f * (rotation.w * rotation.i + rotation.j * rotation.k), 1.0f - 2.0f * (rotation.i * rotation.i + rotation.j * rotation.j)); float pitch = asin(2.0f * (rotation.w * rotation.j - rotation.k * rotation.i)); float yaw = atan2(2.0f * (rotation.w * rotation.k + rotation.i * rotation.j), 1.0f - 2.0f * (rotation.j * rotation.j + rotation.k * rotation.k)); diff --git a/code/arduino/Movement-sensor-code/SensorManager.h b/code/arduino/Movement-sensor-code/SensorManager.h index aaf4d71..a7652e7 100644 --- a/code/arduino/Movement-sensor-code/SensorManager.h +++ b/code/arduino/Movement-sensor-code/SensorManager.h @@ -23,13 +23,13 @@ public: acceleration getAcelleration(); bool sensorTap(); private: - struct RotationQuintillions { + struct RotationQuaternions { float i; float j; float k; float w; }; - RotationQuintillions getQuintillions(); + RotationQuaternions getQuaternions(); BNO080 myIMU; };