From 6219dbd0eae798ec953d7f9c80cf2955f7fd8f36 Mon Sep 17 00:00:00 2001 From: dd060606 Date: Thu, 6 Mar 2025 15:41:40 +0100 Subject: [PATCH] fix: motor forward --- .settings/com.st.stm32cube.ide.mcu.sfrview.prefs | 2 ++ Core/Src/motors.cpp | 15 ++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 .settings/com.st.stm32cube.ide.mcu.sfrview.prefs diff --git a/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs b/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs new file mode 100644 index 0000000..98a69fc --- /dev/null +++ b/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}} diff --git a/Core/Src/motors.cpp b/Core/Src/motors.cpp index 74cf83d..84b4973 100644 --- a/Core/Src/motors.cpp +++ b/Core/Src/motors.cpp @@ -30,10 +30,6 @@ void Motor::ralentirEnvers() { } void Motor::stop() { - tim->CCR1 = 0; - tim->CCR2 = 0; - tim->CCR3 = 0; - tim->CCR4 = 0; currentSpeed = 0; targetSpeed = 0; isAccelerating = false; @@ -52,12 +48,17 @@ void Motor::update() { // Mise à jour des registres du timer if (isAccelerating) { - tim->CCR4 = currentSpeed; - tim->CCR3 = currentSpeed; + //2 et 3 avance + tim->CCR2 = currentSpeed; + tim->CCR3 = currentSpeed; + } else if (isReversing) { + // 1 et 4 recule tim->CCR1 = currentSpeed; - tim->CCR2 = currentSpeed; + tim->CCR4 = currentSpeed; + } + // Arrêt si vitesse cible atteinte if (currentSpeed == targetSpeed) { isAccelerating = false;