Bahar
August 24, 2017, 1:07pm
1
Hi,
i am trying to connect Agilent scope mso8064A. Chipwhiperer V2 (chipwhisperer-0.12RC1) software is connected my scope with python 2.7.6. Other python versions not working. i’ve tried all versions.
PyVisa and other modules have been installed in my PC. Chipwhisperer-0.12RC1 connect my scope, just analyzer is not working in python 2.7.6. This is why, i am using Chipwhisperer 3.5.4 analyzer in python 2.7.9.
But i want to use Chipwhisperer 3.5.4 Capture , too. Chipwhisperer 3.5.4 gives this :
what am i missing? all drivers installed, scope is connected i saw keysight connection expert.
Thank you.
Bahar.
It looks like class VisaScopeInterface_MSO54831D(VisaScope) is not marked as a plugin in file mso54831D.py.
Change to class VisaScopeInterface_MSO54831D(VisaScope, Plugin) and see what happens.
Also add this line to the top of the file:
from chipwhisperer.common.utils.pluginmanager import Plugin
Bahar
August 25, 2017, 10:41am
3
aziesemer:
It looks like class VisaScopeInterface_MSO54831D(VisaScope) is not marked as a plugin in file mso54831D.py.
Change to class VisaScopeInterface_MSO54831D(VisaScope, Plugin) and see what happens.
Also add this line to the top of the file:
from chipwhisperer.common.utils.pluginmanager import Plugin
Hi aziesemer,
thank you for reply. I changed but still i got some errors:
and i changed dso1024a.py file, too.
MSO54831D.py file (edited):
dso1024a.py: (edited)
Visascope.py: (never edit)
and i got this errors:
Regards,
Bahar.
In the new API the initialization of the parameters is mandatory.
Try to change these lines in your visascope_interface/_base.py:
{'name':'X-Scale', 'key':'xscale', 'type':'list', 'values':self.xScales, 'value':self.xScales.keys()[0]},
{'name':'Y-Scale', 'key':'yscale', 'type':'list', 'values':self.yScales, 'value':self.yScales.keys()[0]},
{'name':'Y-Offset', 'key':'yoffset', 'type':'float', 'step':1E-3, 'siPrefix': True, 'suffix': 'V', 'value':0},
{'name':'X-Offset', 'key':'xoffset', 'type':'float', 'step':1E-6, 'siPrefix': True, 'suffix': 'S', 'value':0},
{'name':'Download Offset', 'key':'xdisporigin', 'type':'int', 'limits':(0,1E9), 'value':0},
{'name':'Download Size', 'key':'xdisprange', 'type':'int', 'limits':(0,1E9), 'value':0},
Bahar:
aziesemer:
It looks like class VisaScopeInterface_MSO54831D(VisaScope) is not marked as a plugin in file mso54831D.py.
Change to class VisaScopeInterface_MSO54831D(VisaScope, Plugin) and see what happens.
Also add this line to the top of the file:
from chipwhisperer.common.utils.pluginmanager import Plugin
Did the above solution work for you?
Ok, I finnaly got it up and running. I just don’t have the scope to test.
The code is:
def __init__(self):
ScopeTemplate.__init__(self)
scopes = pluginmanager.getPluginsInDictFromPackage("chipwhisperer.capture.scopes.visascope_interface", True, False)
self.params.addChildren([
{'name':'Scope Type', 'key':'type', 'type':'list', 'values':scopes, 'value':scopes[VisaScopeInterface_MSO54831D._name], 'action':self.setCurrentScope_act, 'childmode':'parent'},
{'name':'Connect String', 'key':'connStr', 'type':'str', 'value':''},
{'name':'Example Strings', 'type':'list', 'values':['', 'TCPIP0::192.168.2.100::inst0::INSTR'], 'value':'', 'action':self.exampleString},
])
self.params.init()
self.scopetype = None
self.setCurrentScope(self.findParam('type').getValue(type))
def exampleString(self, param):
self.findParam('connStr').setValue(param.getValue())
def setCurrentScope_act(self, param):
self.setCurrentScope(param.getValue())
def setCurrentScope(self, scope, update=True):
self.scopetype = scope
if scope is not None:
self.scopetype.dataUpdated.connect(self.newDataReceived)
self.params.append(self.scopetype.getParams())
Bahar
September 1, 2017, 7:23am
8
Yes! That’s the solution. I will test it Agilent Scope next Tuesday in lab.
Visa Scope enabled:
Plugin enabled: i.imgur.com/bQZq1Wt.png
Thank you so much.
Bahar
September 5, 2017, 1:16pm
9
i tested with scope actually connected but suddenly disconnected because of ascii or binary error.
InvalidBinaryFormat: Unrecognized binary data format: Could not find valid hash position
python 2.7.9 and pyVisa 1.8
INFO - Agilent Technologies,MSO8064A,MY45001803,05.71.0000
INFO - VISA: :SYSTem:HEADer OFF
INFO - VISA: :CHANnel1:INPut DCFifty
INFO - VISA: :CHANnel1:DISPlay ON
INFO - VISA: :CHANnel2:INPut DC:CHANnel2:DISPLay ON
INFO - VISA: :CHANnel2:SCALe 1.0
INFO - VISA: :TRIGger:MODE EDGE
INFO - VISA: :TRIGger:EDGE:SOURce CHANnel2
INFO - VISA: :TRIGger:EDGE:SLOPe NEGative
INFO - VISA: :TRIGger:LEVel CHANnel2,2.0
INFO - VISA: :TRIGger:SWEep TRIGgered
INFO - VISA: :WAVeform:FORMat WORD
INFO - VISA: :WAVeform:BYTeorder LSBFirst
INFO - VISA: :WAVeform:SOURce CHANnel1
INFO - VISA: :ACQuire:COMPlete 100
ERROR - Traceback (most recent call last):
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\ui\CWCaptureGUI.py”, line 149, in doConDisScope
if self.api.connectScope():
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\common\api\CWCoreAPI.py”, line 239, in connectScope
self.getScope().con()
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\scopes\base.py”, line 60, in con
if self._con():
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\scopes\VisaScope.py”, line 69, in _con
self.scopetype.con(self.findParam(‘connStr’).getValue())
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\scopes\visascope_interface_base.py”, line 63, in con
self.updateCurrentSettings()
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\scopes\visascope_interface_base.py”, line 66, in updateCurrentSettings
self.currentSettings()
File “C:\chipwhisperer-3.5.4\software\chipwhisperer\capture\scopes\visascope_interface\mso54831D.py”, line 58, in currentSettings
test = self.visaInst.ask_for_values(":WAVeform:PREamble?")
File “C:\WinPython\python-2.7.9.amd64\lib\site-packages\pyvisa\resources\messagebased.py”, line 516, in ask_for_values
return self.read_values(fmt)
File “C:\WinPython\python-2.7.9.amd64\lib\site-packages\pyvisa\resources\messagebased.py”, line 370, in read_values
raise errors.InvalidBinaryFormat(msg)
InvalidBinaryFormat: Unrecognized binary data format: Could not find valid hash position