API documentation¶
opendaq.daq module¶
Main functions used to communicate with the device.
See usage.rst for additional info.
-
class
opendaq.daq.CMD[source]¶ Bases:
enum.IntEnum-
AIN= 1¶
-
AIN_ALL= 4¶
-
AIN_CFG= 2¶
-
BURST_CREATE= 21¶
-
CAPTURE_INIT= 14¶
-
CAPTURE_STOP= 15¶
-
CHANNEL_CFG= 22¶
-
CHANNEL_DESTROY= 57¶
-
CHANNEL_FLUSH= 45¶
-
CHANNEL_SETUP= 32¶
-
COUNTER_INIT= 41¶
-
EEPROM_READ= 31¶
-
EEPROM_WRITE= 30¶
-
ENABLE_CRC= 55¶
-
ENCODER_INIT= 50¶
-
ENCODER_STOP= 51¶
-
EXTERNAL_CREATE= 20¶
-
GET_CALIB= 36¶
-
GET_CAPTURE= 16¶
-
GET_COUNTER= 42¶
-
GET_ENCODER= 52¶
-
GET_STATE_CHANNEL= 35¶
-
GET_TRIGGER_MODE= 34¶
-
ID_CONFIG= 39¶
-
LED_W= 18¶
-
PIO= 3¶
-
PIO_DIR= 5¶
-
PORT= 7¶
-
PORT_DIR= 9¶
-
PWM_DUTY= 12¶
-
PWM_INIT= 10¶
-
PWM_STOP= 11¶
-
RESET= 27¶
-
RESET_CALIB= 38¶
-
SET_ANALOG= 24¶
-
SET_CALIB= 37¶
-
SET_DAC= 13¶
-
SIGNAL_LOAD= 23¶
-
SPISW_CONFIG= 26¶
-
SPISW_SETUP= 28¶
-
SPISW_TRANSFER= 29¶
-
STREAM_CREATE= 19¶
-
STREAM_DATA= 25¶
-
STREAM_START= 64¶
-
STREAM_STOP= 80¶
-
TRIGGER_SETUP= 33¶
-
WAIT_MS= 17¶
-
-
class
opendaq.daq.DAQ(port, debug=False)[source]¶ Bases:
objectThis class represents an OpenDAQ device.
-
conf_adc(pinput=8, ninput=0, gain=0, nsamples=20)[source]¶ Configure the analog-to-digital converter.
Get the parameters for configure the analog-to-digital converter.
Parameters: - pinput – Positive input [1:8].
- ninput – Negative input.
- gain – Analog gain.
- nsamples – Number of samples per data point [0-255).
Raises: ValueError
-
create_burst(*args, **kwargs)[source]¶ Create Burst experiment.
See the
DAQBurstclass constructor for more info.
-
create_external(mode, clock_input, *args, **kwargs)[source]¶ Create External experiment.
See the
DAQExternalclass constructor for more info.
-
create_stream(mode, *args, **kwargs)[source]¶ Create Stream experiment.
See the
DAQStreamclass constructor for more info.
-
enable_crc(on)[source]¶ Enable/Disable the cyclic redundancy check.
Parameters: on – Enable/disable CRC checking (bool).
-
flush_channel(number)[source]¶ Flush the channel.
Parameters: number – Number of DataChannel to flush. Returns: ValueError
-
get_capture(mode)[source]¶ Get Capture reading for the period length.
Parameters: mode – Period length (0: Low cycle, 1: High cycle, 2: Full period) Returns: - mode
- period: The period length in microseconds
Raises: ValueError
-
get_counter(reset)[source]¶ Get the counter value.
Parameters: reset – reset the counter after perform reading (boolean).
-
get_encoder()[source]¶ Get current encoder relative position.
Returns: Position: The actual encoder value.
-
get_info()[source]¶ Read device information.
Returns: [hardware_version, firmware_version, device_id]
-
get_state_ch(number)[source]¶ Get state of the DataChannel.
Parameters: number – Number of the DataChannel. Raises: ValueError
-
init_capture(period)[source]¶ Start Capture Mode around a given period.
Parameters: period – Estimated period of the wave (in microseconds). Raises: ValueError
-
init_counter(edge)[source]¶ Initialize the edge counter and configure which edge increments the count.
Parameters: edge – high-to-low (False) or low-to-high (True).
-
init_encoder(resolution)[source]¶ Start Encoder function.
Parameters: resolution – Maximum number of ticks per round [0:65535]. Raises: ValueError
-
init_pwm(duty, period)[source]¶ Start PWM output with a given period and duty cycle.
Parameters: - duty – High time of the signal [0:1023](0 always low, 1023 always high).
- period – Period of the signal (microseconds) [0:65535].
Raises: ValueError
-
is_measuring¶ True if any experiment is going on.
-
read_all(nsamples=20, gain=0)[source]¶ Read data from all analog inputs
Parameters: - nsamples – Number of samples per data point [0-255] (default=20)
- gain – Analog gain (default=1)
Returns: Values[0:7]: List of the analog reading on each input
-
read_eeprom(pos)[source]¶ Read a byte from the EEPROM.
Parameters: - val – value to write.
- pos – position in memory.
Raises: ValueError
-
read_pio(number)[source]¶ Read PIO input value (0: low, 1: high).
Parameters: number – PIO number. Returns: Read value. Raises: ValueError
-
remove_experiment(experiment)[source]¶ Delete a single experiment.
Parameters: experiment – reference of the experiment to remove. Raises: ValueError
-
send_command(command, ret_fmt=None)[source]¶ Build a command packet, send it to the openDAQ and process the response.
Parameters: - command – Command string.
- ret_fmt – Payload format of the response using python ‘struct’ format characters. I ret_fmt is None, no response is expected.
Returns: Command ID and arguments of the response.
Raises: LengthError: The legth of the response is not the expected.
-
serial_str¶
-
set_adc_calib(regs)[source]¶ Set the ADC calibration.
Parameters: regs – A list of CalibReg objects. Raises: ValueError, IndexError
-
set_analog(volts, number=1)[source]¶ Set DAC output (volts). Set the output voltage of the DAC.
Parameters: volts – DAC output value in volts. Raises: ValueError
-
set_dac(raw, number=1)[source]¶ Set DAC output (raw value). Set the raw value of the DAC.
“param raw: Raw ADC value. :raises: ValueError
-
set_dac_calib(regs)[source]¶ Set the DAC calibration.
Parameters: regs – A list of CalibReg objects. Raises: ValueError, IndexError
-
set_id(id)[source]¶ Identify openDAQ device.
Parameters: id – id number of the device [000:999] Raises: ValueError
-
set_led(color, number=1)[source]¶ Choose LED status. LED switch on (green, red or orange) or switch off.
Parameters: color – LED color (use LedColor).Raises: ValueError
-
set_pio(number, value)[source]¶ Write PIO output value. Set the value of the PIO terminal (0: low, 1: high).
Parameters: - number – PIO number.
- value – digital value (0: low, 1: high)
Raises: ValueError
-
set_pio_dir(number, output)[source]¶ Configure PIO direction. Set the direction of a specific PIO terminal (D1-D6).
Parameters: - number – PIO number.
- output – PIO direction (0 input, 1 output).
Raises: ValueError
-
set_port(value)[source]¶ Write all PIO values. Set the value of all Dx terminals.
Parameters: value – Port output byte (bits: 0:low, 1:high). Raises: ValueError
-
set_port_dir(output)[source]¶ Configure all PIOs directions. Set the direction of all D1-D6 terminals.
Parameters: output – Port directions byte (bits: 0:input, 1:output). Raises: ValueError
-
spi_config(cpol, cpha)[source]¶ Bit-Bang SPI configure (clock properties).
Parameters: - cpol – Clock polarity (clock pin state when inactive).
- cpha – Clock phase (leading 0, or trailing 1 edges read).
Raises: ValueError
-
spi_setup(nbytes, sck=1, mosi=2, miso=3)[source]¶ Bit-Bang SPI setup (PIO numbers to use).
Parameters: - nbytes – Number of bytes.
- sck – Clock pin.
- mosi – MOSI pin (master out / slave in).
- miso – MISO pin (master in / slave out).
Raises: ValueError
-
spi_write(value, word=False)[source]¶ Bit-bang SPI transfer (send+receive) a byte or a word.
Parameters: - value – Data to send (byte/word to transmit).
- word – send a 2-byte word, instead of a byte.
Raises: ValueError
-
stop(clear=False)[source]¶ Stop all running experiments and exit threads.
Parameters: clear – If True, the experiment list will be cleared. The experiments will no longer be available.
-
-
class
opendaq.daq.LedColor[source]¶ Bases:
enum.IntEnumValid LED colors.
-
GREEN= 1¶
-
OFF= 0¶
-
ORANGE= 3¶
-
RED= 2¶
-
Experiment classes¶
-
class
opendaq.experiment.DAQBurst(mode, period, npoints=10, continuous=False, buffersize=4000)[source]¶ Bases:
opendaq.experiment.DAQExperimentBurst experiment.
Parameters: - mode – Define data source or destination (use
ExpMode). - period – Period of the stream experiment (microseconds) [1:65536]
- npoints – Total number of points for the experiment [0:65536]
- continuous – Indicates if the experiment is continuous (False: run once, True: continuous).
- buffersize – Buffer size
Raises: LengthError (too many experiments at the same time), ValueError (values out of range)
- mode – Define data source or destination (use
-
class
opendaq.experiment.DAQExperiment[source]¶ Bases:
object
-
class
opendaq.experiment.DAQExternal(mode, clock_input, edge=1, npoints=10, continuous=False, buffersize=1000)[source]¶ Bases:
opendaq.experiment.DAQExperimentExternal experiment.
Parameters: - mode – Define data source or destination (use
ExpMode). - clock_input – Digital input used as external clock
- edge – New data on rising (1) or falling (0) edges [0:1]
- npoints – Total number of points for the experiment [0:65536]
- continuous – Indicates if the experiment is continuous (False: run once, True: continuous).
- buffersize – Buffer size
Raises: LengthError (too many experiments at the same time, ValueError (values out of range)
- mode – Define data source or destination (use
-
class
opendaq.experiment.DAQStream(mode, number, period, npoints=10, continuous=False, buffersize=1000)[source]¶ Bases:
opendaq.experiment.DAQExperimentStream experiment.
Parameters: - mode – Define data source or destination (use
ExpMode). - period – Period of the stream experiment (milliseconds) [1:65536]
- npoints – Total number of points for the experiment [0:65536] (0 indicates continuous acquisition).
- continuous – Indicates if experiment is continuous (True) or one-shot (False).
- buffersize – Buffer size.
Raises: LengthError (too many experiments at the same time), ValueError (values out of range)
- mode – Define data source or destination (use