www.gusucode.com > robotsimulink 工具箱 matlab源码程序 > robotsimulink/@slCustomizer/customization_ros.m
function customization_ros(obj) % CUSTOMIZATION_ROS Customizes Simulink for Robotics System Toolbox % Copyright 2014 The MathWorks, Inc. cm = obj.CustomizationManager; % Note: The ROS entry in Simulink Tools menu is implemented via dig.xml % See robotInternalROSMenuCustomization.m for details % TargetRegistry and TargetBoardRegistry are part of Embedded Coder % functionality. So if user opens a Simulink model with just Simulink and % RST, ensure that we don't call these functions. if exist('codertarget.TargetRegistry', 'class') == 8 cm.registerTargetRegistry(@loc_registerThisTarget); cm.registerTargetBoardRegistry(@loc_registerBoardsForThisTarget); end end % ------------------------------------------------------------------------- function ret = loc_registerThisTarget() ret.Name = 'Robot Operating System (ROS)'; [targetFilePath, ~, ~] = fileparts(mfilename('fullpath')); ret.TargetFolder = fullfile(targetFilePath, '..', 'robotslros'); % TargetType=2 indicates that code may be generated with just Simulink Coder ret.TargetType = 2; end % ------------------------------------------------------------------------- function boardInfo = loc_registerBoardsForThisTarget() target = 'Robot Operating System (ROS)'; [targetFolder, ~, ~] = fileparts(mfilename('fullpath')); targetFolder = fullfile(targetFolder, '..', 'robotslros'); boardFolder = codertarget.target.getTargetHardwareRegistryFolder(targetFolder); boardInfo = codertarget.target.getTargetHardwareInfo(targetFolder, boardFolder, target); end %% ------------------------------------------------------------------------ function isConfigSetCompatible = i_isConfigSetCompatible(configSet) %#ok<DEFNU> isConfigSetCompatible = false; if configSet.isValidParam('CoderTargetData') data = configSet.getParam('CoderTargetData'); isConfigSetCompatible = isequal(data.TargetHardware, 'Robot Operating System (ROS)'); end end