I have created a dynamic mask, which change if the block parameter "Command" is equal to Reset. The Command is set when I click apply, then it hides the Channel and Channel Electrical Parameters inputs, see below
I would like to improve my mask and make it more dynamic, without the need to click on Apply.
I put the piece of code that is in my Mask Editor belwo. Can anyone advise on how to get access directly to the selected Command?
disp('AD5665r')
mask = Simulink.Mask.get(gcb);
switch get_param(gcb,'Command') % I suppose this is where I need to change the code
case {'Write_To_Input_Register_n' ,'Write_To_Input_Register_n_And_Update_all' ,'Write_To_And_Update_DAC_Channel_n'}
[control,handle]=mask.getDialogControl("ChannelA_param_container");
control.Visible='on';
mask.getParameter("Channel").Visible = 'on';
port_label('input', 1, 'VoltageSetpoint')
case 'Reset'
[control,handle]=mask.getDialogControl("ChannelA_param_container");
control.Visible='off';
mask.getParameter("Channel").Visible = 'off';
port_label('input', 1, 'ResetTrigger')
end
port_label('output', 1, 'i2c status')

 採用された回答

Mark McBroom
Mark McBroom 2021 年 8 月 1 日

1 投票

I am assuming the code you provided is from the "Initialization" tab? You could try putting the same code in the "callback" for the Command parameter on the Mask Editor -> Parameter and Dialog pane.

1 件のコメント

Sylvain
Sylvain 2021 年 8 月 4 日
No, it is from the Icon and Ports. the initialization tab contains the following code, which modify blocks under the mask. Though using the same piece of code (minus the function port_label() ) works very well.
Many thanks
Sylvain

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeAuthor Block Masks についてさらに検索

製品

リリース

R2021a

質問済み:

2021 年 7 月 30 日

コメント済み:

2021 年 8 月 4 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by