summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/motor
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/motor')
-rw-r--r--2005/i/robert/src/motor/motor.hh35
1 files changed, 33 insertions, 2 deletions
diff --git a/2005/i/robert/src/motor/motor.hh b/2005/i/robert/src/motor/motor.hh
index c052c6b..22298e0 100644
--- a/2005/i/robert/src/motor/motor.hh
+++ b/2005/i/robert/src/motor/motor.hh
@@ -13,7 +13,7 @@
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
-//
+//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -25,7 +25,38 @@
//
// }}}
+#include "config/config.hh"
+
+/// Gère les moteurs de déplacement du robot
class Motor
{
-}
+ private:
+ double posX_;
+ double posY_;
+ double speed_;
+
+ public:
+ /// Constructeur
+ Motor (const Config & config);
+ /// Initialise les moteurs
+ void init(void);
+ ///Arrête les moteurs
+ void stop(void);
+ /// Renvoie la position X
+ double getX(void);
+ /// Renvoie la position Y
+ double getY(void);
+ /// Ammène le robot à la position x,y
+ void goTo(double x, double y);
+ /// Recale le robot
+ void recalage(void);
+ /// Règle la vitesse des moteurs
+ void setSpeed(double v);
+ /// Indique si les moteurs sont occupé ou non
+ bool idle (void);
+ /// Execute un déplacement linéaire
+ void linearMove(double d);
+ /// Execute une rotation(argument en radian)
+ void rotation(double a);
+};
#endif // motor.hh