code to fly a quadrocopter

Dependencies:   mbed

Revision:
0:b0f9c5ac0305
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PWM/pwmdeg.cpp	Tue May 05 21:11:38 2020 +0000
@@ -0,0 +1,94 @@
+#include "pwmdeg.h"
+
+RawSerial pc2(USBTX, USBRX);
+
+//////////////////////PITCH FORWARD//////////////////////////////////////////////////////////////
+float pwmdeg::pitch_forward(int pitch_in)
+{
+    int wert = pitch_in;
+    //pc2.printf("ele_kalsse: %d \n", wert);
+    float dPWM = 0;
+    int pwm_mittel = 1479;
+    float pitch_forwarddeg = 0;
+    float grad = 0;
+
+    dPWM = wert - pwm_mittel;
+    grad = dPWM * 50/400;
+
+    //pc2.printf("ele: %f | wert: %d\n", dPWM, wert);
+
+    if(wert >= 1460 && wert <= 1500) {
+        pitch_forwarddeg = 0;
+        //pc2.printf("ele: %f | wert: %d\n", dPWM, wert);
+    }
+
+    else {
+        pitch_forwarddeg = grad;
+
+    }
+    //pc2.printf("ele: %f | wert: %d\n", dPWM, wert);
+    //pc2.printf("Grad von RC: %f| Wert ele: %d \n", pitch_forwarddeg, wert);
+    return pitch_forwarddeg;
+
+}
+
+
+
+
+
+//////////////////////ROLL//////////////////////////////////////////////////////////////
+float pwmdeg::roll(int ail_in)
+{
+    int wert = ail_in;
+    float rolldeg = 0;
+    int pwm_mittel = 1500;
+    float grad = 0;
+    float dPWM = 0;
+
+    dPWM = wert - pwm_mittel;
+    grad = dPWM * 50/400;
+
+
+
+    if(wert >= 1480 && wert <= 1520) {
+        rolldeg = 0;
+
+    }
+
+    else {
+        rolldeg = grad;
+        //pc2.printf("grad: %f", grad);
+
+    }
+
+    //pc2.printf("Grad von RC: %f| Wert ele: %d \n", rolldeg, wert);
+    return rolldeg;
+
+}
+
+//////////////////////YAW//////////////////////////////////////////////////////////////
+float pwmdeg::yaw(int rud_in)
+{
+    int wert = rud_in;
+    int pwm_mittel = 1492;
+    int grad = 0;
+    int dPWM = 0;
+    int yawaccel = 0;
+    //pc2.printf("grad: %f\n", wert);
+
+    dPWM = wert - pwm_mittel;
+    grad = dPWM * 170/380;
+
+    if(wert >= 1470 && wert <= 1500) {
+        yawaccel = 0;
+    }
+
+    else {
+        yawaccel = grad;
+    }
+
+
+    //pc2.printf("Grad/s von RC: %d| Wert yaw: %d \n", yawaccel, wert);
+    return yawaccel;
+
+}
\ No newline at end of file