TLC File Level-2 MATLAB S-function
4 views (last 30 days)
Show older comments
I got a Problem with writing a TLC-File of a Level-2 MATLAB S-function.
I wrote the .m File for the S-function and started the Simulink Model with the Run Button. So far all works well. But now I want to transfer the Model to my Beaglebone Black, so I have to write a TLC File. I looked at the timestwo.tlc example to get Basics in writing an TLC File. In this example is in the TLC File and in the .m File for the S-function the input multiplied by two and transferred to the output. Now my question is if there is a way to get the Values direct from the Simulink Block without implementing the functionality a second time in the TLC File?
Such as:
output_tlc = output_simulink_block
I hope you can understand my Question :-)
Thanks for your Help
0 Comments
Answers (1)
Kanishk
on 11 Feb 2025 at 8:39
If you are looking to directly utilize the output from an S-Function block within a TLC (Target Language Compiler) file, you can streamline this process by writing your algorithm in a C file. This approach involves creating a wrapper S-Function that calls your algorithm, thereby minimizing the overhead typically associated with S-Functions.
At the top of your TLC file, specify the implementation of your algorithm using the "%implements" directive.
%implements "my_alg" "C"
This line tells the TLC file to use the C implementation of your algorithm named "my_alg".
You can then call your algorithm directly within the "Outputs" function of the TLC file. Here’s an example of how to set this up:
%function Outputs(block, system) Output
%assign outPtr = LibBlockOutputSignalAddr(0, "", "", 0)
%assign inPtr = LibBlockInputSignalAddr(0, "", "",0)
%assign numEls = LibBlockOutputSignalWidth(0)
my_alg(%<inPtr>,%<outPtr>,%<numEls>);
%endfunction
You can learn more about writing wrapped inline S-Function using TLC from the documentation linked below.
0 Comments
See Also
Categories
Find more on Target Language Compiler in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!