I managed to achieve the desired outcome by configuring the s-function output as variable-size mode and set the current output dimension to 0 when there is nothing to output.
How can I stop C MEX s-function from outputting anything?
2 views (last 30 days)
Show older comments
Sunny Talekar
on 28 Jul 2017
Answered: Sunny Talekar
on 23 Feb 2018
I have a C MEX s-function that receives some data, processes it and outputs an array.
I was wondering if there is a way to not output anything (instead of zeros) when the s-function does not receive anything. Inside the s-function I can detect whether anything has been received but I couldn't figure out a way to use this information to inhibit the output (e.g. show nothing when connected to a Display (sink)).
TIA,
0 Comments
Accepted Answer
More Answers (1)
Abhi Sundararaman
on 31 Jul 2017
It shouldn't be possible to remove the output entirely, since if there is an outport on your s-function block, there will always be an output signal.
However, if you want a visual indicator of the output being invalid (basically the same as outputting nothing), you could try outputting "NaN" instead of zeros.
See Also
Categories
Find more on Implement C/C++ Code Using S-Function Builder in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!