このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ピン マッピングを表示するプッシュ ボタンの追加
この例では、matlab.system.display.Action
を使用してボタンをブロック マスクに追加する方法を示します。ボタンをクリックすると、ハードウェア ボードのピン マッピングのイメージが開きます。この例では、ボタンのオプションを設定し、actionData
オブジェクト入力を使用して Figure ハンドルを保存する方法を示します。こうすることで、ボタンをクリックするたびに新しい Figure が開くのではなく、ボタンが何度クリックされても同じ Figure が使用されます。
関数
viewpinmap
を System object™ のメソッドに追加します。methods function viewpinmap(obj,actionData) f = actionData.UserData; if isempty(f) || ~ishandle(f) % Create figure for pin map. f = figure; f.Name = 'Hardware Pin Map'; f.NumberTitle = 'off'; % Remove number title f.ToolBar = 'none'; % Remove toolbar f.MenuBar = 'none'; % Remove menubar % Create axes in figure. ax = axes(f); ax.Position = [0 0 1 1]; % Set axes to fill figure % Display the image. imshow( 'peppers.png',... 'Parent',ax,... 'InitialMagnification','fit'); actionData.UserData = f; else figure(f); % Make figure current. end end end
この関数は、
peppers.png
ファイルからのイメージを含む Figure を作成します。このイメージは、ハードウェア ボードのピン マッピング イメージに置き換える必要があります。次の
getPropertyGroupImpl
関数を System object のメソッドに追加します。methods(Static,Access=protected) function group = getPropertyGroupsImpl group = matlab.system.display.Section(mfilename('class')); group.Actions = matlab.system.display.Action(@(actionData,obj) ... viewpinmap(obj,actionData),'Label','Pin Map'); end ... end
この関数はブロックマスク上にボタンを作成し、ボタンがクリックされると関数
viewpinmap
を実行します。ボタンをクリックして、ピン マッピング イメージを含む Figure が画面に表示されることを確認します。
メモ
Digital Write ブロックはハードウェアに直接依存するため、ハードウェア ボードのピン マッピングをユーザーに表示するブロック ダイアログ ボックス ボタンを追加することをお勧めします。
参考
MATLAB System ブロックへのカスタム ボタンの追加 | System object コードの MATLAB System ブロック ダイアログ ボックスへのマッピング