2.3.1. SCPI server (MATLAB, LabVIEW, Scilab or Python)

../../_images/SCPI_web_lr.png

The Red Pitaya board can be controlled remotely over a LAN or wireless interface using MATLAB, LabVIEW, Scilab, or Python via the Red Pitaya SCPI (Standard Commands for Programmable Instrumentation) list of commands. The SCPI interface/environment is commonly used to control T&M instruments for development, research, or test automation purposes. SCPI uses a set of SCPI commands that are recognised by the instruments to enable specific actions to be taken (e.g., acquiring data from fast analog inputs, generating signals, and controlling other peripheries of the Red Pitaya platform). The SCPI commands are extremely useful when complex signal analysis is required. An SW environment such as MATLAB provides powerful data analysis tools and SCPI commands simple access to raw data acquired on the Red Pitaya board.

Features

  • Quickly write control routines and programs using MATLAB, LabVIEW, Scilab, or Python.

  • Use powerful data analysis tools like MATLAB, LabVIEW, Scilab, or Python to analyse raw signals acquired by the Red Pitaya board.

  • Write testing scripts and routines.

  • Incorporate your Red Pitaya and LabVIEW into testing and production lines.

  • Take quick measurements directly on your PC.

2.3.1.1. Quick start

Start the SCPI server. This is done simply by clicking on the SCPI server icon and starting the SCPI server. When the SCPI server is started, the IP address of your board will be shown. This IP address must be entered into your scripts. Starting the SCPI server can also be done manually via Terminal (see below).

To run an example, follow the instructions below:

  1. Go to your Red Pitaya main page and select the SCPI server in the Development section.

    ../../_images/scpi-homepage.png
    ../../_images/scpi-development.png
  2. Start the SCPI server by selecting the RUN button. Please note the IP of your Red Pitaya (192.168.178.100) board as it will be needed to connect to your board.

    ../../_images/scpi-app-run.png
    ../../_images/scpi-app-stop.png
  3. Follow the instructions below suitable for your environment.

    Note

    It is not possible to run SCPI commands or programs in parallel with web applications.

2.3.1.1.1. MATLAB

  1. Open MATLAB on your computer.

  2. In the MATLAB workspace, paste the code from the blink tutorial example.

  3. Replace the IP in the example with the IP of your Red Pitaya board.

  4. Hit RUN or F5 on your keyboard to run the code.

More examples of how to control Red Pitaya from MATLAB can be found here.

2.3.1.1.2. Python

The PyVISA library, in combination with the PyVISA-py backend, is used.

To install them, do:

$ sudo pip3 install pyvisa pyvisa-py

Note

To run the examples, you need Python version 3. Before running, double-check the Python versions. If the system has Python version 2.7, this version will be used by default.

$ python --version
Python 2.7.17

Then, in order to run the examples, specify explicitly the Python version.
$ python3.5 blink.py 192.168.178.108
  1. Open the blink tutorial and copy the code to your favourite text editor.

  2. Save the file to your working folder as blink.py, for example, examples_py. Copy and save the redpitaya_scpi.py script in the same folder as the blink.py example (in our case, examples_py).

    Note

    The redpitaya_scpi.py script is a standard script needed to establish the connection between your PC and the Red Pitaya board. The execution of your script will fail without this script being in the same folder as your Python script.

    ../../_images/scpi-examples.png
  3. Open the Terminal and navigate to the folder containing your Python script (examples_py), then type: Python blink.py IP, passing a Red Pitaya IP as an argument when calling an execution of the blink.py example. An example is given below, where 192.168.178.108 is the IP of the Red Pitaya board.

    cd /home/zumy/Desktop/exmples_py
    python blink.py 192.168.178.108
    
    ../../_images/scpi-example-cli.png

More examples of how to control Red Pitaya from MATLAB can be found here.

Note

Python examples can also be run directly from the RP device itself. To do so, first start the SCPI server and then use the local device IP: 127.0.0.1

2.3.1.1.3. LabVIEW

To install the Red Pitaya LabVIEW driver, download the Red_Pitaya_LabVIEW_Driver&Examples.zip file. Unpack it and copy the Red Pitaya folder to your LabVIEW installation instr.lib folder, e.g. C:/Program Files/National Instruments/LabVIEW 2010/instr.lib. When using the 64-bit LabVIEW version (mostly paid), Or here : C:/Program Files (x86)/National Instruments/LabVIEW 2020/instr.lib when using the 32-bit LabVIEW version, like the free Community Edition.

The Red Pitaya driver should appear after restarting LabVIEW in Block Diagram -> Instrument I/O -> Instr Drivers -> RedPitaya. Depending on your settings, instrument I/O may be hidden. Please consult LabVIEW Help on how to activate or deactivate those categories. You can access example VIs by going to:

  1. Help -> Find Examples…

  2. select the Search tab

  3. In the Enter keyword(s) field, type RedPitaya.

More examples of how to control Red Pitaya from LabVIEW can be found here.

2.3.1.1.4. SCILAB

To use the SCPI commands, you will need to set up Scilab sockets. The procedure is described below.

  1. Go to the Scilab download page and download and install Scilab for your OS.

  2. Go to the Scilab socket toolbox page and download the basic socket function for Scilab.

  3. Go to the extracted Scilab folder, then to the folder named contrib.

  4. Copy the socket_toolbox zip file to the contrib folder.

  5. Extract the socket_toolbox zip file inside the contrib folder.

  6. We no longer require the socket_toolbox zip file, so remove it.

  7. Go to the socket_toolbox folder.

  8. Open loader.sce with your Scilab and press RUN (grey run button on SCILAB editor GUI).

These last two steps must be executed each time you start Scilab. To install, you must have an internet connection. Running the examples is the same as on MATLAB.

  1. In the MATLAB workspace, paste the code from the blink tutorial example.

  2. Replace the IP in the example with the IP of your Red Pitaya board.

  3. Press RUN to run the code.

Different code examples can be found here.

Note

Communicating with an SCPI server and working with web-based instruments at the same time can diminish the performance of your Red Pitaya. This is because the same resource is used for both tasks.

2.3.1.2. Starting SCPI server manually

Assuming you have successfully connected to your Red Pitaya board using these instructions these instructions, remotely connect using Putty on Windows machines or with SSH using Terminal on UNIX (macOSX/Linux) machines.

Connect to your Red Pitaya board via the terminal on a Linux machine and start the SCPI server with the following command:

systemctl start redpitaya_scpi &
../../_images/scpi-ssh.png

2.3.1.3. List of supported SCPI commands

2.3.1.3.1. Board control commands

Parameter options:

  • <year> = {1900,...}

  • <month> = {1,12}

  • <day> = {1,31}

  • <hours> = {0,23}

  • <minutes> = {0,59}

  • <seconds> = {0,59}

  • <log_mode> = {OFF,CONSOLE,SYSLOG}

  • <board_id> = {0,15}

