summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/io/io_cmd.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/io/io_cmd.cc')
-rw-r--r--2004/i/nono/src/io/io_cmd.cc27
1 files changed, 25 insertions, 2 deletions
diff --git a/2004/i/nono/src/io/io_cmd.cc b/2004/i/nono/src/io/io_cmd.cc
index d64928f..1177f8b 100644
--- a/2004/i/nono/src/io/io_cmd.cc
+++ b/2004/i/nono/src/io/io_cmd.cc
@@ -24,6 +24,7 @@
// }}}
#include "io_cmd.h"
#include "gpio.h"
+#include "servo.h"
#include <iostream>
#include <cstdlib>
@@ -31,10 +32,12 @@
const char ioHelp[] =
" o <n> <bits> <nb> set des sorties.\n"
" i <n> <nb> get des entrées.\n"
- " d <n> <bits> <nb> dir des entrées/sorties.\n";
+ " d <n> <bits> <nb> dir des entrées/sorties.\n"
+ " m <n> <diff> déplace le servo n de diff.\n"
+ " M <n> <pos> déplace le servo n en pos.\n";
bool
-ioCmd (int argc, char **argv, int &i, Gpio &io)
+ioCmd (int argc, char **argv, int &i, Gpio &io, Servo &servo)
{
int n, bits, nb;
switch (argv[i][0])
@@ -74,6 +77,26 @@ ioCmd (int argc, char **argv, int &i, Gpio &io)
std::dec << ' ' << nb << std::endl;
io.dir (n, bits, nb);
break;
+ case 'm':
+ i++;
+ int diff;
+ if (i >= argc) break;
+ n = atoi (argv[i++]);
+ if (i >= argc) break;
+ diff = atoi (argv[i++]);
+ std::cout << "test: servo move " << n << ' ' << diff << std::endl;
+ servo.move (n, diff);
+ break;
+ case 'M':
+ i++;
+ int pos;
+ if (i >= argc) break;
+ n = atoi (argv[i++]);
+ if (i >= argc) break;
+ pos = atoi (argv[i++]);
+ std::cout << "test: servo moveTo " << n << ' ' << pos << std::endl;
+ servo.moveTo (n, pos);
+ break;
default:
return false;
}