From 31d382dd86f9ccbf0793cc23d1bcc83e65b5faae Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 6 Feb 2024 10:49:48 +0300 Subject: [PATCH] Simplify motors pwm calculation using unified value for all motors --- flix/motors.ino | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/flix/motors.ino b/flix/motors.ino index 937d8e4..1f21bfd 100644 --- a/flix/motors.ino +++ b/flix/motors.ino @@ -9,16 +9,13 @@ #define MOTOR_1_PIN 13 #define MOTOR_2_PIN 14 #define MOTOR_3_PIN 15 - #define PWM_FREQUENCY 200 #define PWM_RESOLUTION 8 - #define PWM_NEUTRAL 1500 - -const uint16_t pwmMin[] = {1600, 1600, 1600, 1600}; -const uint16_t pwmMax[] = {2300, 2300, 2300, 2300}; -const uint16_t pwmReverseMin[] = {1390, 1440, 1440, 1440}; -const uint16_t pwmReverseMax[] = {1100, 1100, 1100, 1100}; +#define PWM_MIN 1600 +#define PWM_MAX 2300 +#define PWM_REVERSE_MIN 1440 +#define PWM_REVERSE_MAX 1100 void setupMotors() { Serial.println("Setup Motors"); @@ -43,9 +40,9 @@ uint16_t getPWM(float val, int n) { if (val == 0) { return PWM_NEUTRAL; } else if (val > 0) { - return mapff(val, 0, 1, pwmMin[n], pwmMax[n]); + return mapff(val, 0, 1, PWM_MIN, PWM_MAX); } else { - return mapff(val, 0, -1, pwmReverseMin[n], pwmReverseMax[n]); + return mapff(val, 0, -1, PWM_REVERSE_MIN, PWM_REVERSE_MAX); } }