Select Git revision
-
Federico Lolli authoredFederico Lolli authored
README.md 2.54 KiB
This README refers to the serialbridge module used for the Hardware In the Loop (HIL) simulation.
How to Build
The following steps will generate a mex
file that can be used in MATLAB.
With Just
Just takes care of setting the correct extension.
just build-env <MATLAB_PATH>
Where <MATLAB_PATH>
is the path to the MATLAB installation directory. This can be found by running matlabroot
in the MATLAB command window as follows:
fullfile(matlabroot(), 'bin', computer('arch'))
Manually
export MATLAB_LIB_DIR="<MATLAB_PATH>"
cargo build --release
mv target/release/libserial_bridge.dylib serialbridge.<EXT>
<EXT>
is the extension of the library file (e.g. mexa64
for Linux, mexw64
for Windows, mexmaci64
for macOS).
Usage
serialbridge can be used in matlab in the following way:
-
serialbridge("Open", string_serialPort, uint_baudrate)
:- "Open": specifies we want to open the serial port
- string_serialPort: is the serial port we want to open (eg: "COM6")
- uint_baudrate: is the baudrate of the port (eg: 256000)
-
serialbridge("Write", singleArray_Data)
:- "Write": specifies that we want to write to the serial port
- singleArray_Data: is the array of singles we want to write on serial (eg: [1 2 3 4.5 5.4])
-
singleArray_Data = serialbridge("Read", uint_nData)
;- "Read": specifies that we want to read from the serial port
- uint_nData: How many floats to read from serial (eg: 1)
- singleArray_Data: array of floats read from the serial (eg: actuatorData)
-
serialbridge("Close", string_serialPort, uint_baudrate)
:- "Close": specifies we want to close the serial port
Example in Matlab:
serialbridge("Open", "COM6", 256000); % Opens the serial port
serialbridge("Write", [1 2 3 4]); % Sends the array "[1 2 3 4]" to the serial device
data = serialbridge("Read", 2); % Receives 2 floats and stores them in the variable "data"
serialbridge("Close"); % Closes the serial port
Procedure in order to use the MatlabTransceiver module: https://git.skywarder.eu/scs/hermes/r2a-obsw/-/blob/Serial4Simulations-dev/src/tests/hardware_in_the_loop/README.md
WARNING:
- It's possible to open just ONE serial port with this module