Table of correlated SCPI and API commands for the Red Pitaya.

SCPI

API

DESCRIPTION

ECOSYSTEM

RP:LOGmode <log_mode>
Examples:
RP:LOGmode SYSLOG

Enables scpi-server log output mode.

1.04-18 and up

SYSTem:TIME <hours>,<minutes>,<seconds>
Examples:
SYSTem:TIME 16,12,45
SYST:TIME 11,23,01

Sets the time on the board.

2.00-18 and up

SYSTem:TIME? > time
Examples:
SYSTem:TIME? > 16,12,45
SYST:TIME? > 11,23,01

Returns the current time on the board.

2.00-18 and up

SYSTem:DATE <year>,<month>,<day>
Examples:
SYSTem:DATE 2023,4,4
SYST:DATE 2002,12,29

Sets the date on the board.

2.00-18 and up

SYSTem:DATE? > date
Examples:
SYSTem:DATE? > 2023,4,4
SYST:DATE? > 2002,12,29

Returns the current date on the board.

2.00-18 and up

SYSTem:BRD:ID? > <board_id>
Examples:
SYSTem:BRD:ID? > 1

rp_HPGetModel

Returns the board model from the values rp_HPeModels_t.

2.00-18 and up

SYSTem:BRD:Name? > board name
Examples:
SYSTem:BRD:Name? > STEMlab 125-14 v1.0

rp_HPGetModelName

Returns the name of the board.

2.00-18 and up

2.3.1.3.2. LEDs and GPIOs

Parameter options:

  • <dir> = {OUT,IN}

  • <gpio> = {{DIO0_P...DIO7_P}, {DIO0_N...DIO7_N}}

  • <led> = {LED0...LED8}

  • <pin> = {gpio, led}

  • <state> = {0,1}

Table of correlated SCPI and API commands for the Red Pitaya.

SCPI

API

DESCRIPTION

ECOSYSTEM

DIG:RST
Examples:
DIG:RST

rp_DpinReset

Sets digital pins to default values. Pins DIO1_P - DIO7_P,
RP_DIO0_N - RP_DIO7_N are set all INPUT and to LOW. LEDs are set to LOW/OFF.

1.04-18 and up

DIG:PIN:DIR <dir>,<gpio>
Examples:
DIG:PIN:DIR OUT,DIO0_N
DIG:PIN:DIR IN,DIO1_P

rp_DpinSetDirection

Set the direction of digital pins to output or input.

1.04-18 and up

DIG:PIN:DIR? <gpio>
Examples:
DIG:PIN:DIR? DIO0_N
DIG:PIN:DIR? DIO1_P

rp_DpinGetDirection

Gets digital input output pin direction..

1.04-18 and up

DIG:PIN <pin>,<state>
Examples:
DIG:PIN DIO0_N,1
DIG:PIN LED2,1

rp_DpinSetState

Set the state of digital outputs to 1 (HIGH) or 0 (LOW).
Returns a 1 (HIGH) if the pin is floating.

1.04-18 and up

DIG:PIN? <pin> > <state>
Examples:
DIG:PIN? DIO0_N
DIG:PIN? LED2

rp_DpinGetState

Get state of digital inputs and outputs.

1.04-18 and up

2.3.1.3.3. Analog Inputs and Outputs

Parameter options:

  • <ain> = {AIN0, AIN1, AIN2, AIN3}

  • <aout> = {AOUT0, AOUT1, AOUT2, AOUT3}

  • <pin> = {ain, aout}

  • <value> = {value in Volts}

SCPI

API

DESCRIPTION

ECOSYSTEM

ANALOG:RST
Examples:
ANALOG:RST

rp_ApinReset

Sets analog outputs to default values (0V).

1.04-18 and up

ANALOG:PIN <pin>,<value>
Examples:
ANALOG:PIN AOUT2,1.34

rp_ApinSetValue

Set the analog voltage on the slow analog outputs.
The voltage range of slow analog outputs is: 0 - 1.8 V

1.04-18 and up

ANALOG:PIN? <pin> > <value>
Examples:
ANALOG:PIN? AOUT2 > 1.34
ANALOG:PIN? AIN1 > 1.12

rp_ApinGetValue

Read the analog voltage from the slow analog inputs.
The voltage range of slow analog inputs is: 0 - 3.3 V

1.04-18 and up

2.3.1.3.4. Daisy chain clocks and triggers

Parameter options:

  • <state> = {OFF, ON}

  • <mode> = {ADC, DAC}

SCPI

API

DESCRIPTION

ECOSYSTEM

DAISY:ENable <state>
Examples:
DAISY:ENable ON

rp_SetEnableDaisyChainSync

Enables clock and trigger sync over SATA daisy chain connectors.
Once the primary board will be triggered, the trigger will be forwarded to the secondary board over
the SATA connector where the trigger can be detected using rp_GenTriggerSource with EXT_NE selector.
Noticed that the trigger that is received over SATA is ORed with the external trigger from GPIO.

only 2.00-15

DAISY:ENable? > <state>
Examples:
DAISY:ENable? > ON

rp_GetEnableDaisyChainSync

Returns the current state of the SATA daisy chain mode.

only 2.00-15

DAISY:SYNC:TRIG <state>
Examples:
DAISY:SYNC:TRIG ON

rp_SetEnableDaisyChainTrigSync

Enables trigger sync over SATA daisy chain connectors. Once the primary board will be triggered,
the trigger will be forwarded to the secondary board over the SATA connector where the trigger can be detected using EXT_NE selector.

2.00-18 and up

DAISY:SYNC:TRIG? > <state>
Examples:
DAISY:SYNC:TRIG? > ON

rp_GetEnableDaisyChainTrigSync

Returns the current state of the trigger synchronization using Daisy Chain.

2.00-18 and up

DAISY:SYNC:CLK <state>
Examples:
DAISY:SYNC:CLK ON

rp_SetEnableDiasyChainClockSync

Enables clock sync over SATA daisy chain connectors. The primary board will start generating a clock for the secondary unit and so on.

2.00-18 and up

DAISY:SYNC:CLK? > <state>
Examples:
DAISY:SYNC:CLK? > ON

rp_GetEnableDiasyChainClockSync

Returns the current state of the SATA daisy chain mode.

2.00-18 and up

DAISY:TRIG_O:ENable <state>
Examples:
DAISY:TRIG_O:ENable ON

rp_SetDpinEnableTrigOutput

Turns GPION_0 into trigger output for selected source - acquisition or generation.

2.00-15 and up

DAISY:TRIG_O:ENable? > <state>
Examples:
DAISY:TRIG_O:ENable? > ON

rp_GetDpinEnableTrigOutput

