@@ -8,6 +8,7 import os | |||||
8 | import matplotlib.pyplot as plt |
|
8 | import matplotlib.pyplot as plt | |
9 | import numpy as np |
|
9 | import numpy as np | |
10 | import serial |
|
10 | import serial | |
|
11 | import struct | |||
11 |
|
12 | |||
12 | __author__ = "Alexis Jeandet" |
|
13 | __author__ = "Alexis Jeandet" | |
13 | __copyright__ = "Copyright 2015, Laboratory of Plasma Physics" |
|
14 | __copyright__ = "Copyright 2015, Laboratory of Plasma Physics" | |
@@ -43,12 +44,6 class dlp_temp(object): | |||||
43 | self.i=0 |
|
44 | self.i=0 | |
44 | self.__port=serial.Serial(port,timeout=0.5) |
|
45 | self.__port=serial.Serial(port,timeout=0.5) | |
45 |
|
46 | |||
46 | def _byte_to_int(self,byte): |
|
|||
47 | if byte >= 128: |
|
|||
48 | return byte-256 |
|
|||
49 | else: |
|
|||
50 | return byte |
|
|||
51 |
|
||||
52 | def ping(self): |
|
47 | def ping(self): | |
53 | self.__port.write(b"P") |
|
48 | self.__port.write(b"P") | |
54 | return b'Q' == self.__port.read(1) |
|
49 | return b'Q' == self.__port.read(1) | |
@@ -57,8 +52,7 class dlp_temp(object): | |||||
57 | if index < 3: |
|
52 | if index < 3: | |
58 | self.__port.write(self.sensors.get(index)) |
|
53 | self.__port.write(self.sensors.get(index)) | |
59 | dat=self.__port.read(9) |
|
54 | dat=self.__port.read(9) | |
60 | test=( self._byte_to_int(dat[0]) + (self._byte_to_int(dat[1])*256) ) |
|
55 | temp=float(struct.unpack( "h", dat[:2])[0])*0.0625 | |
61 | temp=float(test)*0.0625 |
|
|||
62 | return temp #(temp-32.0)/1.8 |
|
56 | return temp #(temp-32.0)/1.8 | |
63 | raise UserWarning("Parameter out of bound") |
|
57 | raise UserWarning("Parameter out of bound") | |
64 |
|
58 | |||
@@ -66,8 +60,7 class dlp_temp(object): | |||||
66 | if index < 3: |
|
60 | if index < 3: | |
67 | self.__port.write(self.aninputs.get(index)) |
|
61 | self.__port.write(self.aninputs.get(index)) | |
68 | dat=self.__port.read(2) |
|
62 | dat=self.__port.read(2) | |
69 | test=( self._byte_to_int(dat[0]) + (self._byte_to_int(dat[1])*256) ) |
|
63 | val=float(struct.unpack( "h", dat[:2])[0])/512.0 | |
70 | val=float(test)/512.0 |
|
|||
71 | return val |
|
64 | return val | |
72 | raise UserWarning("Parameter out of bound") |
|
65 | raise UserWarning("Parameter out of bound") | |
73 |
|
66 | |||
@@ -129,5 +122,18 class dlp_temp(object): | |||||
129 | def GP4(self,value): |
|
122 | def GP4(self,value): | |
130 | return self.digit_out(2,value) |
|
123 | return self.digit_out(2,value) | |
131 |
|
124 | |||
|
125 | ||||
|
126 | def main(argv): | |||
|
127 | if len(argv)==4: | |||
|
128 | print(argv[3]) | |||
|
129 | if len(argv)>=3: | |||
|
130 | dlp=dlp_temp(argv[0]) | |||
|
131 | while(True): | |||
|
132 | readout=[dlp.read_sensor(i) for i in range(int(argv[1]))] | |||
|
133 | print("{date}\t{values}".format(date=time.strftime("%Y-%m-%dT%H:%M:%S"),values="\t".join([str(x) for x in readout] ))) | |||
|
134 | time.sleep(float(argv[2])) | |||
|
135 | ||||
|
136 | ||||
132 | if __name__ == '__main__': |
|
137 | if __name__ == '__main__': | |
133 |
print( |
|
138 | print(sys.argv) | |
|
139 | main(sys.argv[1:]) |
General Comments 0
You need to be logged in to leave comments.
Login now