diff options
Diffstat (limited to 'qolab/hardware')
-rw-r--r-- | qolab/hardware/i_server/i800.py | 17 |
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:] |