Returns the current mode state for GPION_0. If true, then the pin mode works as a source.

2.00-15 and up

DAISY:TRIG_O:SOUR <mode>
Examples:
DAISY:TRIG_O:SOUR DAC

rp_SetSourceTrigOutput

Sets the trigger source mode ADC/DAC.

2.00-15 and up

DAISY:TRIG_O:SOUR? > <mode>
Examples:
DAISY:TRIG_O:SOUR? > DAC

rp_GetSourceTrigOutput

Returns the trigger source mode.

2.00-15 and up

Note

The daisy chain commands only work for the X-channel system and the upcoming Mikro-E extension shields.

Note

The trigger signals from the SATA connector and the DIO0_P (External trigger pin) are OR-ed together in the software. The generation and acquisition trigger fronts apply after the signals have been combined and trigger either DAC or ADC depending on the DAISY:TRIG_O:SOUR <mode> command.

2.3.1.3.5. Signal Generator

Parameter options:

  • <n> = {1,2} (set channel OUT1 or OUT2)

  • <state> = {ON,OFF} Default: OFF

  • <frequency> = {0Hz...62.5e6Hz} Default: 1000

  • <func> = {SINE, SQUARE, TRIANGLE, SAWU, SAWD, PWM, ARBITRARY, DC, DC_NEG} Default: SINE

  • <amplitude> = {-1V...1V} Default: 1 for SIGNALlab 250-12 this value {-5V…5V}

  • <offset> = {-1V...1V} Default: 0

  • <phase> = {-360deg ... 360deg} Default: 0

  • <dcyc> = {0...1} Default: 0.5 Where 1 corresponds to 100%

  • <array> = {value1, ...} max. 16384 values, floats in the range -1 to 1

  • <burst> = {BURST , CONTINUOUS} Default: CONTINUOUS

  • <count> = {1...50000} , Default: 1

  • <time> = {1µs-500s} Value in µs.

  • <utime> = {value in us}

  • <trigger> = {EXT_PE, EXT_NE, INT, GATED}

    • EXT = External

    • INT = Internal

    • GATED = gated busts

SCPI

API

DESCRIPTION

ECOSYSTEM

OUTPUT:STATE <state>
Examples:
OUTPUT:STATE ON
rp_GenOutEnableSync

Runs or Stops both channels synchronously.

1.04-18 and up

OUTPUT<n>:STATE <state>
Examples:
OUTPUT1:STATE ON
rp_GenOutEnable
rp_GenOutDisable
Disable or enable fast analog outputs.
The generator is waiting for the trigger.

1.04-18 and up

OUTPUT<n>:STATE? > <state>
Examples:
OUTPUT1:STATE? > ON

rp_GenOutIsEnabled

Gets value ON if the channel is enabled otherwise returns OFF.

1.04-18 and up

SOUR<n>:FREQ:FIX <frequency>
Examples:
SOUR2:FREQ:FIX 100000

rp_GenFreq

Set the frequency of fast analog outputs.
For ARBITRARY waveform this is the frequency of the whole buffer (16384 samples).

1.04-18 and up

SOUR<n>:FREQ:FIX?
Examples:
SOUR2:FREQ:FIX? > 100000

rp_GenGetFreq

Gets channel signal frequency.

1.04-18 and up

SOUR<n>:FUNC <func>
Examples:
SOUR2:FUNC TRIANGLE

rp_GenWaveform

Set the waveform of fast analog outputs.

1.04-18 and up

SOUR<n>:FUNC? > <func>
Examples:
SOUR2:FUNC? > TRIANGLE

rp_GenGetWaveform

Gets channel signal waveform.

1.04-18 and up

SOUR<n>:VOLT <amplitude>
Examples:
SOUR2:VOLT 0.5

rp_GenAmp

Set the amplitude voltage of fast analog outputs in Volts.
Amplitude + offset value must be less than the maximum
output range ± 1V (depends on board model).

1.04-18 and up

SOUR<n>:VOLT? > <amplitude>
Examples:
SOUR2:VOLT? > 0.5

rp_GenGetAmp

Gets channel signal peak to peak amplitude.

1.04-18 and up

SOUR<n>:VOLT:OFFS <offset>
Examples:
SOUR1:VOLT:OFFS 0.2

rp_GenOffset

Set the offset voltage of fast analog outputs in Volts
Amplitude + offset value must be less than the maximum
output range ± 1V (depends on board model).

1.04-18 and up

SOUR<n>:VOLT:OFFS? > <offset>
Examples:
SOUR1:VOLT:OFFS? > 0.2

rp_GenGetOffset

Gets DC offset of the signal.

1.04-18 and up

SOUR<n>:PHAS <phase>
Examples:
SOUR2:PHAS 30

rp_GenPhase

Set the phase of fast analog outputs.

1.04-18 and up

SOUR<n>:PHAS? > <phase>
Examples:
SOUR2:PHAS? > 30

rp_GenGetPhase

Gets channel signal phase.

1.04-18 and up

SOUR<n>:DCYC <par>
Examples:
SOUR1:DCYC 0.2

rp_GenDutyCycle

Set the duty cycle of the PWM waveform.

1.04-18 and up

SOUR<n>:DCYC? > <par>
Examples:
SOUR1:DCYC > 0.2

rp_GenGetDutyCycle

Gets duty cycle of PWM signal.

1.04-18 and up

SOUR<n>:TRAC:DATA:DATA <array>
Examples:
SOUR1:TRAC:DATA:DATA
1,0.5,0.2

rp_GenArbWaveform

Import data for arbitrary waveform generation (should be 16384 samples).
If fewer samples are provided the output frequency will be higher.

1.04-18 and up

SOUR<n>:TRAC:DATA:DATA? > <array>
Examples:
SOUR1:TRAC:DATA:DATA? >
1,0.5,0.2

rp_GenGetArbWaveform

Gets user defined waveform.

1.04-18 and up

SOUR<n>:BURS:STAT <burst>
Examples:
SOUR1:BURS:STAT BURST
SOUR1:BURS:STAT CONTINUOUS

rp_GenMode

Enable or disable burst (pulse) mode.
Red Pitaya will generate R bursts with N signal periods.
P is the time between the start of one and the start of the next burst.

1.04-18 and up

SOUR<n>:BURS:STAT? > <burst>
Examples:
SOUR1:BURS:STAT? > BURST

rp_GenGetMode

Gets generation mode.

1.04-18 and up

SOUR<n>:BURS:NCYC <count>
Examples:
SOUR1:BURS:NCYC 3

rp_GenBurstCount

Set the number of cycles/periods in one burst (N).

1.04-18 and up

SOUR<n>:BURS:NCYC? > <count>
Examples:
SOUR1:BURS:NCYC > 3

rp_GenGetBurstCount

Gets number of generated waveforms in a burst.

1.04-18 and up

