From d4d957c826c80f8f730ba896cca78dc2da862762 Mon Sep 17 00:00:00 2001 From: haller Date: Wed, 20 Apr 2005 15:42:33 +0000 Subject: Correction de quelques bug il reste encore des tests à faire --- 2005/i/robert/src/asserv/test_asserv.cc | 37 ++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to '2005/i/robert/src/asserv/test_asserv.cc') diff --git a/2005/i/robert/src/asserv/test_asserv.cc b/2005/i/robert/src/asserv/test_asserv.cc index 302be6a..84c3366 100644 --- a/2005/i/robert/src/asserv/test_asserv.cc +++ b/2005/i/robert/src/asserv/test_asserv.cc @@ -151,19 +151,46 @@ main (int argc, char **argv) i++; break; case 'f': - if(++i > argc) + if(++i + 1 > argc) throw std::runtime_error("syntax error"); - asserv.fuckTheWall(atoi(argv[i])); + switch(argv[i][0]) + { + case 'd': + asserv.fuckTheWall(strtod(argv[i + 1], 0)); + break; + case 'i': + asserv.fuckTheWall(atoi(argv[i + 1])); + break; + default: + throw std::runtime_error("syntax error"); + break; + } + i++; break; case 's': - if(++i + 1 > argc) + if(++i + 2 > argc) throw std::runtime_error("syntax error"); - asserv.setSpeed(strtod(argv[i], 0), strtod(argv[++i], 0)); + switch(argv[i][0]) + { + case 'd': + i++; + asserv.setSpeed(strtod(argv[i], 0), strtod(argv[i + 1], 0)); + break; + case 'i': + i++; + asserv.setSpeed(atoi(argv[i]), atoi(argv[i + 1])); + break; + default: + throw std::runtime_error("syntax error"); + break; + } + i++; break; case 'w': if(++i + 1 > argc) throw std::runtime_error("syntax error"); - asserv.setPwm(strtod(argv[i], 0), strtod(argv[++i], 0)); + asserv.setPwm(strtod(argv[i], 0), strtod(argv[i + 1], 0)); + i++; break; case 'F': asserv.finishAck(); -- cgit v1.2.3