LeCroy Satellite#
Name |
LeCroy |
|---|---|
Description |
Satellite controlling a LeCroy oscilloscope using the LeCrunch library |
Category |
Oscilloscopes |
Language |
Python |
Description#
This satellite uses the LeCrunch3 library by Nicola Minafra,
based on LeCrunch2 and LeCrunch, to control and fetch each channel waveform from a LeCroy Waverunner series scope.
Using a TCP connection to the scope’s Waverunner software, it provides a simplified method to start a single- or sequenced-waveform acquisition
and transmits it through the CDTP to Constellation receivers.
Requirements#
This satellite requires the [lecroy] component, which can be installed with:
pip install ConstellationDAQ[lecroy]
pip install --no-build-isolation -e .[lecroy]
Supported devices#
This satellite is compatible with a broad class of Teledyne-LeCroy devices, and was successfully tested with a Waverunner 8104.
The device to be controlled by this satellite can be accessed via the ip_address and port configuration parameters.
By default the port is set to 1861 by the embedded acquisition software.
To set up the TCP transfer, run the “Utilities Setup” from the “Utilities” menu, switch to the “Remote” tab and enable the “TCPIP (VICP)” option. The IP address to use in this satellite will be provided beside the selection box.
Parameters#
Parameter |
Description |
Type |
Default Value |
|---|---|---|---|
|
Scope IP address |
String |
- |
|
TCP port to connect to |
Integer |
1861 |
|
Timeout before giving up on frames retrieval |
Float |
5s |
|
Number of triggers to combine in a readout in sequence mode |
Integer |
1 |
Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Number of triggers collected so far |
Integer |
10s |
Custom Commands#
Command |
Description |
Arguments |
Return Value |
Allowed States |
|---|---|---|---|---|
|
Retrieve the number of triggers collected so far |
- |
Integer |
any |
Output data format#
Data are packed as follows, using double precision floats for each word:
Group |
Word |
Description |
|---|---|---|
Global header |
Trigger times |
Absolute timing of each trigger in the sequence |
Number of samples |
Number of samples in all triggers in all sequences (run-level) |
|
Channel header |
Trigger offsets |
Channel-level timing offset (with respect to the absolute timing in the global header) of each individual trigger in the sequence |
Wave array |
Number of samples * number of triggers/sequence double precision floats providing the sample amplitude (in V) for the given time slice |
Additionally, a beginning-of-run event is generated with the following attributes:
Parameter |
Description |
Type |
|---|---|---|
|
Absolute timing for the first trigger |
String |
|
Sampling period (in s) |
Float |
|
Comma-separated list of channels enabled in readout |
[Integers] |
|
Number of triggers combined in a readout in sequence mode |
Integer |
Framework Parameters#
This satellite interprets the following configuration parameter that are provided through the Constellation framework. Parameters have to be placed in their respective configuration section.
Data Transmission#
The following parameters control the data transmission of this satellite and have to be provided in the _data section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Boolean |
Disable data transmission. This parameter turns off transmission of data to receiver satellites and instead ignores and drops all data records. |
|
|
Unsigned integer |
Timeout in seconds to send the BOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the EOR message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Timeout in seconds to send the data message. The satellite will attempt for this interval to send the message and goes into |
10 |
|
Unsigned integer |
Threshold for sending data messages in KiB. The satellite will only send queued data records after the combined payload size of the data records has reached this threshold. |
128 |
|
Unsigned integer |
Size of the queue for the data records. Small values might lead to performance issues, large values lead to larger memory usage. |
32768 |
|
String |
License this data is recorded under. Defaults to the Open Data Commons Attribution License. This information will be added to the run metadata. |
|
Autonomous Operation#
Parameters to control autonomy in the _autonomy section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
Role name |
Role this satellite should take in the Constellation. Accepted values are |
|
|
Unsigned integer |
Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value. |
|
Conditional Transitions#
Parameters to control conditional transitions in the _conditions section:
Parameter |
Type |
Description |
Default Value |
|---|---|---|---|
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
List of strings |
List of canonical names of remote satellites for conditional transitioning in |
- |
|
Unsigned integer |
Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning |
|
Framework Metrics#
This satellite provides the following metrics that are defined by the Constellation framework.
Data Transmission#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Amount of bytes transmitted during current run |
Integer |
5s |
|
Number of data records transmitted during current run |
Integer |
5s |
Basic Satellite Metrics#
Metric |
Description |
Value Type |
Interval |
|---|---|---|---|
|
Current run identifier. Updated whenever it changes. |
String |
- |
|
Current satellite state. Updated when changed. |
String |
- |
|
CPU load average over the past 1 minute, provided in percent. |
Float |
10s |
|
Available memory in Megabytes. |
Integer |
10s |