From eccb4edb57c0661e57d0c632be7ca9f78e233153 Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 9 May 2004 18:18:36 +0000 Subject: Test_robot, jointure entre test_motor et test_io. --- 2004/i/nono/src/qdai/Makefile.defs | 6 ++- 2004/i/nono/src/qdai/test_robot.cc | 98 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 2004/i/nono/src/qdai/test_robot.cc diff --git a/2004/i/nono/src/qdai/Makefile.defs b/2004/i/nono/src/qdai/Makefile.defs index 13d7277..91ae2a5 100644 --- a/2004/i/nono/src/qdai/Makefile.defs +++ b/2004/i/nono/src/qdai/Makefile.defs @@ -1,6 +1,10 @@ -TARGETS += qdai +TARGETS += qdai test_robot qdai_SOURCES = qdai.cc config.a date.a erreur.a image.a logger.o motor.o \ ovision.o serial.o utils.o video4linux.o +test_robot_SOURCES = test_robot.cc io_cmd.cc motor_cmd.cc date.a \ + io.a logger.a motor.a serial.a utils.a config.a erreur.a qdai: $(qdai_SOURCES:%.cc=%.o) +test_robot: $(test_robot_SOURCES:%.cc=%.o) + diff --git a/2004/i/nono/src/qdai/test_robot.cc b/2004/i/nono/src/qdai/test_robot.cc new file mode 100644 index 0000000..4356a7f --- /dev/null +++ b/2004/i/nono/src/qdai/test_robot.cc @@ -0,0 +1,98 @@ +// test_robot.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 "date/date.h" +#include "io/gpio_asserv.h" +#include "io/gpio_concat.h" +#include "io/gpio_servo_pp.h" +#include "io/io_cmd.h" +#include "io/servo.h" +#include "motor/asserv.h" +#include "motor/motor_cmd.h" +#include "motor/motor.h" + +#include +#include +#include +#include + +void +syntax (void) +{ + std::cout << + "test_robot - teste tout le robot.\n" + << motorHelp << ioHelp << + " attend (ms)\n" + " ? cet ecran d'aide" << std::endl; +} + +int +main (int argc, char **argv) +{ + try + { + Motor m; + GpioServoPp gspp; + GpioAsserv ga (m.getAsserv ()); + GpioConcat gc (ga, gspp, ga.getNbIo ()); + int i = 1; + while (i < argc) + { + if (!ioCmd (argc, argv, i, gc) && !motorCmd (argc, argv, i, m)) + { + switch (argv[i][0]) + { + case '?': + syntax (); + return 0; + default: + int s; + s = atoi (argv[i++]); + if (s == 0) + { + syntax (); + return 1; + } + cout << "test: sleep " << s << endl; + int start; + start = Date::getInstance ().start (); + while (Date::getInstance ().start () < start + s) + { + m.ok (); + Date::wait (50); + } + break; + } + } + m.waitEnd (); + gspp.update (); + } + return 0; + } + catch (const std::exception &e) + { + std::cerr << e.what () << std::endl; + return 1; + } +} -- cgit v1.2.3