summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/io/gpio_servo_pp.h
diff options
context:
space:
mode:
authorschodet2004-05-19 13:15:12 +0000
committerschodet2004-05-19 13:15:12 +0000
commit43cbee25345ca2a8c6e4a950ad8d5e91375d0527 (patch)
treed192ae91d040d4f441bd593787faf7701d97acae /2004/i/nono/src/io/gpio_servo_pp.h
parenta489a86584e82b33821aa2b7287af145e36f4f83 (diff)
Plein de trucs.
Diffstat (limited to '2004/i/nono/src/io/gpio_servo_pp.h')
-rw-r--r--2004/i/nono/src/io/gpio_servo_pp.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/2004/i/nono/src/io/gpio_servo_pp.h b/2004/i/nono/src/io/gpio_servo_pp.h
index f5ee63a..5e4a601 100644
--- a/2004/i/nono/src/io/gpio_servo_pp.h
+++ b/2004/i/nono/src/io/gpio_servo_pp.h
@@ -29,17 +29,19 @@
#include "serial/serial.h"
#include "logger/log.h"
-#include <string>
+#include <map>
/// Classe pour la gestion de la carte servo à Pierre Prot.
class GpioServoPp : public Gpio, public Servo
{
/// Nombre d'entrées/sorties.
- static const int nbInputs_ = 6, nbOutputs_ = 6, nbServo_ = 2;
+ static const int nbInputs_ = 8, nbOutputs_ = 6,
+ nbServo_ = 2, nbAnaInputs_ = 4;
/// Sorties courantes.
unsigned int outputs_;
/// Dernière valeurs d'entrées.
unsigned int inputs_;
+ unsigned int anaInput_[4];
/// Position des servos.
int servoPos_[nbServo_];
// Ligne série.
@@ -48,6 +50,9 @@ class GpioServoPp : public Gpio, public Servo
int ttyspeed_;
// Logger.
Log log_;
+ // Nom des E/S.
+ typedef std::map<std::string, int> Names;
+ Names names_;
public:
/// Constructeur.
GpioServoPp (void);
@@ -65,6 +70,12 @@ class GpioServoPp : public Gpio, public Servo
void update (void);
/// Récupère le nombre d'entrées/sorties.
int getNbIo (void);
+ /// Récupère une entrée/sortie par son nom.
+ int getByName (const std::string &name) const;
+ /// Récupère la valeure d'une entrée analogique.
+ unsigned int getAna (int n);
+ /// Récupère le nombre d'entrées analogiques.
+ int getNbAna (void) const;
};
#endif // gpio_servo_pp_h