Can i call Raspberry matlab commands in simulink
2 views (last 30 days)
With the support package for Raspberry Pi come in handy methods to acquire data from the Pi device. So i want to use the putFile, getFile and system methods, that can be used in matlab code in simulink, too. But when i try to instantiate a pi instance in a matlab function in simulink, i get a parsing error.
The 'matlab.mixin.CustomDisplay' class does not support code generation.
Function 'raspi.m' (#76.3324.7682), line 110, column 9: "function obj = raspi(hostname, username, password, port)"
Launch diagnostic report.
I dont see another way than to implement matlab code in simulink, but it wont work. How can i use these methods in simulink?
thanks in advance:)
Greg Drayer on 28 Feb 2018
Edited: Greg Drayer on 28 Feb 2018
At this time, the answer to the question is that MATLAB Raspberry Pi commands are not compatible for use inside the MATLAB Function block in Simulink. During Normal mode simulation, the APIs are trying to generate the corresponding C code, which is not supported as of today for MATLAB API for Raspberry Pi.
A workaround to this question is to make use of a custom Simulink block based on System Objects as follows:
1) Create a new Simulink System Object script as below:
2) Set the simulation mode to “Interpreted Execution as shown below:
3) Add initialization tasks in “setupImpl” method. Example: Create a raspi object.
4) Add periodic code in “stepImpl” method. Example: Reading the status of GPIO pin using the raspi object created in setup method.
5) Save the script.
6) Create a Simulink block using Simulink Library Browser -> Simulink -> User Defined Functions -> MATLAB System. In the MATLAB System block, point to the created system object.
7) Try running the model in Normal mode Simulation mode.
For additional information about how to create Simulink blocks using system objects, please visit the following documentation page:
wilmer sarango on 12 Dec 2017
Hello, did you find a solution for this? I also have the same problem, please help!