summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/asserv/asserv.hh
diff options
context:
space:
mode:
Diffstat (limited to '2005/i/robert/src/asserv/asserv.hh')
-rw-r--r--2005/i/robert/src/asserv/asserv.hh30
1 files changed, 20 insertions, 10 deletions
diff --git a/2005/i/robert/src/asserv/asserv.hh b/2005/i/robert/src/asserv/asserv.hh
index f587c71..83c9f08 100644
--- a/2005/i/robert/src/asserv/asserv.hh
+++ b/2005/i/robert/src/asserv/asserv.hh
@@ -38,7 +38,13 @@ class Asserv : public NonCopyable, public Proto::Receiver
{
public:
/// Recoit un packet.
- virtual void receive (char command) = 0; // XXX Classe à définir
+ virtual void receiveCounter (char command) = 0;
+ virtual void receivePosition (char command) = 0;
+ virtual void receiveMotor (char command) = 0;
+ virtual void receivePwm (char command) = 0;
+ virtual void receiveTiming (char command) = 0;
+ virtual void receiveInPort (char command) = 0;
+ virtual void jaifini (char command) = 0;
};
// Communication avec l'AVR
Proto proto_;
@@ -51,6 +57,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
double ki_;
double kd_;
double maxSpeed_;
+ double maxPwn_;
// Stat
double pCounter_;
double pPosition_;
@@ -69,8 +76,6 @@ class Asserv : public NonCopyable, public Proto::Receiver
public:
/// Constructeur.
Asserv (const Config & config, Asserv::Receiver & receiver);
- /// Destructeur.
- ~Asserv (void);
/// Reset la carte et envois les paramètres.
void reset (void);
/// Essaie de purger la liste d'émission et indique si elle est vide.
@@ -93,6 +98,7 @@ class Asserv : public NonCopyable, public Proto::Receiver
void statInPort(double period = 0);
//@{
/// Change les paramètres de la carte.
+ void fermeTaGueule(void); //met le paramètre F à 0
void setXPos(double pos);
void setYPos(double pos);
void setAngle(double angle);
@@ -112,13 +118,17 @@ class Asserv : public NonCopyable, public Proto::Receiver
/// Charge les données de la classe config
void loadConfig(void);
/// Fonctions de conversion
- int mm2pasW(double dist);
- int mm2pasD(double dist);
- int radTo256(double angle);
- int mms2ppp(double vitesse);
- int rCycl2Pwm(double rCycl);
- int s2period(double period);
- int mmps2ppperiod(double accel);
+ int mm2pasD(double dist); //Format 24/8
+ int radTo256(double angle, bool format24eme = false); //Format 8 ou 8/24
+ int mms2ppp(double vitesse); // Format 8
+ int rCycl2Pwm(double rCycl); // Format 16
+ int s2period(double period); // Format 8
+ int mmps2ppperiod(double accel); //Format 8 (1 vitesse par x period)
};
#endif // asserv_h
+
+
+// Vérifier le format finale des conversions
+// Vérifier toutes les commandes passé à l'AVR
+// Faire la fonction receive