summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/io/gpio.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/io/gpio.cc')
-rw-r--r--2004/i/nono/src/io/gpio.cc52
1 files changed, 16 insertions, 36 deletions
diff --git a/2004/i/nono/src/io/gpio.cc b/2004/i/nono/src/io/gpio.cc
index 172394d..4b23450 100644
--- a/2004/i/nono/src/io/gpio.cc
+++ b/2004/i/nono/src/io/gpio.cc
@@ -33,72 +33,52 @@ Gpio::~Gpio (void)
void
Gpio::set (int n, unsigned int bits, int nb)
{
- for (int i = 0; i < nb; ++i)
- {
- set (n + i, bits & 1);
- bits >>= 1;
- }
}
/// Change une sortie.
void
Gpio::set (int n, unsigned int bit)
{
+ set (n, bit, 1);
}
/// Lit plusieurs entrées.
unsigned int
Gpio::get (int n, int nb)
{
- unsigned int bits = 0;
- for (int i = nb - 1; i >= 0; --i)
- {
- bits <<= 1;
- bits |= get (n + i) & 1;
- }
- return bits;
+ return 0;
}
/// Lit une entrée.
unsigned int
Gpio::get (int n)
{
- return 0;
+ return get (n, 1);
}
-/// Pré-lit plusieurs entrées.
-bool
-Gpio::preget (int n, int nb)
+/// Change la direction de plusieurs I/O.
+void
+Gpio::dir (int n, unsigned int bits, int nb)
{
- bool ok = true;
- for (int i = nb - 1; i >= 0; --i)
- {
- ok &= preget (n + i);
- }
- return ok;
}
-/// Pré-lit une entrée.
-bool
-Gpio::preget (int n)
+/// Change la direction d'un I/O (1 pour I, 0 pour O).
+void
+Gpio::dir (int n, unsigned int bit)
{
- return true;
+ dir (n, bit, 1);
}
-/// Change la direction de plusieurs I/O.
+/// Met à jour.
void
-Gpio::dir (int n, unsigned int bits, int nb)
+Gpio::update (void)
{
- for (int i = 0; i < nb; ++i)
- {
- dir (n + i, bits & 1);
- bits >>= 1;
- }
}
-/// Change la direction d'un I/O (1 pour I, 0 pour O).
-void
-Gpio::dir (int n, unsigned int bit)
+/// Récupère le nombre d'entrées/sorties.
+int
+Gpio::getNbIo (void)
{
+ return 0;
}