I am trying to add a Temperature Scanner Fluke SuperDaq 1586A to the skippylib and skippy device server but ran into some error.
My device server is running on Nvidia Jetson Nano (Arm64)
Here is what I did:
-
Git clone Skippy from GitHub - srgblnch/skippy: Tango device server to interface SCPI instrument communication like Scopes, Function Generators, Spectrum Analyzers, and so on.
-
For testing , adding fluke1586a.py to skippylib/instructions/multimeter with this content:
Attribute(‘ClearAllRegistersAndErrors’,
{‘type’: PyTango.CmdArgType.DevString,
‘dim’: [0],
‘readCmd’: “*CLS”,
}) -
Adding to skippylib/identify.py
def fluke(model):
if model.startswith(‘1586A’):
return _getFilePath(“instructions/multimeter/fluke1586a.py”)
raise EnvironmentError(“Fluke %s model not supported” % (model)) -
Rebuild and install skippylib with: sudo python setup.py install
-
Test with a python console:
from skippylib import Skippy
skippyObj = Skippy(name=‘192.168.1.239’, port=3490, nChannels=40, terminator = ‘\r\n’)
DEBUG: State change from UNKNOWN to INIT
DEBUG: New status message: ‘The device is in INIT state.\nInitializing…\n’
DEBUG: identified ‘192.168.1.239’ as host name
DEBUG: building a communication to 192.168.1.239 by socket using port 3490
DEBUG: State change from INIT to OFF
DEBUG: New status message: ‘The device is in OFF state.\n’
DEBUG: Standby() called from OFF
DEBUG: > BySocket._send(*args: (‘*IDN?\n’,))
DEBUG: < BySocket._send: None
DEBUG: > BySocket._recv()
DEBUG: In _recv() read complete 41 bytes
DEBUG: < BySocket._recv: FLUKE,1586A,37770022,1.04+1.02+20130618
INFO: In connect() instrument identification: ‘FLUKE,1586A,37770022,1.04+1.02+20130618’
DEBUG: State change from OFF to STANDBY
DEBUG: New status message: ‘The device is in STANDBY state.\n’
DEBUG: On() called from STANDBY
ERROR: 192.168.1.239 identification error: Fluke 1586a model not supported (*IDN?:‘FLUKE,1586A,37770022,1.04+1.02+20130618’)
DEBUG: State change from STANDBY to UNKNOWN
DEBUG: New status message: ‘The device is in UNKNOWN state.\n’
DEBUG: New status message: “The device is in UNKNOWN state.\nidentification error: Fluke 1586a model not supported (*IDN?:‘FLUKE,1586A,37770022,1.04+1.02+20130618’)\n”
WARN: Failed to go to the On state -
with Skippy Device Server i got an error:
(‘-------> Received a DevFailed exception:’, DevFailed(args = (DevError(desc = “ValueError: invalid literal for int() with base 10: ‘’\n”, origin = ’ File “/usr/lib/python2.7/dist-packages/tango/device_class.py”, line 568, in __DeviceClass__device_factory\n device = self._new_device(deviceImplClass, klass, dev_name)\n File “/usr/lib/python2.7/dist-packages/tango/device_class.py”, line 547, in __DeviceClass__new_device\n return klass(dev_class, dev_name)\n File “/home/fisenstest/skippy/skippy/skippy.py”, line 471, in init\n Skippy.init_device(self)\n File “/home/fisenstest/skippy/skippy/skippy.py”, line 484, in init_device\n self.get_device_properties(self.get_device_class())\n File “/usr/lib/python2.7/dist-packages/tango/device_server.py”, line 292, in __DeviceImpl__get_device_properties\n pu.get_device_properties(self, class_prop, self.device_property_list)\n File “/usr/lib/python2.7/dist-packages/tango/device_class.py”, line 139, in get_device_properties\n values = self.stringArray2values(prop_value, data_type)\n File “/usr/lib/python2.7/dist-packages/tango/device_class.py”, line 258, in stringArray2values\n return seqStr_2_obj(argin, argout_type)\n File “/usr/lib/python2.7/dist-packages/tango/utils.py”, line 846, in seqStr_2_obj\n return _seqStr_2_obj_from_type(seq, tg_type)\n File “/usr/lib/python2.7/dist-packages/tango/utils.py”, line 856, in _seqStr_2_obj_from_type\n return int(seq[0])\n’, reason = ‘PyDs_PythonError’, severity = tango._tango.ErrSeverity.ERR),)))