aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qolab/hardware/i_server/i800.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/qolab/hardware/i_server/i800.py b/qolab/hardware/i_server/i800.py
index c42b5dd..e7b8dcb 100644
--- a/qolab/hardware/i_server/i800.py
+++ b/qolab/hardware/i_server/i800.py
@@ -19,19 +19,22 @@ class I800(BasicInstrument):
self.config['Device type']='TemperatureController'
self.config['Device model'] = 'i800'
self.config['FnamePrefix'] = 'temperature'
- self.deviceProperties = {'Temerature'}
+ self.deviceProperties = {'Temperature'}
- @BasicInstrument.tsdb_append
- def getTemperature(self):
+ def query(self, qstr):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((self.host, self.port))
+ s.send(qstr.encode('ascii'))
+ return s.recv(100).decode('ascii')
+
+ @BasicInstrument.tsdb_append
+ def getTemperature(self):
cmd_start_marker='*'
modbus_address='01'
command='X01'; # give decimal representation (X) of the temperature (01 address)
- cmnd=f'POST / HTTP/1.1\r\n\r\n{cmd_start_marker}{modbus_address}{command}\r\n'
- s.send(cmnd.encode('ascii'))
- reply=s.recv(100).decode('ascii')
- if reply[0:5] != '01X01':
+ qstr=f'POST / HTTP/1.1\r\n\r\n{cmd_start_marker}{modbus_address}{command}\r\n'
+ reply=self.query(qstr)
+ if reply[0:5] != f'{modbus_address}{command}':
# check the proper echo response
return None
t = reply[5:]