From 1d57bcc0e69306423d76cfa40a37bad2acf61577 Mon Sep 17 00:00:00 2001 From: dufourj Date: Wed, 24 May 2006 01:13:15 +0000 Subject: Marvin : * Es : - supporte pleins de nouveauté du code ES avr. * Proto : - commande moche qui envoye un string plutôt qu'une liste d'arguments ; - support de 5 arguments max au lieu de 4. --- i/marvin/src/es/test_es.cc | 93 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 3 deletions(-) (limited to 'i/marvin/src/es/test_es.cc') diff --git a/i/marvin/src/es/test_es.cc b/i/marvin/src/es/test_es.cc index be60620..13ca8a3 100644 --- a/i/marvin/src/es/test_es.cc +++ b/i/marvin/src/es/test_es.cc @@ -25,11 +25,32 @@ #include "tester/tester.hh" #include "es/es.hh" +#include "timer/timer.hh" + +#include class TestEs : public Tester { private: Es es_; + /// Called after each command called. + void postcall (void) + { + while (!es_.wait ()) + ; + } + /// Wait. + void wait (int ms) + { + int t, stop; + t = Timer::getProgramTime (); + stop = t + ms; + while (t < stop) + { + es_.wait (stop - t); + t = Timer::getProgramTime (); + } + } public: // Constructor TestEs (int argc, char ** argv) @@ -38,12 +59,78 @@ class TestEs : public Tester { Interpreter &interpreter = getInterpreter (); // Add functions. - interpreter.add ("z", Interpreter::memFunc ( es_, &Es::init ), "Fonction reset ()"); - interpreter.add ("w", Interpreter::memFunc ( es_, &Es::wait ), "Fonction wait ()"); + interpreter.add ("reset", Interpreter::memFunc (es_, &Es::reset), + "Reset ()"); + interpreter.add ("wait", Interpreter::memFunc (*this, &TestEs::wait), + "Blocking wait (time)\n" + " - time : time to wait in ms"); + interpreter.add + ("rvbStat", Interpreter::memFunc (es_, &Es::setRVBSensorsStat), + "Enable RVB Sensors raw stats (mask, freq)"); + interpreter.add + ("colorStat", Interpreter::memFunc (es_, &Es::setRVBSniffStat), + "Enable RVB Sensors color stats (mask, freq)"); + interpreter.add + ("ballStat", Interpreter::memFunc (es_, &Es::setRVBBallStat), + "Enable Ball stats (num, freq)\n" + " - num : sensor number (7 or 8)"); + interpreter.add + ("colorRef", Interpreter::memFunc (es_, &Es::setRefColor), + "Reference current color as green for sensors (mask)"); + interpreter.add + ("rvbAll", Interpreter::memFunc (es_, &Es::enableAllSensors), + "Drop a ball at the rear ()"); + interpreter.add + ("servoPos", Interpreter::memFunc (es_, &Es::setServoPos), + "Set servo position (mask, pos)"); + interpreter.add + ("sharpUp", Interpreter::memFunc (es_, &Es::setSharpUpdate), + "Set sharp update frequency (mask, freq)"); + interpreter.add + ("sharpStat", Interpreter::memFunc (es_, &Es::setSharpStat), + "Set sharp stats (mask, freq)"); + interpreter.add + ("sharpThreshold", Interpreter::memFunc (es_, &Es::setSharpThreshold), + "Set sharp threshold (num, high, low)\n" + " - num : sharp number (1-3)\n" + " - high : high threshold\n" + " - low : low threshold"); + interpreter.add + ("lcdPrint", Interpreter::memFunc (es_, &Es::lcdPrint), + "Print a message (32 char max) onto the LCD (message)"); + interpreter.add + ("lcdKey", Interpreter::memFunc (es_, &Es::lcdGetKey), + "Set stat for key if pressed (freq)"); + interpreter.add + ("turbSpeed", Interpreter::memFunc (es_, &Es::setTurbineSpeed), + "Set turbine speed (num, speed)\n" + " - num : 1 front, 2 rear\n" + " - speed : 256 - 819"); + interpreter.add + ("turbMin", Interpreter::memFunc (es_, &Es::init2Barillet), + "Turbine minimal speed ()"); + interpreter.add + ("turbDep", Interpreter::memFunc (es_, &Es::deposeBalle), + "Drop a ball at the rear ()"); + interpreter.add + ("barGoTo", Interpreter::memFunc (es_, &Es::rotationBarillet), + "Barillet go to position (pos)\n" + " - pos : in 40° of a round"); + interpreter.add + ("barSleep", Interpreter::memFunc (es_, &Es::barilletSleep), + "Barillet in sleep mode (low speed turbine)"); + interpreter.add + ("statAck", Interpreter::memFunc (es_, &Es::setAckStat), + "Set ack stat (freq)"); + interpreter.add + ("statMain", Interpreter::memFunc (es_, &Es::setMainStat), + "Set main stat (freq)"); + interpreter.add ("_postcall", + Interpreter::memFunc (*this, &TestEs::postcall)); } }; - int +int main (int argc, char **argv) { try -- cgit v1.2.3