SOUR<n>:BURS:NOR <count>
Examples:
SOUR1:BURS:NOR 5

rp_GenBurstRepetitions

Set the number of repeated bursts (R) (65536 == INF repetitions)

1.04-18 and up

SOUR<n>:BURS:NOR? > <count>
Examples:
SOUR1:BURS:NOR > 5

rp_GenGetBurstRepetitions

Gets number of burst repetitions.

1.04-18 and up

SOUR<n>:BURS:INT:PER <time>
Examples:
SOUR1:BURS:INT:PER 1000000

rp_GenBurstPeriod

Set the duration of a single burst in microseconds (P).
Time between the start of one and the start of the next burst.
The bursts will always have at least 1 us between them: If the period is
shorter than the burst, the software will default to 1 us between bursts.

1.04-18 and up

SOUR<n>:BURS:INT:PER? > <time>
Examples:
SOUR1:BURS:INT:PER? > 1000000

rp_GenGetBurstPeriod

Gets the period of one burst in micro seconds.

1.04-18 and up

SOUR<n>:TRIG:SOUR <trigger>
Examples:
SOUR1:TRIG:SOUR EXT_PE

rp_GenTriggerSource

Set the trigger source for the selected signal.
External trigger must be a 3V3 CMOS signal.

1.04-18 and up

SOUR<n>:TRIG:SOUR? > <trigger>
Examples:
SOUR1:TRIG:SOUR? > EXT_PE

rp_GenGetTriggerSource

Gets trigger source.

1.04-18 and up

SOUR<n>:BURS:LastValue <amplitude>
Examples:
SOUR1:BURS:LastValue 0.5

rp_GenBurstLastValue

Sets the value to be set at the end of the generated signal in burst mode.
The output will stay on this value until a new signal is generated.

2.00-18 and up

SOUR<n>:BURS:LastValue? > <amplitude>
Examples:
SOUR1:BURS:LastValue > 0.5

rp_GenGetBurstLastValue

Gets the value to be set at the end of the generated signal in burst mode.

2.00-18 and up

SOUR<n>:InitValue <amplitude>
Examples:
SOUR1:InitValue 0.5

rp_GenSetInitGenValue

The level of which is set by the generator after
the outputs are turned on, but before the signal is generated.

2.00-18 and up

SOUR<n>:InitValue? > <amplitude>
Examples:
SOUR1:InitValue? > 0.5

rp_GenGetInitGenValue

Gets the value of the initial signal level.

2.00-18 and up

SOUR:TRIG:INT

Examples:
SOUR:TRIG:INT

rp_GenTrigger

Triggers both sources/channels immediately.

1.04-18 and up

SOUR<n>:TRIG:INT

Examples:
SOUR1:TRIG:INT

rp_GenTrigger

Triggers the selected source immediately for the selected channel.

1.04-18 and up

GEN:RST

rp_GenReset

Reset the generator to default settings.

1.04-18 and up

PHAS:ALIGN

rp_GenSynchronise

Align the output phases of both channels.

1.04-18 and up

SOUR:TRIG:EXT:DEBouncerUs <utime>
Example:
SOUR:TRIG:EXT:DEBouncerUs 1

rp_GenSetExtTriggerDebouncerUs

Sets ext. trigger debouncer for generation in Us (Value must be positive).

2.00-15 and up

SOUR:TRIG:EXT:DEBouncerUs? > <utime>
Example:
SOUR:TRIG:EXT:DEBouncerUs? > 1

rp_GenGetExtTriggerDebouncerUs

Gets ext. trigger debouncer for generation in Us.

2.00-15 and up

Note

For STEMlab 125-14 4-Input, these commands are not applicable.

2.3.1.3.6. Acquisition

2.3.1.3.6.1. Control

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:START

rp_AcqStart

Start the acquisition.

1.04-18 and up

ACQ:STOP

rp_AcqStop

Stop the acquisition.

1.04-18 and up

ACQ:RST

rp_AcqReset

Stops the acquisition and sets all parameters to default values.

1.04-18 and up

2.3.1.3.6.2. Sampling rate & decimation

Parameter options:

  • <decimation> = {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536} Default: 1

  • <average> = {OFF,ON} Default: ON

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:DEC <decimation>
Example:
ACQ:DEC 4

rp_AcqSetDecimation

Set the decimation factor.
Should be a power of 2.

1.04-18 and up

ACQ:DEC? > <decimation>
Example:
ACQ:DEC? > 1

rp_AcqGetDecimation

Get the decimation factor.

1.04-18 and up

ACQ:AVG <average>

rp_AcqSetAveraging

Enable/disable averaging.
Each sample is the average of skipped samples if decimation > 1.

1.04-18 and up

ACQ:AVG? > <average>
Example:
ACQ:AVG? > ON

rp_AcqGetAveraging

Get the averaging status.
Averages the skipped samples when DEC > 1

1.04-18 and up

2.3.1.3.7. Trigger

Parameter options:

  • <n> = {1,2} (set channel IN1 or IN2)

  • <source> = {DISABLED, NOW, CH1_PE, CH1_NE, CH2_PE, CH2_NE, EXT_PE, EXT_NE, AWG_PE, AWG_NE} Default: DISABLED

  • <status> = {WAIT, TD}

  • <time> = {value in ns}

  • <utime> = {value in us}

  • <count> = {value in samples}

  • <gain> = {LV, HV}

  • <level> = {value in V}

  • <mode> = {AC,DC}

Note

For STEMlab 125-14 4-Input <n> = {1,2,3,4} (set channel IN1, IN2, IN3 or IN4)

Note

For STEMlab 125-14 4-Input <source> = {DISABLED, NOW, CH1_PE, CH1_NE, CH2_PE, CH2_NE, CH3_PE, CH3_NE, CH4_PE, CH4_NE, EXT_PE, EXT_NE, AWG_PE, AWG_NE} Default: DISABLED

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:TRIG <source>
Example:
ACQ:TRIG CH1_PE

rp_AcqSetTriggerSrc

Disable triggering, trigger immediately or set trigger source & edge.

1.04-18 and up

ACQ:TRIG:STAT?
Example:
ACQ:TRIG:STAT? > WAIT

rp_AcqGetTriggerState

Get trigger status. If DISABLED -> TD else WAIT.

1.04-18 and up

ACQ:TRIG:FILL?
Example:
ACQ:TRIG:FILL? > 1

rp_AcqGetBufferFillState

Returns 1 if the buffer is full of data. Otherwise returns 0.

2.00-15 and up

ACQ:TRIG:DLY <count>
Example:
ACQ:TRIG:DLY 2314

rp_AcqSetTriggerDelay

Set the trigger delay in samples.
Triggering moment is by default around 8192th sample

1.04-18 and up

ACQ:TRIG:DLY? > <count>
Example:
ACQ:TRIG:DLY? > 2314

