Compare commits

..

No commits in common. "27733e737ad82ad5a35a1c71fe35c2d6f0f79b5a" and "9f3f039bb0a248448555c7c1a7f1a1c9985ecc83" have entirely different histories.

2 changed files with 19 additions and 29 deletions

9
IO.hpp
View File

@ -67,7 +67,7 @@ class IO {
pinMode(PIN_TIRETTE, INPUT_PULLUP); pinMode(PIN_TIRETTE, INPUT_PULLUP);
pinMode(PIN_BUTTON_COLOR, INPUT_PULLUP); pinMode(PIN_BUTTON_COLOR, INPUT_PULLUP);
initGyroscope(); m_code_cell->Motion_RotationRead(m_init_x, m_init_y, m_init_z);
m_initMotors(); m_initMotors();
m_initServo(); m_initServo();
@ -84,11 +84,6 @@ class IO {
return nb_errors; return nb_errors;
} }
void initGyroscope()
{
m_code_cell->Motion_RotationRead(m_init_x, m_init_y, m_init_z);
}
int update() int update()
{ {
static unsigned long last_color_change_time {0}; static unsigned long last_color_change_time {0};
@ -127,7 +122,7 @@ class IO {
m_is_tirette_pulled = (digitalRead(PIN_TIRETTE) == HIGH); m_is_tirette_pulled = (digitalRead(PIN_TIRETTE) == HIGH);
m_is_color_blue = is_color_blue; m_is_color_blue = is_color_blue;
is_color_blue = (digitalRead(PIN_BUTTON_COLOR) == LOW); is_color_blue = (digitalRead(PIN_BUTTON_COLOR) == HIGH);
if(m_is_motor_control_activated) if(m_is_motor_control_activated)
{ {

View File

@ -5,10 +5,6 @@
#include "IO.hpp" #include "IO.hpp"
#define NORMAL_SPEED 2048.0f
#define TURNING_SPEED 1500.0f
#define ON_STAGE_SPEED 1120.0f
// Unit tests activation // Unit tests activation
//#define UNIT_TESTS //#define UNIT_TESTS
@ -112,35 +108,43 @@ void loop()
case State::WaitingTimer: case State::WaitingTimer:
static unsigned long initial_time = millis(); static unsigned long initial_time = millis();
if(millis() - initial_time >= 87000) //if(millis() - initial_time >= 90000)
//if(millis() - initial_time >= 2000) if(millis() - initial_time >= 2000)
{ {
my_IO.initGyroscope();
actual_state = State::ForwardToRamp; actual_state = State::ForwardToRamp;
} }
break; break;
case State::ForwardToRamp: case State::ForwardToRamp:
my_IO.motorControlOn(); my_IO.motorControlOn();
my_IO.setSpeed(2000.0f); my_IO.setSpeed(2048.0f);
if(my_IO.getAngle(Axes::Y) < -8.0f) if(my_IO.getAngle(Axes::Y) < -5.0f)
{ {
actual_state = State::ForwardToScene; actual_state = State::ForwardToScene;
} }
break; break;
case State::ForwardToScene: case State::ForwardToScene:
my_IO.setSpeed(2000.0f); my_IO.setSpeed(2048.0f);
if(my_IO.getAngle(Axes::Y) > -3.5f)
if(my_IO.getAngle(Axes::Y) > -5.0f)
{ {
my_IO.setSpeed(1300.0f);
actual_state = my_IO.isSelectedColorBlue() ? State::Turn90Blue : State::Turn90Yellow; actual_state = my_IO.isSelectedColorBlue() ? State::Turn90Blue : State::Turn90Yellow;
//actual_state = State::Dancing; //actual_state = State::Dancing;
} }
break; break;
case State::Turn90Blue: case State::Turn90Blue:
my_IO.setDirWithAngularSpeed(-90.0f);
if(my_IO.getAngle(Axes::Z) < -80.0f)
{
actual_state = State::ForwardToSceneEdge;
}
break;
case State::Turn90Yellow:
my_IO.setDirWithAngularSpeed(90.0f); my_IO.setDirWithAngularSpeed(90.0f);
if(my_IO.getAngle(Axes::Z) >= 80.0f) if(my_IO.getAngle(Axes::Z) >= 80.0f)
@ -149,19 +153,10 @@ void loop()
} }
break; break;
case State::Turn90Yellow:
my_IO.setDirWithAngularSpeed(-90.0f);
if(my_IO.getAngle(Axes::Z) <= -80.0f)
{
actual_state = State::ForwardToSceneEdge;
}
break;
case State::ForwardToSceneEdge: case State::ForwardToSceneEdge:
my_IO.setSpeed(1100.0f); my_IO.setSpeed(1100.0f);
if(my_IO.getAngle(Axes::Y) > 3.0f) if(my_IO.getAngle(Axes::Y) > 5.0f)
{ {
actual_state = State::Dancing; actual_state = State::Dancing;
} }