Dominik Diedrich
/
drone_quado_x
code to fly a quadrocopter
PWM/degpwm.cpp
- Committer:
- DD1993
- Date:
- 2020-05-05
- Revision:
- 0:b0f9c5ac0305
File content as of revision 0:b0f9c5ac0305:
#include "degpwm.h" RawSerial pc_degpwm(USBTX, USBRX); //////////////////////PITCH FORWARD_DEG_TO_PWM////////////////////////////////////////////////////////////// int Degpwm::pitch_pwm(float pitch_error) { float pitch_e = pitch_error; float pitch_error_pwm = 0.0; int pitch_error_pwm_ready = 0; //Umrechnung von Grad zu PWM Wert if (pitch_e < -50 || pitch_e > 50){} else{ pitch_error_pwm = pitch_e *400/50; //pc_degpwm.printf("Output Pitch Errorpwm: %f\n", pitch_e); pitch_error_pwm_ready = pitch_error_pwm; //pc_degpwm.printf("Output Pitch Error: %f| PWM: %d\n", pitch_error, pitch_error_pwm_ready); } return pitch_error_pwm_ready; // Rücgabe des Korrekturwerts in PWM } //////////////////////ROLL_DEG_TO_PWM////////////////////////////////////////////////////////////// int Degpwm::roll_pwm(float roll_error) { float pitch_e = roll_error; float roll_error_pwm = 0.0; int roll_error_pwm_ready = 0; //Umrechnung von Grad zu PWM Wert if (pitch_e < -50 || pitch_e > 50){} else{ roll_error_pwm = pitch_e *400/50; //pc_degpwm.printf("Output Pitch Errorpwm: %f\n", pitch_e); roll_error_pwm_ready = roll_error_pwm; //pc_degpwm.printf("Output Pitch Error: %f| PWM: %d\n", pitch_error, pitch_error_pwm_ready); } return roll_error_pwm_ready; // Rücgabe des Korrekturwerts in PWM } //////////////////////YAW_ACCEL_TO_PWM////////////////////////////////////////////////////////////// int Degpwm::yaw_pwm(float yaw_error) { float yaw_e = yaw_error; float yaw_error_pwm = 0; int yaw_error_pwm_ready = 0; //Umrechnung von Grad zu PWM Wert if (yaw_e < -1200) { yaw_error_pwm = -1200 *370/170; yaw_error_pwm_ready = yaw_error_pwm; } else if (yaw_e > 1200) { yaw_error_pwm = 1200 *370/170; yaw_error_pwm_ready = yaw_error_pwm; } else{ yaw_error_pwm = yaw_e *370/170; yaw_error_pwm_ready = yaw_error_pwm; //pc_degpwm.printf("Output yaw Error: %f| PWM: %d\n", yaw_error, yaw_error_pwm_ready); } return yaw_error_pwm_ready; // Rückgabe des Korrekturwerts in PWM }