0

I have a simple model with a constant block connected to a function block connected to an output. Constant block can take True or False. And so i would like in the function block to color the Constant block according to the value (Green when True and Red when False).

To do that i could just use set_param with the name of the constant block but i have to do the solution using the source block of the function block.

I already tried this :

function y = fcn(u)
%#codegen
coder.extrinsic('set_param','get_param', 'gcb');
y = u;
b = struct('Type', {}, 'Position', {}, 'SrcBlock', {}, ...
    'SrcPort', {}, 'DstBlock', {}, 'DstPort', {});
b = get_param(gcb ,'PortConnectivity');
s = b(1).SrcBlock;
if u == true
    set_param(s ,'BackgroundColor','red');
else
    set_param(s ,'BackgroundColor','green');
end

I had to create the struct of b because ifnot i had the error Attempt to extract field 'SrcBlock' from 'mxArray'. And now i have this error Index expression out of bounds. Attempted to access element 1. The valid range is 1-0. and i don't understand it.

Thanks you !

Lucas
  • 247
  • 3
  • 13

0 Answers0