from time import sleep
-import ftdi
+import ftdi1 as ftdi
import mpsse
import struct
from math import log
code = max(0, code)
self.set(channel, code, mode)
- def vina(self, v, mode=DAC8568.INPUT_UPDATE_SINGLE):
- self.setv(0, v, mode)
-
- def vinb(self, v, mode=DAC8568.INPUT_UPDATE_SINGLE):
- self.setv(2, v, mode)
-
- def vcmi(self, v, mode=DAC8568.INPUT_UPDATE_SINGLE):
- self.setv(4, v, mode)
-
- def vbias_core(self, v, mode=DAC8568.INPUT_UPDATE_SINGLE):
- self.setv(1, v, mode)
-
- def vbias_buf(self, v, mode=DAC8568.INPUT_UPDATE_SINGLE):
- self.setv(3, v, mode)
+ def vina(self, v=None, mode=DAC8568.INPUT_UPDATE_SINGLE):
+ """Set to given voltage, returns the current value."""
+ if v is not None:
+ self.setv(0, v, mode)
+ return self._pos2v(self._chpos[0])
+
+ def vinb(self, v=None, mode=DAC8568.INPUT_UPDATE_SINGLE):
+ """Set to given voltage, returns the current value."""
+ if v is not None:
+ self.setv(2, v, mode)
+ return self._pos2v(self._chpos[2])
+
+ def vcmi(self, v=None, mode=DAC8568.INPUT_UPDATE_SINGLE):
+ """Set to given voltage, returns the current value."""
+ if v is not None:
+ self.setv(4, v, mode)
+ return self._pos2v(self._chpos[4])
+
+ def vbias_core(self, v=None, mode=DAC8568.INPUT_UPDATE_SINGLE):
+ """Set to given voltage, returns the current value."""
+ if v is not None:
+ self.setv(1, v, mode)
+ return self._pos2v(self._chpos[1])
+
+ def vbias_buf(self, v=None, mode=DAC8568.INPUT_UPDATE_SINGLE):
+ """Set to given voltage, returns the current value."""
+ if v is not None:
+ self.setv(3, v, mode)
+ return self._pos2v(self._chpos[3])