yaq/daemons/gage-chopping


yaq daemon supporting GaGe CompuScope Digitizer Models. For chopping.

bugtracker
source

installation

The gage-chopping daemon can be installed using the following package managers:

PyPI

traits

The gage-chopping daemon is composed of the following traits:

has-measure-trigger
is-daemon
is-sensor

hardware

The gage-chopping daemon has been tested with the following hardware:

gage/cse8442

configuration

channels (array) default: []

depth (int) default: 240
Post-trigger depth, in samples.

enable (boolean) default: True
Disable this daemon. The kind entry-point will not attempt to start this daemon.
from is-daemon

ext_clk (boolean) default: False
Enable or disable external clocking functionality. If external clocking is activated, the sample rate must be set to the external clocking frequency. Not all CompuScope hardware supports external clocking.

log_level ({'name': 'level', 'symbols': ['debug', 'info', 'notice', 'warning', 'error', 'critical', 'alert', 'emergency'], 'type': 'enum'}) default: info
Set daemon log-level.
from is-daemon

log_to_file (boolean) default: False
Optionally force logging to a file.
from is-daemon

loop_at_startup (boolean) default: False
If set to true, the daemon will begin to loop measure as soon as it starts.
from has-measure-trigger

make (['null', 'string']) default: None
from is-daemon

mode (int) default: 1073741828
Sets the operating mode of the CompuScope system. Refer to the CompuScope documentation for valid values. Default is 1073741825 for FirmWare Averaging

model (['null', 'string']) default: None
from is-daemon

port (int)
TCP port for daemon to occupy.
from is-daemon

sample_rate (['null', 'int']) default: None
Sampling rate in Hertz. If not provided, model-dependent default is used.

segment_bins (map) default: {}

segment_size (int) default: 240
Size of the segment to capture. A segment is the sum of the pre- and post-trigger samples that are to be acquired.

serial (['null', 'string']) default: None
Serial number for the particular device represented by the daemon
from is-daemon

time_stamp_clock (enum) default: Fixed
The time-stamping clock may operate in one of two modes. In fixed mode, the on-board oscillator will be used as the counter source. In sample mode, a frequency derived from the sampling clock will be used as the counter source.

time_stamp_mode (enum) default: Free
The time-stamping counter may be reset upon the start of each acquisition or left free-running.

trigger_delay (int) default: 0
Number of samples to acquire between the occurance of the trigger event and the actual logging of the trigger event. By using this you can more easily capture signals far away from the trigger. Not all CompuScope models support TriggerDelay.

trigger_hold_off (int) default: 0
Number of samples during which trigger events will be ignored after the system begins capturing. This is useful for ensuring the accumulation of a specified amount of pre-trigger data.

trigger_time_out (int) default: 1000000
Trigger timeout of the CompuScope system. The value is in 100 nanosecond units of time (e.g. a value of 10,000,000 gives a trigger timeout of 1 second). A value of -1 will cause the driver to wait indefinitely for a trigger.

triggers (array) default: []

state

The gage-chopping daemon will provide the following state information:

edge_width_count (int)
Width of edges in segment count.

record_count (int)
Number of shots to collect and firmware-average.

segment_count (int)
Number of times to acquire record_count.

messages

The gage-chopping daemon will expose the following public messages:

busy ➜ boolean
Returns true if daemon is currently busy.
from is-daemon

get_channel_names ➜ {'items': 'string', 'type': 'array'}
Get current channel names.
from is-sensor

get_channel_shapes ➜ {'type': 'map', 'values': {'items': 'int', 'type': 'array'}}
Get current channel shapes. If list is empty, channel is scalar.
from is-sensor

get_channel_units ➜ {'type': 'map', 'values': ['null', 'string']}
Get current channel units.
from is-sensor

get_config ➜ string
Full configuration for the individual daemon as defined in the TOML file. This includes defaults and shared settings not directly specified in the daemon-specific TOML table.
from is-daemon

