How to dynamically change the Mask dialog box in Simulink
5 ビュー (過去 30 日間)
古いコメントを表示
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')
0 件のコメント
採用された回答
Mark McBroom
2021 年 8 月 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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Author Block Masks についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!