RTIS Dev Remote Matlab Wrapper

This is a wrapper of the RTIS Dev Remote library to use RTIS Dev remotely over IP from MATLAB. Quickly develop with connected RTIS devices.
2 Downloads
Updated 15 May 2024

View License

Quickly develop with connected RTIS devices. Almost all RTIS Dev functions are available as well as automatic conversion of RTIS Dev custom class objects.
This work is licensed under the CC BY-NC-SA 4.0 DEED license.
Dependencies
  • MATLAB 2020a or higher with the associated supported Python version, 3.7 or higher with modules Numpy and Scipy
  • Supported RTIS Dev version is v2.14.1 on the remote RTIS device
Unavailable RTIS Dev methods
Here is a short list of the current RTIS Dev methods that aren't available through this wrapper:
Usage
Configure Python for MATLAB
First you need to correctly link your installed Python installation to MATLAB, as by default this isn't always the latest version of Python 3 you installed. You can verify which Python is linked by running:
pe = pyenv;
pe.Version
If this is not a version that you which to use and does not match the dependencies you can alter this manually. Do note that you need to do this everytime before using the RTIS Dev Remote MATLAB wrapper! Once Python is loaded in matlab, you need to restart MATLAB first before changing it. Therefore, running the commands above will likely mean requiring a restart of MATLAB.
For Windows you can run:
pyenv('Version','your.version')
With 'your.version' indicating the 'major.minor' version number of you Python release, for example '3.6'.
On linux you need to refer to the path of your Python 3 installation:
pyenv('Version',"/usr/bin/python3")
You can also link to specific Python versions by altering the path.
Some more information can be found here.
Initial setup
When starting with this wrapper, first try to make a connection the remote RTIS Device. This both tests the connection as makes sure that the RTIS Dev version used on the remote device is supported by the version of this wrapper. The only required argument is the IP of the remote RTIS Device. To learn more about how to find out the IP, please see this guide.
rtisdev = RTISDev("192.168.1.150");
Now the rtisdev object can be used to run RTIS Dev methods from.
Executing remote methods
After the connection is made and no errors were shown, you can now use all available RTIS Dev commands. Some don't work and are listed in the list above. Please use the RTIS Dev wiki to know which arguments to use. There is a difference between using optional and required arguments. For example, a RTIS Dev method with a required argument needs to given explicitly:
rtisdev.open_connection();
Arguments
There is a difference between using optional and required arguments. For example, a RTIS Dev method with a required argument needs to given explicitly:
rtisdev.set_settings_from_class(settings);
Whereas optional arguments should be given as name/value pairs:
config_uuid = rtisdev.set_recording_settings('callDuration', 4.4, 'callMinimumFrequency', int32(30000), 'callMaximumFrequency', int32(60000));
Please see the RTIS Dev wiki to know which arguments are optional and which are required.
Data types
As seen in the example below, place special attention to some data types as otherwise the argument parser will give an error. Integers should be actual integers and created with int32(). Similarly, strings need double quotations to be a true string.
rtisdev.set_recording_settings('callMinimumFrequency', int32(30000), 'configName', "test");
Some methods return or require one of the RTIS Dev custom class object. The RTIS Dev MATLAB wrapper will automatically convert these to MATLAB struct objects. When these structs are provided as arguments, the wrapper will automatically convert them again so it should all work straight out of the box!
settings = rtisdev.get_current_settings('configName', config_uuid);
rtisdev.set_settings_from_class(settings);
measurement_raw = rtisdev.get_raw_measurement('behaviour', true, 'configName', config_uuid);
measurement_processed_from_raw = rtisdev.process_measurement(measurement_raw, 'configName', config_uuid);
Full Example
See the Examples tab.

Cite As

Wouter Jansen (2024). RTIS Dev Remote Matlab Wrapper (https://www.mathworks.com/matlabcentral/fileexchange/162696-rtis-dev-remote-matlab-wrapper), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024a
Compatible with R2020a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
2.14.1

Support for RTISDev v2.14.1.

2.14.0

Support for RTISDev v2.14.0.

2.13.0.1

Doc update

2.13.0

support for RTIS Dev v2.13.0

2.12.3.2

updated documentation

2.12.3.1

doc update

2.12.3