From d465cf26f27ae2ff8cd336bddc2f0a076a5df546 Mon Sep 17 00:00:00 2001 From: schodet Date: Fri, 14 May 2004 17:49:34 +0000 Subject: Ajout servoCmd --- 2004/i/nono/src/io/servo_cmd.cc | 66 +++++++++++++++++++++++++++++++++++++++++ 2004/i/nono/src/io/servo_cmd.h | 35 ++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 2004/i/nono/src/io/servo_cmd.cc create mode 100644 2004/i/nono/src/io/servo_cmd.h (limited to '2004') diff --git a/2004/i/nono/src/io/servo_cmd.cc b/2004/i/nono/src/io/servo_cmd.cc new file mode 100644 index 0000000..d4d75d0 --- /dev/null +++ b/2004/i/nono/src/io/servo_cmd.cc @@ -0,0 +1,66 @@ +// servo_cmd.cc +// nono - programme du robot 2004. {{{ +// +// Copyright (C) 2004 Nicolas Schodet +// +// Robot APB Team/Efrei 2004. +// Web: http://assos.efrei.fr/robot/ +// Email: robot AT efrei DOT fr +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// }}} +#include "servo_cmd.h" +#include "servo.h" + +#include +#include + +const char servoHelp[] = + " m déplace le servo n de diff.\n" + " M déplace le servo n en pos.\n"; + +bool +servoCmd (int argc, char **argv, int &i, Servo &servo) +{ + int n; + switch (argv[i][0]) + { + 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; + } + return true; +} + diff --git a/2004/i/nono/src/io/servo_cmd.h b/2004/i/nono/src/io/servo_cmd.h new file mode 100644 index 0000000..875cc8e --- /dev/null +++ b/2004/i/nono/src/io/servo_cmd.h @@ -0,0 +1,35 @@ +#ifndef servo_cmd_h +#define servo_cmd_h +// servo_cmd.h +// nono - programme du robot 2004. {{{ +// +// Copyright (C) 2004 Nicolas Schodet +// +// Robot APB Team/Efrei 2004. +// Web: http://assos.efrei.fr/robot/ +// Email: robot AT efrei DOT fr +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +// }}} + +class Servo; + +extern const char servoHelp[]; + +bool +servoCmd (int argc, char **argv, int &i, Servo &servo); + +#endif // servo_cmd_h -- cgit v1.2.3