rp_AcqGetTriggerDelay

Get the trigger delay in samples.

1.04-18 and up

ACQ:TRIG:DLY:NS <time>
Example:
ACQ:TRIG:DLY:NS 128

rp_AcqSetTriggerDelayNs

Set the trigger delay in ns.

1.04-18 and up

ACQ:TRIG:DLY:NS? > <time>
Example:
ACQ:TRIG:DLY:NS? > 128ns

rp_AcqGetTriggerDelayNs

Get the trigger delay in ns.

1.04-18 and up

ACQ:TRIG:HYST level
Example:
ACQ:TRIG:HYST 0.005

rp_AcqSetTriggerHyst

Sets the trigger threshold hysteresis value in volts.

1.04-18 and up

ACQ:TRIG:HYST? > level
Example:
ACQ:TRIG:HYST? > 0.005 V

rp_AcqGetTriggerHyst

Gets currently set trigger threshold hysteresis value in volts.

1.04-18 and up

ACQ:SOUR<n>:GAIN <gain>

Example:
ACQ:SOUR1:GAIN LV

rp_AcqSetGain

Set the gain settings to HIGH or LOW.
(For SIGNALlab 250-12 this is 1:20 and 1:1 attenuator).
This gain refers to jumper settings on Red Pitaya fast analog inputs.

1.04-18 and up

ACQ:SOUR<n>:GAIN? > <gain>

Example:
ACQ:SOUR1:GAIN? > HV

rp_AcqGetGain

Get the gain setting.
(For SIGNALlab 250-12 this is 1:20 and 1:1 attenuator).

1.04-18 and up

ACQ:SOUR<n>:COUP <mode>
Example:
ACQ:SOUR1:COUP AC

rp_AcqSetAC_DC

Sets the AC / DC modes of input. (Only SIGNALlab 250-12)

1.04-18 and up

ACQ:SOUR<n>:COUP? > <mode>
Example:
ACQ:SOUR1:COUP? > AC

rp_AcqGetAC_DC

Get the AC / DC modes of input. (Only SIGNALlab 250-12)

1.04-18 and up

ACQ:TRIG:LEV <level>
Example:
ACQ:TRIG:LEV 0.125 V

rp_AcqSetTriggerLevel

Set the trigger level in V.

1.04-18 and up

ACQ:TRIG:LEV? > level
Example:
ACQ:TRIG:LEV? > 0.123 V

rp_AcqGetTriggerLevel

Get the trigger level in V.

1.04-18 and up

ACQ:TRIG:EXT:LEV <level>
Example:
ACQ:TRIG:EXT:LEV 1

rp_AcqSetTriggerLevel

Set the external trigger level in V. (Only SIGNALlab 250-12)

1.04-18 and up

ACQ:TRIG:EXT:LEV? > level
Example:
ACQ:TRIG:EXT:LEV? > 1

rp_AcqGetTriggerLevel

Get the external trigger level in V. (Only SIGNALlab 250-12)

1.04-18 and up

ACQ:TRIG:EXT:DEBouncerUs <utime>
Example:
ACQ:TRIG:EXT:DEBouncerUs 1

rp_AcqSetExtTriggerDebouncerUs

Sets ext. trigger debouncer for acquisition in Us (Value must be positive).

2.00-15 and up

ACQ:TRIG:EXT:DEBouncerUs? > <utime>
Example:
ACQ:TRIG:EXT:DEBouncerUs? > 1

rp_AcqGetExtTriggerDebouncerUs

Gets ext. trigger debouncer for acquisition in Us.

2.00-15 and up

2.3.1.3.8. Data pointers

The data is written into a circular buffer which is constantly being overwritten until the triggering moment. Consequently, the trigger position can be anywhere inside the circular buffer, even though it is displayed to happen at approx. 8192nd sample in the acquired data (is affected by the ACQ:TRIG:DLY command).

Parameter options:

  • <pos> = {position inside circular buffer}

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:WPOS? > pos
Example:
ACQ:WPOS? > 1024

rp_AcqGetWritePointer

Returns the current position of the write pointer.

1.04-18 and up

ACQ:TPOS? > pos
Example:
ACQ:TPOS? > 512

rp_AcqGetWritePointerAtTrig

Returns the position where the trigger event appeared.

1.04-18 and up

2.3.1.3.9. Data read

  • <n> = {1,2} (set channel IN1 or IN2)

  • <units> = {RAW, VOLTS}

  • <format> = {BIN, ASCII} Default ASCII

  • <start_pos> = {0,1,...,16384}

  • <stop_pos>  = {0,1,...,16384}

  • <m>  = {0,1,...,16384}

Note

For STEMlab 125-14 4-Input <n> = {1,2,3,4} (set channel IN1, IN2, IN3 or IN4)

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:DATA:UNITS <units>
Example:
ACQ:DATA:UNITS RAW

rp_AcqScpiDataUnits

Select units in which the acquired data will be returned.

1.04-18 and up

ACQ:DATA:UNITS? > <units>
Example:
ACQ:DATA:UNITS? > RAW

rp_AcqGetScpiDataUnits

Get units in which the acquired data will be returned.

1.04-18 and up

ACQ:DATA:FORMAT <format>
Example:
ACQ:DATA:FORMAT ASCII

rp_AcqScpiDataFormat

Select the format in which the acquired data will be returned.

1.04-18 and up

ACQ:SOUR<n>:DATA:STA:END?
<start_pos>,<end_pos>
Example:
ACQ:SOUR1:DATA:STA:END? 10,13 >
{123,231,-231}
rp_AcqGetDataPosRaw
rp_AcqGetDataPosV
Read samples from start to stop position.
<start_pos> = {0,1,...,16384}
<stop_pos>  = {0,1,...,16384}

1.04-18 and up

ACQ:SOUR<n>:DATA:STA:N?
<start_pos>,<m>
Example:
ACQ:SOUR1:DATA:STA:N? 10,3 >
{1.2,3.2,-1.2}
rp_AcqGetDataRaw
rp_AcqGetDataV
Read m samples from the start position onwards.

1.04-18 and up

ACQ:SOUR<n>:DATA?
Example:
ACQ:SOUR2:DATA? >
{1.2,3.2,...,-1.2}

rp_AcqGetOldestDataRaw
rp_AcqGetOldestDataV
Read the full buffer.
Starting from the oldest sample in the buffer (first sample after trigger delay).
The trigger delay is set to zero by default (in samples or in seconds).
If the trigger delay is set to zero, it will read the full buffer size starting
from the trigger.

1.04-18 and up

ACQ:SOUR<n>:DATA:OLD:N? <m>
Example:
ACQ:SOUR2:DATA:OLD:N? 3 >
{1.2,3.2,-1.2}

