summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/test_asserv.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/motor/test_asserv.cc')
-rw-r--r--2004/i/nono/src/motor/test_asserv.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/2004/i/nono/src/motor/test_asserv.cc b/2004/i/nono/src/motor/test_asserv.cc
index 7ac096c..4aa05ae 100644
--- a/2004/i/nono/src/motor/test_asserv.cc
+++ b/2004/i/nono/src/motor/test_asserv.cc
@@ -36,6 +36,7 @@ class AsservTrackerC : public AsservTracker
{
int s;
public:
+ AsservTrackerC (void) : s (0) { }
// Appelée lors d'une mise à jour des compteurs.
virtual void updateCounter (int l, int r) { s += l; }
// Affiche.
@@ -46,6 +47,22 @@ class AsservTrackerC : public AsservTracker
{ s = 0; }
};
+void
+syntax (void)
+{
+ std::cout <<
+ "test_asserv - teste la communication avec la carte "
+ "d'asservissement.\n"
+ " s stop\n"
+ " z rezet\n"
+ " g go (active l'asservissement)\n"
+ " G ungo (désactive l'asservissement)\n"
+ " v <vg> <vd> vitesse gauche (vg) et droite (vd) en unité de la\n"
+ " carte d'asservissement\n"
+ " <timeout> attend un certain temps (qui augmente avec timeout)\n"
+ " ? cet ecran d'aide" << std::endl;
+}
+
int
main (int argc, char **argv)
{
@@ -89,9 +106,17 @@ main (int argc, char **argv)
cout << "speed " << vg << ' ' << vd << endl;
m.speed (vg, vd);
break;
+ case '?':
+ syntax ();
+ return 0;
default:
int s;
s = atoi (argv[i++]);
+ if (s == 0)
+ {
+ syntax ();
+ return 1;
+ }
cout << "sleep " << s << endl;
for (int j = 0; j < s * 1000 / 50; ++j)
{