メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ピン マッピングを表示するプッシュ ボタンの追加

この例では、matlab.system.display.Action を使用してボタンをブロック マスクに追加する方法を示します。ボタンをクリックすると、ハードウェア ボードのピン マッピングのイメージが開きます。この例では、ボタンのオプションを設定し、actionData オブジェクト入力を使用して Figure ハンドルを保存する方法を示します。こうすることで、ボタンをクリックするたびに新しい Figure が開くのではなく、ボタンが何度クリックされても同じ Figure が使用されます。

  1. 関数 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 を作成します。このイメージは、ハードウェア ボードのピン マッピング イメージに置き換える必要があります。

  2. 次の 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 を実行します。

  3. ボタンをクリックして、ピン マッピング イメージを含む Figure が画面に表示されることを確認します。

メモ

Digital Write ブロックはハードウェアに直接依存するため、ハードウェア ボードのピン マッピングをユーザーに表示するブロック ダイアログ ボックス ボタンを追加することをお勧めします。

参考

|