summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/tools/step.py
blob: addc1ddd4878561b28be67cf7a67f124b6e9d798 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import sys
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):
    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 (*plots)
    a.consign (name, 0x200)
    array = a.get_stats (225)
    a.close ()

    g = Gnuplot.Gnuplot (persist = True)
    g ('set data style lines')
    g.plot (*[array[:, i] for i in xrange (len (plots))])

step ('t', 1, 0, 16, ('te', 'lw', 'rw'))
#step ('a', 1, 0, 16, ('ae', 'lw', 'rw'))
#step ('a0', 1, 0, 16, ('a0e', 'a0w'))