summaryrefslogtreecommitdiff
path: root/2004
diff options
context:
space:
mode:
authorschodet2004-05-13 19:33:41 +0000
committerschodet2004-05-13 19:33:41 +0000
commit3709bde8401b2e8e81539a26f2b88cabe20aa94f (patch)
tree67a5f91d923ec84c95e913e2a9a153e4ef27bd05 /2004
parentd45fcbc8bbfe22ffb997f9c09bd8e595bc7d75f1 (diff)
Extension du programme de test.
Diffstat (limited to '2004')
-rw-r--r--2004/i/nono/src/serial/Makefile.defs2
-rw-r--r--2004/i/nono/src/serial/test_serial.cc53
2 files changed, 45 insertions, 10 deletions
diff --git a/2004/i/nono/src/serial/Makefile.defs b/2004/i/nono/src/serial/Makefile.defs
index ca968f0..24ddd4c 100644
--- a/2004/i/nono/src/serial/Makefile.defs
+++ b/2004/i/nono/src/serial/Makefile.defs
@@ -1,6 +1,6 @@
LIBS += serial.a
TARGETS += test_serial
-test_serial_SOURCES = test_serial.cc serial.a erreur.a
+test_serial_SOURCES = test_serial.cc serial.a date.a
serial_a_SOURCES = serial.cc serial_base.cc serial_dev.cc serial_stdio.cc
serial.a: ${serial_a_SOURCES:%.cc=serial.a(%.o)}
diff --git a/2004/i/nono/src/serial/test_serial.cc b/2004/i/nono/src/serial/test_serial.cc
index 2395f0e..00144c2 100644
--- a/2004/i/nono/src/serial/test_serial.cc
+++ b/2004/i/nono/src/serial/test_serial.cc
@@ -23,29 +23,64 @@
//
// }}}
#include "serial.h"
-#include "erreur/erreur.h"
+#include "date/date.h"
#include <iostream>
+void
+syntax (void)
+{
+ std::cout << "test_serial ttyname - Test la classe Serial.\n"
+ " a carte d'asservissement.\n"
+ " e échèle de 0 à 255 puis 0...\n"
+ " <val> envois une valeur." << std::endl;
+}
int
main (int argc, char **argv)
{
try
{
- if (argc != 2)
+ if (argc < 3)
{
- std::cerr << argv[0] << " ttyname" << std::endl;
+ syntax ();
return 1;
}
Serial s;
s.open (argv[1]);
- s.write ("!g\r", 3);
- sleep (1);
- s.write ("!v0303\r", 7);
- sleep (5);
- s.write ("!s\r", 3);
+ switch (argv[2][0])
+ {
+ case 'a':
+ s.write ("!g1\r", 3);
+ Date::getInstance ().wait (1000);
+ s.write ("!v0303\r", 7);
+ Date::getInstance ().wait (5000);
+ s.write ("!s\r", 3);
+ break;
+ case 'e':
+ while (1)
+ {
+ for (int i = 0; i < 256; ++i)
+ {
+ std::cout << i << std::endl;
+ s.putchar (i);
+ Date::getInstance ().wait (100);
+ }
+ for (int i = 255; i >= 0; --i)
+ {
+ std::cout << i << std::endl;
+ s.putchar (i);
+ Date::getInstance ().wait (100);
+ }
+ }
+ break;
+ default:
+ int i = atoi (argv[2]);
+ std::cout << i << std::endl;
+ s.putchar (i);
+ break;
+ }
}
- catch (Erreur &e)
+ catch (const std::exception &e)
{
cerr << e.what () << std::endl;
return 1;