rp_AcqGetOldestDataRaw
rp_AcqGetOldestDataV
Read m samples after the trigger delay, starting from the oldest sample
in the buffer (first sample after trigger delay).
The trigger delay is set to zero by default (in samples or in seconds).
If the trigger delay is set to zero, it will read m samples starting
from the trigger.

1.04-18 and up

ACQ:SOUR<n>:DATA:LAT:N? <m>
Example:
ACQ:SOUR1:DATA:LAT:N? 3 >
{1.2,3.2,-1.2}
rp_AcqGetLatestDataRaw
rp_AcqGetLatestDataV
Read m samples before the trigger delay.
The trigger delay is set to zero by default (in samples or in seconds).
If the trigger delay is set to zero, it will read m samples before the trigger.

1.04-18 and up

ACQ:BUF:SIZE? > <size>
Example:
ACQ:BUF:SIZE? > 16384

rp_AcqGetBufSize

Returns the buffer size.

1.04-18 and up

2.3.1.3.10. DMA mode for ACQ

  • <n> = {1,2} (set channel IN1 or IN2)

  • <units> = {RAW, VOLTS}

  • <decimation> = {1,2,4,8,16,17,18,19,...,65534,65535,65536} Default: 1

  • <byte> = {0...} in byte

  • <count> = {value in samples}

  • <pos> = {position inside circular buffer in samples}

  • <state> = {ON,OFF} Default: OFF

  • <start> = {byte} Address of reserved memory

  • <size> = {byte} Size of buffer in bytes

SCPI

API

DESCRIPTION

ECOSYSTEM

ACQ:AXI:DATA:UNITS <units>
Example:
ACQ:AXI:DATA:UNITS RAW

Select units in which the acquired data will be returned.

2.00-18 and up

ACQ:AXI:DATA:UNITS? > <units>
Example:
ACQ:AXI:DATA:UNITS? > RAW

Get units in which the acquired data will be returned.

2.00-18 and up

ACQ:AXI:DEC <decimation>
Example:
ACQ:AXI:DEC 4

rp_AcqAxiSetDecimationFactor

Sets the decimation used at acquiring signal for AXI.

2.00-18 and up

ACQ:AXI:DEC? > <decimation>
Example:
ACQ:AXI:DEC? > 1

rp_AcqAxiGetDecimationFactor

Get the decimation factor.

2.00-18 and up

ACQ:AXI:START? > <byte>
Example:
ACQ:AXI:START? > 16777216

rp_AcqAxiGetMemoryRegion

Get start address of reserved memory for DMA mode.

2.00-18 and up

ACQ:AXI:SIZE? > <byte>
Example:
ACQ:AXI:SIZE? > 2097152

rp_AcqAxiGetMemoryRegion

Get size of reserved memory for DMA mode.

2.00-18 and up

ACQ:AXI:SOUR<n>:ENable <state>
Example:
ACQ:AXI:SOUR1:ENable ON

rp_AcqAxiEnable

Sets the AXI enable state.

2.00-18 and up

ACQ:AXI:SOUR<n>:TRIG:FILL?
Example:
ACQ:AXI:SOUR1:TRIG:FILL? > 1

rp_AcqAxiGetBufferFillState

Indicates whether the ADC AXI buffer was full of data.

2.00-18 and up

ACQ:AXI:SOUR<n>:Trig:Dly <count>
Example:
ACQ:AXI:SOUR1:Trig:Dly 2314

rp_AcqAxiSetTriggerDelay

Sets the number of decimated data after the trigger written into memory.

2.00-18 and up

ACQ:AXI:SOUR<n>:Trig:Dly? > <count>
Example:
ACQ:AXI:SOUR1:Trig:Dly? > 2314

rp_AcqAxiGetTriggerDelay

Gets the number of decimated data after trigger written into memory.

2.00-18 and up

ACQ:AXI:SOUR<n>:Write:Pos? > pos
Example:
ACQ:AXI:SOUR1:Write:Pos? > 1024

rp_AcqAxiGetWritePointer

Returns current position of AXI ADC write pointer.

2.00-18 and up

ACQ:AXI:SOUR<n>:Trig:Pos? > pos
Example:
ACQ:AXI:SOUR1:Trig:Pos? > 512

rp_AcqAxiGetWritePointerAtTrig

Returns the position of AXI ADC write pointer at a time when trigger arrived.

2.00-18 and up

ACQ:AXI:SOUR<n>:SET:Buffer <start>,<size>
Example:
ACQ:AXI:SOUR<n>:SET:Buffer 16777216,512

rp_AcqAxiSetBufferBytes

Sets the AXI ADC buffer address and size in bytes.
Buffer size must be a multiple of 2.

2.00-18 and up

ACQ:AXI:SOUR<n>:DATA:Start:N? <pos>,<count>
Example:
ACQ:AXI:SOUR1:DATA:Start:N? 20,3 >
{1.2,3.2,-1.2}

rp_AcqAxiGetDataV

Read count samples from the pos position onwards.
Returns the value as a text array of values or a byte array.
Depending on the setting.

2.00-18 and up

2.3.1.3.11. UART

