diff --git a/test/main.cpp b/test/main.cpp new file mode 100644 index 0000000..3b3a3af --- /dev/null +++ b/test/main.cpp @@ -0,0 +1,26 @@ +#include "Arduino.h" +#include "motor_control.h" +#include "tasks/motor_task.h" + +MotorTask motorTask; + +void setup() +{ + initMotors(); + motorTask = MotorTask(); +} + +void loop() +{ + // Imaginons un obstacle + if (false) + { + motorTask.stop(); + } + else if (!motorTask.isRunning()) + { + motorTask.start(); + motorTask.goForward(200, 20); + } + delay(20); +} diff --git a/test/tasks/motor_task.cpp b/test/tasks/motor_task.cpp new file mode 100644 index 0000000..b917d4c --- /dev/null +++ b/test/tasks/motor_task.cpp @@ -0,0 +1,37 @@ +#include "motor_task.h" +#include "motor_control.h" + +MotorTask::MotorTask() : Task() {} + +MotorTask::~MotorTask() +{ + stop(); +} + +void MotorTask::start() +{ + Task::start(); +} + +void MotorTask::stop() +{ + Task::stop(); + stopMotors(); +} + +void MotorTask::goForward(int speed, int delayTime) +{ + if (isRunning()) + { + // Code pour accélérer vers l'avant + accelerateForward(speed, delayTime); + } +} +void MotorTask::goReverse(int speed, int delayTime) +{ + if (isRunning()) + { + // Code pour accélérer en marche arrière + accelerateReverse(speed, delayTime); + } +} \ No newline at end of file diff --git a/test/tasks/motor_task.h b/test/tasks/motor_task.h new file mode 100644 index 0000000..207a545 --- /dev/null +++ b/test/tasks/motor_task.h @@ -0,0 +1,17 @@ +#ifndef MOTORTASK_H +#define MOTORTASK_H + +#include "Task.h" + +class MotorTask : public Task +{ +public: + MotorTask(); + ~MotorTask(); + void start(); + void stop(); + void goForward(int speed, int delayTime); + void goReverse(int speed, int delayTime); +}; + +#endif // MOTORTASK_H \ No newline at end of file