Elements¶
Basic Protocol¶
A basic protocol can used for quick and simple measurements.
[
{
# Measurement instructions
}
]
Complex Protocol (Sets)¶
A complex protocol can measure different measurement types defined in a set.
[
{
"v_arrays": [
# Arrays with variables
[100,5,10]
]
"_protocol_sets_": [
{
# measurement Instructions
# for the first Part
"label": "PAM"
},
{
# measurement Instructions
# for the second Part
"label": "ECS"
}
]
}
]
Measuring Lights¶
Measuring lights are controlled by defining pulses. Three parameters are required in order to work with pulses. The number of pulses, the distance between them and the length of pulses.
Single Light Source¶
{
"pulses": [
20, 50, 20 # Sets of pulses
],
"pulse_distance": [
10000, 10000, 10000 # Distance between pulses
],
"pulse_length": [
[ 30 ], [ 30 ], [ 30 ] # Duration of the pulse
]
}
Multiple Light Sources¶
{
"pulses": [
20, 50, 20
],
"pulse_distance": [
10000, 10000, 10000
],
"pulse_length": [
[ 30, 15 ], [ 30, 15 ], [ 30, 15 ]
]
}
Detectors¶
The MultispeQ has two detectors arragend opposite of each other. One to measure within the visible light spectrum covered by a BG-18 filter, the other detects light in the IR spectrum. Each pulse defined in pulses also needs a corresponding detector.
The signal from the detectors is returned as an array called data_raw
.
{
"pulses": [
20, 50, 20
],
"pulse_distance": [
10000, 10000, 10000
],
"pulse_length": [
[ 30 ], [ 30 ], [ 30 ]
],
"detectors": [
[ 1 ], [ 1 ], [ 1 ]
]
}
If there is more than one detector per pulse set, the data_raw
array needs to be deconvoluted to extract the separate signals.
Pulses pulses |
Detectors detectors |
Output data_raw |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gain Settings¶
When taking a measurement, the signal quality depends amongst other factors on the brightness of the measuring light as well as the duration of the measuring pulse. Instead of making these settings manually, the autogain function can be used to automatically determine the ideal settings.
{
# Defining the autogain settings
"autogain": [
# index, led, detector, pulse length, target intensity
[ 1, 3, 1, 30, 3000 ]
],
# using the auto_duration<index> for the pulse length
"pulse_length": [
[ "auto_duration1" ]
],
"pulsed_lights": [
[ 3 ]
],
# using the auto_bright<index> for the measuring light brightness
"pulsed_lights_brightness": [
[ "auto_bright1" ]
],
# using the detector, already used in the autogain
"detectors": [
[ 1 ]
]
}
Sample Pre-Illumination¶
The pre-illumination allows to adapt a sample to a set light intensity before starting the actual measurement.
## Single LED
"pre_illumination": [ 2, 200, 60000 ] # LED 2, 200 uE, 1 min
## Combination of LEDs
"pre_illumination": [
[2, 200, 60000], # LED 2, 200 uE, 1 min
[4, 300, 60000] # LED 4, 300 uE, 1 min
]
Environmental Sensors¶
The MultispeQ device has several sensors enabling it to record environmental parameters. Here is an overview of what information is returned by the available commands.
"environmentals": [
[ "light_intensity" ],
[ "temperature_humidity_pressure" ],
[ "contactless_temp" ]
]
Command |
Returned |
---|---|
|
Light intensity in µmol photons × s⁻¹ × m⁻² (PAR) |
|
Light intensity from previous measurement (only in _protocols_set_) |
|
Temperature (℃), rel. humidity (%), barometric pressure (mbar) - (sensor #1) |
|
Temperature (℃), rel. humidity (%), barometric pressure (mbar) - (sensor #2) |
|
Contactless Temperature (℃) |
|
Thickness (µm - microns) |
|
Thickness (raw values) |
|
Roll, pitch, angle and cardinal direction or the Instrument |
Ambient Light Intensity (PAR)¶
Using the light_intensity
command in a protocol, allows the measured ambient light intensity to be used by the protocol to replicate
the light by the
"_protocol_set_": [
{
"environmental": [
[ "light_intensity" ]
],
"nonpulsed_lights": [
[ 2 ], [ 2 ]
],
"nonpulsed_lights_brightness": [
## Use the ambient light intensity measured by the PAR sensor
[ "light_intensity" ], [ "light_intensity" ]
]
},
{
"nonpulsed_lights": [
[ 2 ], [ 2 ]
],
"nonpulsed_lights_brightness": [
## Use the ambient light intensity from the previous protocol
[ "previous_light_intensity" ], [ "previous_light_intensity" ]
]
}
},
{
"set_light_intensity": 500,
"nonpulsed_lights": [
[ 2 ], [ 2 ]
],
"nonpulsed_lights_brightness": [
## Use a set light intensity
[ "light_intensity" ], [ "light_intensity" ]
]
}
]
Repeats¶
Repeats can be a powerful tool when writing protocols. They allow you to define instructions once and then repeat them, reducing complexity and making the protocol easier to write.
Repeats can be especially useful when combined with protocol sets, as they can help minimize the size of the overall protocol.
## Using fixed repeat values
[
{
# Repeat the entire set
"set_repeats": 2,
"_protocol_set_": [
{
"label": "Protocol 1",
# Repeat this protocol within each set repeat
"protocol_repeats": 3
},
{
"label": "Protocol 2"
}
]
}
]
## Using repeats based on variables
[
{
"v_arrays": [ [ 1, 2 ], [ 1, 2, 3 ] ],
# Repeat the entire set based on the number of elements in the first v_array
"set_repeats": "#l0",
"_protocol_set_": [
{
"label": "Protocol 1",
# Repeat this protocol within each set repeat (second v_array)
"protocol_repeats": "#l1"
},
{
"label": "Protocol 2"
}
]
}
]
Variables (v_arrays)¶
The v_arrays
can hold up to 4 arrays, each with a maximum of 10 numbers. You can add values to these arrays to use them in your protocol.
The selector for a single value, would look like this @n0:1
. To access a value based on a protocol or protocol-set repeat, you can use
@p0
for a protocol repeat or @s0
for a protocol-set repeat.
[
{
# The variable array
"v_arrays": [
[ 100, 200, 400] # define values
],
"set_repeats": "#3", # repeat the whole set n times
"_protocol_sets_": [
{
# Define the lights brightness using a variable @s0
"non_pulsed_lights_brightness": [ "@s0" ],
# repeat the procol set n time
"protocol_repeats": 3
}
]
}
]
Variable |
Example |
Function |
---|---|---|
|
|
Set Repeat: With every protocol set repeat the next position in the array is selected and the value used in the protocol |
|
|
Protocol Repeat: With every protocol repeat the next position in the array is selected and the value used in the protocol |
|
|
Single Value: A specific value is used in the protocol |
Note
Timeout
A timeout can be defined to prevent the protocol wait forever for an input through the leaf clamp. Use max_hold_time
to
set the wait period before the protocol continues. The default is 15 sec ( 15000 ms ).
Protocol Flow Control¶
When starting a measurement with the MultispeQ it starts right away. This might not be usefull outside of a laboratory setting, so flow controll helps to wait for user input to start the measurement, using the leaf clamp as the input.
[
{
## Without LED control
"start_on_open_close": 1
## Controling a PAR LED
"par_led_start_on_close": 2
}
]
Command |
Input |
Summary |
---|---|---|
|
0,1 |
If set to 1 or higher, it will wait until the clamp is opened, then proceed with the rest of the experiment. If the value is set to zero, the command will be ignored. |
|
0,1 |
If set to 1, will wait until the clamp is closed, then proceed with the rest of the experiment. If set to 0, will be ignored. |
|
0,1 |
If set to 1, will wait until the clamp is opened then closed, then proceed with the rest of the experiment. If set to 0, will be ignored. |
|
0-10 (LED) |
If set to 1 or higher, it will wait until the clamp is opened, then proceed with the rest of the experiment. If set to 0, light intensity is set to 0. |
|
0-10 (LED) |
If set to 1, will wait until the clamp is closed, then proceed with the rest of the experiment. If set to 0, light intensity is set to 0. |
|
0-10 (LED) |
If set to 1, will wait until the clamp is opened then closed, then proceed with the rest of the experiment. If set to 0, light intensity is set to 0. |
Indicator Light¶
The MultispeQ v2
has an indicator light that can be controlled with a protocol to provide information about measurement progress or the
device status. The table provides a few example colors, but you can find or generate more on
W3School. The White channel is not used an needs to be set to 0.
Name |
Red, Green, Blue, White |
---|---|
◉ White |
|
◉ Red |
|
◉ Green |
|
◉ Blue |
|
◉ Yellow |
|
◉ Cyan |
|
◉ Magenta |
|
◉ Turn Light Off |
|