diff --git a/jacobot/arduino/Car.cpp b/jacobot/arduino/Car.cpp index 3663645..1170248 100644 --- a/jacobot/arduino/Car.cpp +++ b/jacobot/arduino/Car.cpp @@ -37,52 +37,26 @@ void Car::turn(float angle, double setPoint) { //angle : degre const float m1_mmp = pi*(*m_m1).m_radius*2/(*m_m1).m_ratio; // mm/pulse for m1 const float m2_mmp = pi*(*m_m2).m_radius*2/(*m_m2).m_ratio; // mm/pulse for m2 double m1_duration = 0; - double m2_duration = 0; m_m1->setPoint = setPoint; m_m2->setPoint = setPoint/m2_mmp*m1_mmp; - boolean m1_tmp = false; - boolean m2_tmp = false; if(angle>0) { - while(!m1_tmp && !m2_tmp) { - if(m1_durationduration); - m1_duration+=m_m1->duration; - m_m1->compute(0); - m_m1->advance(); - m_m1->duration = 0; - } else {m1_tmp = true; m_m1->stop();} - if(m2_durationduration); - m2_duration-=m_m2->duration; - m_m2->compute(0); - m_m2->back(); - m_m2->duration = 0; - } else {m2_tmp = true; m_m2->stop();} + while(m1_durationduration; + m_m1->compute(0); + m_m1->advance(); + m_m2->compute(0); + m_m2->back(); } } else if(angle<0) { - while(!m1_tmp && !m2_tmp) { - if(m1_durationduration; - m_m1->compute(0); - m_m1->back(); - m_m1->duration = 0; - } else {m1_tmp = true; m_m1->stop();} - if(m2_durationduration; - m_m2->compute(0); - m_m2->advance(); - m_m2->duration = 0; - } else {m2_tmp = true; m_m2->stop();} + while(m1_durationduration; + m_m1->compute(0); + m_m1->back(); + m_m2->compute(0); + m_m2->advance(); } } - Serial.println(m1_tmp); - Serial.println("End"); m_m1->stop(); m_m2->stop(); + return; } \ No newline at end of file diff --git a/jacobot/arduino/MotorEncoder.cpp b/jacobot/arduino/MotorEncoder.cpp index 5c84609..e586a95 100644 --- a/jacobot/arduino/MotorEncoder.cpp +++ b/jacobot/arduino/MotorEncoder.cpp @@ -56,6 +56,7 @@ void MotorEncoder::back() { } void MotorEncoder::stop() { + digitalWrite(m_M_left, LOW); analogWrite(m_E_left, 0); } diff --git a/jacobot/arduino/main.cpp b/jacobot/arduino/main.cpp index 5bf98c5..c93c4f7 100644 --- a/jacobot/arduino/main.cpp +++ b/jacobot/arduino/main.cpp @@ -30,4 +30,5 @@ void setup() { } void loop() { + Serial.println(m1.duration); } \ No newline at end of file