AlexShkarin / pyLabLib

Python package for device control and experiment automation
http://pylablib.readthedocs.io
GNU General Public License v3.0
125 stars 28 forks source link

Arcus Performax Stage AttributeError: NoneType object has no attribute 'argtypes' #79

Open iandc808 opened 4 months ago

iandc808 commented 4 months ago

I've been trying to control an Arcus Technology DMX-J-SA-17 using but whenever I attempt to run my script I'm met with an error declaring: AttributeError: NoneType object has no attribute 'argtypes'. Here is what I have so far:

import pylablib

pylablib.par['devices/dlls/arcus_performax']='C:/Users/idcornw/Desktop/Gyro Code/bin/Py2.7.2_win32/DLLs/PerformaxCom.dll' pylablib.par['devices/dlls/arcus_performax']='C:/Users/idcornw/Desktop/Gyro Code/bin/Py2.7.2_win32/DLLs/SiUSBXp.dll'

from pylablib.devices import Arcus

Arcus.list_usb_performax_devices()

Any help would be appreciated.

Thank you, Ian

iandc808 commented 4 months ago

Actually, sorry, let me clarify. I'm using a Newmark Systems NSC-A1, but it supposedly works on the same drivers and commands and such.

AlexShkarin commented 4 months ago

I think the problem is in the second line:

pylablib.par['devices/dlls/arcus_performax']='C:/Users/idcornw/Desktop/Gyro Code/bin/Py2.7.2_win32/DLLs/SiUSBXp.dll'

It overwrites the path to the dll that was set before, so now it points to the wrong library. Since this library does not have the necessary functions, it ends up raising an error. I would suggest getting rid of this line, i.e., leave only

pylablib.par['devices/dlls/arcus_performax']='C:/Users/idcornw/Desktop/Gyro Code/bin/Py2.7.2_win32/DLLs/PerformaxCom.dll'

Let me know if that helps!

Sincerely,

Alexey.

iandc808 commented 3 months ago

Very sorry for the late reply, but that totally fixed it. Thank you for the help and for making the whole thing, it's great.