Prototyp V2

Dependencies:   PM2_Libary

Revision:
54:86a90ce4e412
Parent:
49:c2ebc11520f9
--- a/mapping.cpp	Wed Apr 20 08:35:47 2022 +0200
+++ b/mapping.cpp	Wed Apr 20 08:58:46 2022 +0200
@@ -1,32 +1,13 @@
-//pow function is here so we dont have to use the math.h library
-//it takes 2 arguments the base can be any negative or positive floating point number the power has to be a hos to be an "integer" defined as a double
-double powerx(double base, double pow2){
-    double result = -1;
-    double power = pow2;
-    double basis = base;
-    result = 1;
-    //handling negative exponents
-    if(power<0){
-        for(double i=1; i<=(power*(-1.0)); i++) {
-            result *= basis;
-        }
-        result = 1.0/result;
-    }
-    //handling positive exponents
-    else{
-    for(double i=1; i<=power; i++){
-    result *= basis;}}
-
-    return result;
-    }
+#include "math.h"
 
 double mapping(float adc_value_mV){
     double distance = 0.0f; //distance in mm
     double infY =360 , supY = 2360; //Window for sensor values
     double voltage_mV = adc_value_mV;
-    double p1 = -1.127*powerx(10,-14), p2 = 8.881*powerx(10,-11), p3 = -2.76*powerx(10,-7), p4 = 0.0004262, p5 = -0.3363, p6 = 120.1 ; //faktoren für polynomkurve -> von matlab exportiert
+    double p1 = -1.127 * pow(10, -14), p2 = 8.881 * pow(10, -11), p3 = -2.76 * pow(10, -7), p4 = 0.0004262, p5 = -0.3363, p6 = 120.1 ; //faktoren für polynomkurve -> von matlab exportiert
     if(voltage_mV > infY && voltage_mV < supY){
-        distance = p1*powerx(voltage_mV,5) + p2*powerx(voltage_mV,4) + p3*powerx(voltage_mV,3) + p4*powerx(voltage_mV,2) + p5*voltage_mV + p6;
+        distance = p1 * pow(voltage_mV, 5) + p2 * pow(voltage_mV, 4) + p3 * pow(voltage_mV, 3) + p4 * pow(voltage_mV, 2) + p5 * voltage_mV + p6;
     }
     return (distance);
 }
+