Added python interface to stripchart program (shell out).
[stripchart.git] / stripchart.py
1 import os
2
3 class stripchart :
4     def __init__(self, pipename='strip_pipe', maxY=10, minY=-10,
5                  npoints=100, title='chart', axes=True) :
6         self.pipename = pipename
7         self.maxY = maxY
8         self.minY = minY
9         self.npoints = npoints
10         self.title = title
11         self.axes = axes
12         self.status = 'closed'
13         self.pipe = None
14     def __del__(self) :
15         self.close()
16     def open(self, debug=False) :
17         if self.status == 'closed' :
18             os.mkfifo(self.pipename)
19             cmd = "stripchart -t '%s' -p '%s' -u -M '%g' -m '%g' -n '%d'" % \
20                 (self.title, self.pipename, self.maxY, self.minY,
21                  self.npoints)
22             if self.axes == False :
23                 cmd += " -a"
24             cmd += " &"
25             if debug :
26                 print cmd
27             os.system(cmd)
28             self.pipe = open(self.pipename,'w')
29             self.status = 'open'
30     def close(self) :
31         if self.status == 'open' :
32             print >> self.pipe, "q"
33             self.pipe.close()
34             self.pipe = None
35             self.status = 'closed'
36     def _add_point(self, point) :
37         print >> self.pipe, point
38     def _flush(self) :
39         self.pipe.flush()
40     def add_point(self, point) :
41         self._add_point(point)
42         self._flush()