forked from M-Labs/artiq
pxi6733: fix crash when samples are all the same
When samples are all the same, min = max, which PyDAQmx does not like. This avoids the following crash reported by Kathie: C:\Users\rabi\artiq\artiq\frontend [master]> python .\artiq_rpctool.py ::1 3256 call load_sample_values 100000 'np.array([0.0,0.0],dtype=float)' Traceback (most recent call last): File ".\artiq_rpctool.py", line 112, in <module> main() File ".\artiq_rpctool.py", line 107, in main call_method(remote, args.method, args.args) File ".\artiq_rpctool.py", line 79, in call_method ret = method(*[eval(arg) for arg in args]) File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq- 0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 142, in proxy return self.__do_rpc(name, args, kwargs) File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq- 0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 134, in __do_rpc return self.__do_action(obj) File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq- 0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 128, in __do_action raise RemoteError(obj["message"]) artiq.protocols.pc_rpc.RemoteError: Traceback (most recent call last): File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq- 0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 476, in _handle_connection_cr ret = method(*obj["args"], **obj["kwargs"]) File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq- 0.0+dev-py3.4.egg\artiq\devices\pxi6733\driver.py", line 117, in load_sample_val ues byref(num_samps_written), None) File "<string>", line 3, in WriteAnalogF64 File "<string>", line 2, in function File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\pydaqm x-1.3.1-py3.4.egg\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__) PyDAQmx.DAQmxFunctions.DAQError: Minimum is greater than or equal to the maximum . Ensure the maximum value is greater than the minimum value. If using a custom scale, ensure that the scaled maximum is greater than the scaled minimum. Property: DAQmx_AO_Min Corresponding Value: 0.0 Property: DAQmx_AO_Max Corresponding Value: 0.0 Channel Name: Dev1/ao1 Task Name: _unnamedTask<4> Status Code: -200082 in function DAQmxWriteAnalogF64
This commit is contained in:
parent
c3f3763af1
commit
da1398b183
|
@ -93,7 +93,7 @@ class DAQmx:
|
||||||
values = values.flatten()
|
values = values.flatten()
|
||||||
t = self.daq.Task()
|
t = self.daq.Task()
|
||||||
t.CreateAOVoltageChan(self.channels, b"",
|
t.CreateAOVoltageChan(self.channels, b"",
|
||||||
min(values), max(values),
|
min(values), max(values)+1,
|
||||||
self.daq.DAQmx_Val_Volts, None)
|
self.daq.DAQmx_Val_Volts, None)
|
||||||
|
|
||||||
channel_number = (c_ulong*1)()
|
channel_number = (c_ulong*1)()
|
||||||
|
|
Loading…
Reference in New Issue