summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/asserv.h
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/motor/asserv.h')
-rw-r--r--2004/i/nono/src/motor/asserv.h48
1 files changed, 26 insertions, 22 deletions
diff --git a/2004/i/nono/src/motor/asserv.h b/2004/i/nono/src/motor/asserv.h
index d6f1da1..2736c78 100644
--- a/2004/i/nono/src/motor/asserv.h
+++ b/2004/i/nono/src/motor/asserv.h
@@ -29,27 +29,27 @@
#include <string>
#include <queue>
-// Class dont on doit dériver pour pouvoir recevoir les informations de la
-// carte d'asservissement.
+/// Classe dont on doit hériter pour pouvoir recevoir les informations de la
+/// carte d'asservissement.
class AsservTracker
{
public:
- // Appelée lors d'une mise à jour des compteurs.
+ /// Appelée lors d'une mise à jour des compteurs.
virtual void updateCounter (int l, int r) { }
};
+/// Classe de dialogue avec la carte d'asservissement.
class Asserv
{
// Ligne série.
Serial serial_;
std::string ttyname_;
+ int ttyspeed_;
// Paramètres.
int accel_, kp_, ki_, kd_;
bool statMotor_, counter_;
// File d'emmission.
std::queue<std::string> sendQueue_;
- // Table de conversion en hexa.
- static const char *hexaTbl_;
// Buffer de reception.
int inBufSize_, inBufPos_;
char *inBuf_;
@@ -59,25 +59,26 @@ class Asserv
// Objet interessé par les stats.
AsservTracker &asservTracker_;
public:
- // Constructeur.
+ /// Constructeur.
Asserv (AsservTracker &asservTracker);
- // Destructeur.
+ /// Destructeur.
~Asserv (void);
- // Reset la carte et envois les paramètres.
+ /// Reset la carte et envois les paramètres.
void reset (void);
- // Active l'asservissement.
+ /// Active l'asservissement.
void go (bool fl = true);
- // Stop !
+ /// Stop !
void stop (void);
- // Réglage de la vitesse.
+ /// Réglage de la vitesse.
void speed (int l, int r);
- // Teste si l'émission est terminée.
+ /// Teste si l'émission est terminée.
bool ok (void);
- // Attend que toute les émissions soit terminées.
+ /// Attend que toute les émissions soit terminées.
void waitOk (void);
- // Lit et traite les messages de la cartes.
+ /// Lit et traite les messages de la cartes.
void read (void);
- // Change les paramètres de la carte.
+ /// @{
+ /// Change les paramètres de la carte.
void setAccel (int accel);
int getAccel (void) { return accel_; }
void setKp (int kp);
@@ -85,22 +86,25 @@ class Asserv
void setKd (int kd);
void setStatMotor (bool fl = true);
void setCounter (bool fl = true);
+ /// @}
protected:
- // Envoie un message.
+ /// @{
+ /// Envoie un message.
void send (char com);
void send (char com, bool fl);
void send (char com, int a1);
void send (char com, int a1, int a2);
- // Renvois le dernier message.
+ /// @}
+ /// Renvois le dernier message.
void sendLast (void);
- // Traite un message.
+ /// Traite un message.
void handleMessage (void);
- // Traite un message du compteur.
+ /// Traite un message de stats.
+ void handleStatMotor (void);
+ /// Traite un message du compteur.
void handleCounter (void);
- // Décode un mot signé (2 octets).
+ /// Décode un mot signé (2 octets).
int getSignedShort (const char *s) const;
- // Décode un chiffre hexa.
- int hex2digit (char c) const;
};
#endif // asserv_h