adding sending analaog output to repo function
This commit is contained in:
parent
0e0262a3af
commit
cd414da6de
@ -1,4 +1,6 @@
|
|||||||
from ctypes import Array, c_double
|
from ctypes import Array, c_double
|
||||||
|
from typing import Union
|
||||||
|
import numpy.typing as npt
|
||||||
import uldaq
|
import uldaq
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
@ -51,11 +53,43 @@ class Repos:
|
|||||||
data=data_analog_input,
|
data=data_analog_input,
|
||||||
)
|
)
|
||||||
ai_device.scan_wait(uldaq.WaitType.WAIT_UNTIL_DONE, timeout=-1)
|
ai_device.scan_wait(uldaq.WaitType.WAIT_UNTIL_DONE, timeout=-1)
|
||||||
log.info(f"Sampled with {er}")
|
|
||||||
log.debug("Scanning")
|
log.debug("Scanning")
|
||||||
|
|
||||||
return data_analog_input
|
return data_analog_input
|
||||||
|
|
||||||
|
def send_analog_dac(
|
||||||
|
self,
|
||||||
|
data: Union[list, npt.NDArray],
|
||||||
|
channels: list[int],
|
||||||
|
duration: int,
|
||||||
|
samplerate: float,
|
||||||
|
AiInputMode: uldaq.AiInputMode = uldaq.AiInputMode.SINGLE_ENDED,
|
||||||
|
Range: uldaq.Range = uldaq.Range.BIP10VOLTS,
|
||||||
|
ScanOption: uldaq.ScanOption = uldaq.ScanOption.DEFAULTIO,
|
||||||
|
AInScanFlag: uldaq.AOutScanFlag = uldaq.AOutScanFlag.DEFAULT,
|
||||||
|
) -> Array[c_double]:
|
||||||
|
|
||||||
|
buffer = c_double * len(data)
|
||||||
|
data_analog_output = buffer(*data)
|
||||||
|
|
||||||
|
log.debug(f"Created C_double data {data_analog_output}")
|
||||||
|
ao_device = self.daq_device.get_ao_device()
|
||||||
|
ao_info = ao_device.get_info()
|
||||||
|
|
||||||
|
err = ao_device.a_out_scan(
|
||||||
|
channels[0],
|
||||||
|
channels[1],
|
||||||
|
Range,
|
||||||
|
int(len(data)),
|
||||||
|
samplerate,
|
||||||
|
ScanOption,
|
||||||
|
AInScanFlag,
|
||||||
|
data_analog_output,
|
||||||
|
)
|
||||||
|
ao_device.scan_wait(uldaq.WaitType.WAIT_UNTIL_DONE, 11)
|
||||||
|
|
||||||
|
return data_analog_output
|
||||||
|
|
||||||
def disconnect_dac(self):
|
def disconnect_dac(self):
|
||||||
self.daq_device.disconnect()
|
self.daq_device.disconnect()
|
||||||
self.daq_device.release()
|
self.daq_device.release()
|
||||||
|
Loading…
Reference in New Issue
Block a user