summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/asserv/tools/test_goto.py33
1 files changed, 24 insertions, 9 deletions
diff --git a/digital/asserv/tools/test_goto.py b/digital/asserv/tools/test_goto.py
index 2cbbb350..f2aa2535 100644
--- a/digital/asserv/tools/test_goto.py
+++ b/digital/asserv/tools/test_goto.py
@@ -3,14 +3,29 @@ import math
import asserv
import asserv.init
-from utils.init_proto import init_proto
+from utils.init_proto import InitProto
-a = init_proto (None, asserv.Proto, asserv.init)
-for i in xrange (10):
- x = random.randrange (2000)
- y = random.randrange (1100)
- a.goto (x, y)
- a.goto_angle (math.radians (random.randrange (360)))
-a.goto (0, 0)
-a.goto_angle (0)
+ip = InitProto (None, asserv.Proto, asserv.init)
+ip.parser.add_option ('-i', '--iterations',
+ help = "number of test iterations", metavar = 'NB', default = 10)
+ip.parser.add_option ('-t', '--type',
+ help = "test type, one of random or linear", metavar = 'TYPE',
+ default = 'random')
+ip.parse_args ()
+a = ip.get_proto ()
+try:
+ if ip.options.type == 'random':
+ for i in xrange (ip.options.iterations):
+ x = random.randrange (2000)
+ y = random.randrange (1100)
+ a.goto (x, y)
+ a.goto_angle (math.radians (random.randrange (360)))
+ a.goto (0, 0)
+ a.goto_angle (0)
+ elif ip.options.type == 'linear':
+ for i in xrange (ip.options.iterations):
+ a.speed_pos ('t', 1000)
+ a.speed_pos ('t', -1000)
+except:
+ pass
a.close ()