Parameter options:

  • <bits> = {CS6, CS7, CS8} Default: CS8

  • <stop> = {STOP1, STOP2} Default: STOP1

  • <parity> = {NONE, EVEN, ODD, MARK, SPACE} Default: NONE

  • <timeout> = {0...255} in (1/10 seconds) Default: 0

  • <speed> = {1200,2400,4800,9600,19200,38400,57600,115200,230400,576000,921000,1000000,1152000,1500000,2000000,2500000,3000000,3500000,4000000} Default: 9600

  • <data> = {XXX,... | #HXX,... | #QXXX,... | #BXXXXXXXX,... } Array of data separated comma

    • XXX = Dec format

    • #HXX = Hex format

    • #QXXX = Oct format

    • #BXXXXXXXX = Bin format

Note

When establishing UART communication with Red Pitaya and another device, do not forget to connect the External Common Mode (GND) pin (in addition to the RX and TX pins). Otherwise, the communication might be unreliable.

SCPI

API

DESCRIPTION

ECOSYSTEM

UART:INIT
Example:
UART:INIT

rp_UartInit

Initialises the API for working with UART.

1.04-18 and up

UART:RELEASE
Example:
UART:RELEASE

rp_UartRelease

Releases all used resources.

1.04-18 and up

UART:SETUP
Example:
UART:SETUP

rp_UartSetSettings

Applies specified settings to UART.
Should be executed after communication parameters are set

1.04-18 and up

UART:BITS <bits>
Example:
UART:BITS CS7

rp_UartSetBits

Sets the character size in bits.

1.04-18 and up

UART:BITS? > <bits>
Example:
UART:BITS? > CS7

rp_UartGetBits

Gets the character size in bits.

1.04-18 and up

UART:SPEED <speed>
Example:
UART:SPEED 115200

rp_UartSetSpeed

Sets the speed of the UART connection.

1.04-18 and up

UART:SPEED? > <speed>
Example:
UART:SPEED? > 115200

rp_UartGetSpeed

Gets the speed of the UART connection.

1.04-18 and up

UART:STOPB <stop>
Example:
UART:STOPB STOP2

rp_UartSetStopBits

Sets the length of the stop bit.

1.04-18 and up

UART:STOPB? > <stop>
Example:
UART:STOPB? > STOP2

rp_UartGetStopBits

Gets the length of the stop bit.

1.04-18 and up

UART:PARITY <parity>
Example:
UART:PARITY ODD

rp_UartSetParityMode

Sets parity check mode.
- NONE = Disable parity check
- EVEN = Set even mode for parity
- ODD = Set odd mode for parity
- MARK = Set Always 1
- SPACE = Set Always 0

1.04-18 and up

UART:PARITY? > <parity>
Example:
UART:PARITY? > ODD

rp_UartGetParityMode

Gets parity check mode.

1.04-18 and up

UART:TIMEOUT <timeout>
Example:
UART:TIMEOUT 10

rp_UartSetTimeout

Sets the timeout for reading from UART. 0 - Disable timeout. 1 = 1/10 sec.
Example: 10 - 1 sec. Max timeout: 25.5 sec

1.04-18 and up

UART:TIMEOUT? > <timeout>
Example:
UART:TIMEOUT? > 10

rp_UartGetTimeout

Gets the timeout.

1.04-18 and up

UART:WRITE<n> <data>
Example:
UART:WRITE5 1,2,3,4,5

rp_UartWrite

Writes data to UART. <n> - the length of data sent to UART.

1.04-18 and up

UART:READ<n> > <data>
Example:
UART:READ5 > {1,2,3,4,5}

rp_UartRead

Reads data from UART. <n> - the length of data retrieved from UART.

1.04-18 and up

2.3.1.3.12. SPI

Parameter options:

  • <mode> = {LISL, LIST, HISL, HIST} Default: LISL

  • <cs_mode> = {NORMAL, HIGH} Default: NORMAL

  • <bits> = {7,..} Default: 8

  • <speed> = {1,100000000} Default: 50000000

  • <data> = {XXX,... | #HXX,... | #QXXX,... | #BXXXXXXXX,... } Array of data separated commas

    • XXX = Dec format

    • #HXX = Hex format

    • #QXXX = Oct format

    • #BXXXXXXXX = Bin format

SCPI

API

DESCRIPTION

ECOSYSTEM

SPI:INIT
Example:
SPI:INIT

rp_SPI_Init

Initializes the API for working with SPI.

1.04-18 and up

SPI:INIT:DEV <path>
Example:
SPI:INIT:DEV "/dev/spidev1.0"

rp_SPI_InitDev

Initializes the API for working with SPI. <path> - Path to the SPI device.
On some boards, it may be different from the standard: /dev/spidev1.0

1.04-18 and up

SPI:RELEASE
Example:
SPI:RELEASE

rp_SPI_Release

Releases all used resources.

1.04-18 and up

SPI:SETtings:DEF
Example:
SPI:SET:DEF

rp_SPI_SetDefault

Sets the settings for SPI to default values.

1.04-18 and up

SPI:SETtings:SET
Example:
SPI:SET:SET

rp_SPI_SetSettings

Sets the specified settings for SPI.
Executed after specifying the parameters of communication.

1.04-18 and up

SPI:SETtings:GET
Example:
SPI:SET:GET

rp_SPI_GetSettings

Gets the specified SPI settings.

1.04-18 and up

SPI:SETtings:MODE <mode>
Example:
SPI:SET:MODE LIST


rp_SPI_SetMode

Sets the mode for SPI.
- LISL = Low idle level, Sample on leading edge
- LIST = Low idle level, Sample on trailing edge
- HISL = High idle level, Sample on leading edge
- HIST = High idle level, Sample on trailing edge

1.04-18 and up

SPI:SETtings:MODE? > <mode>
Example:
SPI:SET:MODE? > LIST

rp_SPI_GetMode

Gets the specified mode for SPI.

1.04-18 and up

SPI:SETtings:CSMODE <cs_mode>
Example:
SPI:SET:CSMODE NORMAL


rp_SPI_SetCSMode

Sets the mode for CS.
- NORMAL = After the message is transmitted,
the CS line is set to the HIGH state.
- HIGH = After the message has been transmitted,
the CS line is set to the LOW state.

2.00-18 and up

SPI:SETtings:CSMODE? > <cs_mode>
Example:
SPI:SET:CSMODE? > NORMAL

rp_SPI_GetCSMode

Gets the specified CS mode for SPI.

2.00-18 and up

SPI:SETtings:SPEED <speed>
Example:
SPI:SET:SPEED 1000000

rp_SPI_SetSpeed

Sets the speed of the SPI connection.

1.04-18 and up

SPI:SETings:SPEED? > <speed>
Example:
SPI:SET:SPEED? > 1000000

rp_SPI_GetSpeed

Gets the speed of the SPI connection.

1.04-18 and up

SPI:SETtings:WORD <bits>
Example:
SPI:SET:WORD 8

rp_SPI_SetWord

Specifies the length of the word in bits. Must be greater than or equal to 7.

1.04-18 and up

SPI:SETtings:WORD? > <bits>
Example:
SPI:SET:WORD? > 8

rp_SPI_GetWord

Returns the length of a word.

1.04-18 and up

SPI:MSG:CREATE <n>
Example:
SPI:MSG:CREATE 1

rp_SPI_CreateMessage

Creates a message queue for SPI (reserves the space for data buffers)
Once created, they need to be initialized.
<n> - The number of messages in the queue.
The message queue can operate within a single CS state switch.

1.04-18 and up

SPI:MSG:DEL
Example:
SPI:MSG:DEL

rp_SPI_DestoryMessage

Deletes all messages and data buffers allocated for them.

1.04-18 and up

SPI:MSG:SIZE? > <n>
Example:
SPI:MSG:SIZE? > 1

rp_SPI_GetMessageLen

Returns the length of the message queue.

1.04-18 and up

SPI:MSG<n>:TX<m> <data>
SPI:MSG<n>:TX<m>:CS <data>
Example:
SPI:MSG0:TX4 1,2,3,4
SPI:MSG1:TX3:CS 2,3,4

rp_SPI_SetTX
rp_SPI_SetTXCS
Sets data for the write buffer for the specified message.
CS - Toggles CS state after sending/receiving this message.
<n> - index of message 0 <= n < msg queue size.
<m> - TX buffer length.
Sends <m> ‘bytes’ from message <n>. No data is received.

1.04-18 and up

SPI:MSG<n>:TX<m>:RX <data>
SPI:MSG<n>:TX<m>:RX:CS <data>
Example:
SPI:MSG0:TX4:RX 1,2,3,4
SPI:MSG1:TX3:RX:CS 2,3,4



rp_SPI_SetTXRX
rp_SPI_SetTXRXCS
Sets data for the read and write buffers for the specified message.
CS - Toggles CS state after sending/receiving this message.
<n> - index of message 0 <= n < msg queue size.
<m> - TX buffer length.
The read buffer is also created with the same length and initialized with zeros.

Sends <m> ‘bytes’ from message <n> and receives the same amount of data
from the dataline

1.04-18 and up

SPI:MSG<n>:RX<m>
SPI:MSG<n>:RX<m>:CS
Example:
SPI:MSG0:RX4
SPI:MSG1:RX5:CS


rp_SPI_SetRX
rp_SPI_SetRXCS
Initializes a buffer for reading the specified message.
CS - Toggles CS state after receiving message.
<n> - index of message 0 <= n < msg queue size.
<m> - RX buffer length.

Receives <m> ‘bytes’ into message <n>. No data is transmitted.

1.04-18 and up

SPI:MSG<n>:RX? > <data>
Example:
SPI:MSG1:RX? > {2,4,5}

rp_SPI_GetRXBuffer

Returns a read buffer for the specified message.

1.04-18 and up

SPI:MSG<n>:TX? > <data>
Example:
SPI:MSG1:TX? > {2,4,5}

rp_SPI_GetTXBuffer

Returns the write buffer for the specified message.

1.04-18 and up

SPI:MSG<n>:CS? > ON|OFF
Example:
SPI:MSG1:CS? > ON

rp_SPI_GetCSChangeState

Returns the setting for CS mode for the specified message.

1.04-18 and up

SPI:PASS
Example:
SPI:PASS

rp_SPI_Pass

Sends the prepared messages to the SPI device.

1.04-18 and up

2.3.1.3.13. I2C

Parameter options:

  • <mode>  = {OFF, ON} Default: OFF

  • <value> = {XXX | #HXX | #QXXX | #BXXXXXXXX}

  • <data>  = {XXX,... | #HXX,... | #QXXX,... | #BXXXXXXXX,... } Array of data separated comma

    • XXX = Dec format

    • #HXX = Hex format

    • #QXXX = Oct format

    • #BXXXXXXXX = Bin format

SCPI

API

DESCRIPTION

ECOSYSTEM

I2C:DEV<addr> <path>
Example:
I2C:DEV80 "/dev/i2c-0"

rp_I2C_InitDevice

Initializes settings for I2C. <path> - Path to the I2C device
<addr> - Device address on the I2C bus in dec format.

1.04-18 and up

I2C:DEV? > <addr>
Example:
I2C:DEV? > 80

rp_I2C_getDevAddress

Returns the current address of the device.

1.04-18 and up

I2C:FMODE <mode>
Example:
I2C:FMODE ON

rp_I2C_setForceMode

Enables forced bus operation even if the device is in use.

1.04-18 and up

I2C:FMODE? > <mode>
Example:
I2C:FMODE? > ON

rp_I2C_getForceMode

Gets the current forced mode setting.

1.04-18 and up

I2C:Smbus:Read<reg> > <value>
Example:
I2C:S:R2 > 0

rp_I2C_SMBUS_Read

Reads 8 bit data from the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.

1.04-18 and up

I2C:Smbus:Read<reg>:Word > <value>
Example:
I2C:S:R2:W > 0

rp_I2C_SMBUS_ReadWord

Reads 16 bit data from the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.

1.04-18 and up

I2C:Smbus:Read<reg>:Buffer<size> >
<data>
Example:
I2C:S:R2:B2 > {0,1}

rp_I2C_SMBUS_ReadBuffer

Reads buffer data from the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.
<size> - Read data size.

1.04-18 and up

I2C:Smbus:Write<reg> <value>

Example:
I2C:S:W2 10

rp_I2C_SMBUS_Write

Writes 8-bit data to the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.

1.04-18 and up

I2C:Smbus:Write<reg>:Word <value>

Example:
I2C:S:W2:W 10

rp_I2C_SMBUS_WriteWord

Writes 16-bit data to the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.

1.04-18 and up

I2C:Smbus:Write<reg>:Buffer<size> <data>

Example:
I2C:S:W2:B2 0,1

rp_I2C_SMBUS_WriteBuffer

Writes buffer data to the specified register using
the SMBUS protocol.
<reg> - Register address in dec format.
<size> - Read data size.

1.04-18 and up

I2C:IOctl:Read:Buffer<size> > <data>
Example:
I2C:IO:R:B2 > {0,1}

rp_I2C_IOCTL_ReadBuffer

Reads data from the I2C device through IOCTL.
<size> - Read data size.

1.04-18 and up

I2C:IOctl:Write:Buffer<size> <data>
Example:
I2C:IO:W:B2  {0,1}

rp_I2C_IOCTL_WriteBuffer

Writes data to the I2C device via IOCTL.
<size> - Read data size.

1.04-18 and up

Note

SMBUS is a standardized protocol for communicating with I2C devices. Information about this protocol can be found in this link: SMBUS specifcations. IOCTL writes and reads data directly from I2C.

2.3.1.3.14. Specific LEDs

Parameter options:

  • <mode> = {OFF, ON} Default: ON

SCPI

API

DESCRIPTION

ECOSYSTEM

LED:MMC <mode>
Example:
LED:MMC OFF

rp_SetLEDMMCState

Turns the Orange LED on or off (responsible for indicating the read memory card).

1.04-18 and up

LED:MMC? > <mode>
Example:
LED:MMC? > ON

rp_GetLEDMMCState

Gets the state of the MMC indicator.

1.04-18 and up

LED:HB <mode>
Example:
LED:HB OFF

rp_SetLEDHeartBeatState

Turns the Red LED on or off (responsible for indicating board activity).

1.04-18 and up

LED:HB? > <mode>
Example:
LED:HB? > ON

rp_GetLEDHeartBeatState

Gets the state of the HeartBeat indicator (Red LED).

1.04-18 and up

LED:ETH <mode>
Example:
LED:ETH OFF

rp_SetLEDEthState

Turns the LED indicators on the Ethernet connector on or off.

1.04-18 and up

LED:ETH? > <mode>
Example:
LED:ETH? > ON

rp_GetLEDEthState

Gets the state of the Ethernet indicators.

1.04-18 and up

2.3.1.4. Examples

In the list below you will find examples of remote control and C algorithms. These examples cover all basic Red Pitaya functionalities, such as:

  • signal generation

  • signal acquisition

  • digital I/O control

  • communication protocols

You can edit and change them according to your needs and develop customized programs and routines.

Additional examples: Add a button to control LED