From a02bb25f1bd0e3bc4bd2150e8c3d2c81d8ccd715 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 15 Apr 2008 00:15:07 +0200 Subject: * digital/asserv/tools: - added support for serial port. --- digital/asserv/tools/asserv.py | 4 ++++ digital/asserv/tools/step.py | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'digital') diff --git a/digital/asserv/tools/asserv.py b/digital/asserv/tools/asserv.py index 0ccd8dcf..f5547a95 100644 --- a/digital/asserv/tools/asserv.py +++ b/digital/asserv/tools/asserv.py @@ -94,3 +94,7 @@ class Asserv: def wait (self, cond = None): self.proto.wait (cond) + + def reset (self): + self.proto.send ('w') + self.proto.send ('z') diff --git a/digital/asserv/tools/step.py b/digital/asserv/tools/step.py index 498ce58f..238ba5a0 100644 --- a/digital/asserv/tools/step.py +++ b/digital/asserv/tools/step.py @@ -3,15 +3,21 @@ sys.path.append (sys.path[0] + '/../../../host/proto') from asserv import Asserv import popen_io +import serial import Gnuplot def step (name, kp, ki, kd, plots): - io = popen_io.PopenIO (sys.argv[1:]) + if sys.argv[1] == '!': + io = popen_io.PopenIO (sys.argv[2:]) + else: + io = serial.Serial (sys.argv[1]) a = Asserv (io, **{ name + 'kp': kp, name + 'ki': ki, name + 'kd': kd}) a.stats ('PW') a.consign (name, 0x200) a.wait (lambda: a.stats_count > 225 * 2) list = a.get_stats () + a.reset () + a.wait (lambda: True) g = Gnuplot.Gnuplot (persist = True) g ('set data style lines') -- cgit v1.2.3