gusucode.com > wlan工具箱matlab源码程序 > wlan/wlan/+wlan/+internal/validateParam.m
function validateParam(prmName, prmValue, varargin) %validateParam Validate WLAN parameters % % Note: This is an internal undocumented function and its API and/or % functionality may change in subsequent releases. % % wlan.internal.validateParam(PRMNAME, PRMVALUE, CALLER) validates a % parameter value, PRMVALUE, for the parameter name, PRMNAME from the % calling fcn, CALLER. For shared messages, the CALLER input can be % avoided. % % wlan.internal.validateParam(..., ERRID) validates using the specified % error message ID. Only the last part of the full mnemonic needs to be % specified to form the "wlan:CALLER:ERRID" ID. % % Examples: % wlan.internal.validateParam('NumSTS', numSTSVec, ... % 'wlanVHTLTFDemodulate') % % wlan.internal.validateParam('chanBW', chanBW, ... % 'wlanVHTLTFDemodulate', 'myErrID') % % Only supports parameter self validation. No cross-parameter validity as % yet. % Copyright 2016 The MathWorks, Inc. %#codegen narginchk(2,4); if nargin==2 caller = 'shared'; % Use the shared catalog, by default elseif nargin==3 caller = varargin{1}; else % Override the default ID caller = varargin{1}; errID = varargin{2}; end switch prmName case 'NUMSTS' % VHT Number of Space-time streams validateattributes(prmValue, {'numeric'}, ... {'real','integer','row','>=',1,'<=',8}, caller, prmName); if nargin<4 % Default ID errID = 'InvalidMUSTS'; end coder.internal.errorIf(~isscalar(prmValue) && ... ((length(prmValue) > 4) || any(prmValue > 4) || ... sum(prmValue) > 8), ['wlan:shared:' errID], 4, 4, 8); case 'CHANBW' % HT/VHT Channel Bandwidth if nargin<4 % Default ID errID = 'InvalidChanBW'; end coder.internal.errorIf( ~any(strcmp(prmValue, {'CBW20', ... 'CBW40', 'CBW80', 'CBW160'})), ['wlan:shared:' errID]); case 'NONHTCHANBW' % NonHT/HT/VHT Channel Bandwidth if nargin<4 % Default ID errID = 'InvalidNonHTChanBW'; end coder.internal.errorIf( ~any(strcmp(prmValue, {'CBW5', 'CBW10', ... 'CBW20', 'CBW40', 'CBW80', 'CBW160'})), ['wlan:shared:' errID]); % Add more parameters otherwise % Do nothing end end % [EOF]