forked from awendt/pyrelacs
handle initial connection, diggital trigger
This commit is contained in:
parent
1dc72d00bb
commit
d3800ddfa2
@ -19,7 +19,11 @@ class MccDac:
|
|||||||
log.error("Did not found daq devices, please connect one")
|
log.error("Did not found daq devices, please connect one")
|
||||||
exit(1)
|
exit(1)
|
||||||
self.daq_device = uldaq.DaqDevice(devices[0])
|
self.daq_device = uldaq.DaqDevice(devices[0])
|
||||||
self.daq_device.connect()
|
try:
|
||||||
|
self.daq_device.connect()
|
||||||
|
except uldaq.ul_exception.ULException:
|
||||||
|
self.disconnect_dac()
|
||||||
|
self.connect_dac()
|
||||||
self.ai_device = self.daq_device.get_ai_device()
|
self.ai_device = self.daq_device.get_ai_device()
|
||||||
self.ao_device = self.daq_device.get_ao_device()
|
self.ao_device = self.daq_device.get_ao_device()
|
||||||
self.dio_device = self.daq_device.get_dio_device()
|
self.dio_device = self.daq_device.get_dio_device()
|
||||||
@ -85,8 +89,8 @@ class MccDac:
|
|||||||
|
|
||||||
buffer = c_double * len(data)
|
buffer = c_double * len(data)
|
||||||
data_analog_output = buffer(*data)
|
data_analog_output = buffer(*data)
|
||||||
|
|
||||||
log.debug(f"Created C_double data {data_analog_output}")
|
log.debug(f"Created C_double data {data_analog_output}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
err = self.ao_device.a_out_scan(
|
err = self.ao_device.a_out_scan(
|
||||||
channels[0],
|
channels[0],
|
||||||
@ -123,12 +127,13 @@ class MccDac:
|
|||||||
self.disconnect_dac()
|
self.disconnect_dac()
|
||||||
|
|
||||||
def diggital_trigger(self) -> None:
|
def diggital_trigger(self) -> None:
|
||||||
if not self.read_bit(channel=0):
|
data = self.read_bit(channel=0)
|
||||||
self.write_bit(channel=0, bit=1)
|
if data:
|
||||||
else:
|
|
||||||
self.write_bit(channel=0, bit=0)
|
self.write_bit(channel=0, bit=0)
|
||||||
time.time_ns()
|
time.time_ns()
|
||||||
self.write_bit(channel=0, bit=1)
|
self.write_bit(channel=0, bit=1)
|
||||||
|
else:
|
||||||
|
self.write_bit(channel=0, bit=1)
|
||||||
|
|
||||||
def write_bit(self, channel: int = 0, bit: int = 1) -> None:
|
def write_bit(self, channel: int = 0, bit: int = 1) -> None:
|
||||||
self.dio_device.d_config_bit(
|
self.dio_device.d_config_bit(
|
||||||
@ -266,7 +271,7 @@ class MccDac:
|
|||||||
log.info("Muting channel one")
|
log.info("Muting channel one")
|
||||||
binary_db2 = "00000000"
|
binary_db2 = "00000000"
|
||||||
|
|
||||||
channels_db = binary_db1 + binary_db2
|
channels_db = binary_db2 + binary_db1
|
||||||
self.write_bit(channel=4, bit=0)
|
self.write_bit(channel=4, bit=0)
|
||||||
for b in channels_db:
|
for b in channels_db:
|
||||||
self.write_bit(channel=5, bit=int(b))
|
self.write_bit(channel=5, bit=int(b))
|
||||||
|
Loading…
Reference in New Issue
Block a user