get_config_filepath ➜ string
String representing the absolute filepath of the configuration file on the host machine.
from is-daemon

get_edge_width_count ➜ int
Get edge width count.

get_measured ➜ {'type': 'map', 'values': ['int', 'double', 'ndarray']}
Returns map of channel_name to measured_value. Always returns additional key measurement_id.
from is-sensor

get_measured_samples ➜ {'type': 'map', 'values': 'ndarray'}
Get a dictionary of 1D arrays of measured samples.

get_measured_segments ➜ {'type': 'map', 'values': 'ndarray'}
Get a dictionary of 1D arrays of measured segments.

get_measurement_id ➜ {'type': 'int'}
Get current measurement_id. Clients are encouraged to watch for this to be updated before calling get_measured to get entire measurement.
from is-sensor

get_record_count ➜ int
Get record count.

get_segment_count ➜ int
Get the currently planned number of chunks.

get_segment_count_limits ➜ {'items': 'int', 'type': 'array'}
Get current segment count limits as defined by on-board memory.

get_state ➜ string
Get version of the running daemon
from is-daemon

id ➜ {'type': 'map', 'values': ['null', 'string']}
JSON object with information to identify the daemon, including name, kind, make, model, serial.
from is-daemon

measure ➜ int
Initiate a measurement. Returns integer, measurement ID.
from has-measure-trigger
parameters:

loop (boolean) default: False

set_edge_width_count ➜ null
Set edge width count. Setting of zero turns off edge detection.
parameters:

count (int)

set_record_count ➜ null
Set record count.
parameters:

count (int)

set_segment_count ➜ null
Set the chunk count.
parameters:

count (int)

shutdown ➜ null
Cleanly shutdown (or restart) daemon.
from is-daemon
parameters:

restart (boolean) default: False

stop_looping ➜ null
Stop looping measurement.
from has-measure-trigger

types

The gage-chopping daemon uses the following avro types:

coupling_mode (enum)
default: DC
symbols: ['AC', 'DC']

impedance_mode (enum)
default: fifty
symbols: ['fifty', 'onemeg']

channel (record)
fields:

range (int)
Full input range in millivolts.

coupling (coupling_mode)

impedance (impedance_mode)

diff_input (boolean) default: False
Enable differential input coupling. Not all CompuScope models support differential input coupling.

direct_adc (boolean) default: False
Enable direct-to-ADC input coupling. Not all CompuScope models support direct-to-ADC input coupling.

filter (boolean) default: False
Enable low-pass filtering. Not all CopuScope models support low-pass filtering.

dc_offset (int) default: 0
DC offset for this channel in millivolts. Can be negative or positive.

signal_start_index (int) default: 0
Start index for signal region in post-processing. NumPy style indexing.

signal_stop_index (int) default: -1
Stop index for signal region in post-processing. Numpy style indexing.

baseline_start_index (['null', 'int']) default: None
Start index for baseline region in post-processing. NumPy style indexing.

baseline_stop_index (['null', 'int']) default: None
Stop index for baseline region in post-processing. Numpy style indexing.

use_baseline (boolean) default: False
Enable baseline subtraction for post-processing.

invert (boolean) default: False
If true, post-processed signal is inverted.

trigger (record)
fields:

range (int)
Full input range in millivolts.

condition (int)
Trigger condition. Refer to the CompuScope documentation for valid values.

level (float) default: 0.0
Trigger level as a perentage of the input range of the trigger source (half the full scale input range). For example, in the 2000 mV range at 0 DC offset, 50 would be positive 50% of 1 Volt, or 500 millivolts.

source (int)
Trigger source. Refer to the CompuScope documentation for valid values.

coupling (coupling_mode)

impedance (impedance_mode)

voltage_range (record)
fields:

min (double)

max (double)


built 2024-02-09 01:44:16                                      CC0: no copyright