gusucode.com > target工具箱matlab源码程序 > target/extensions/processor/tic2000/@TIC2000ExternalMode_ExternalModeOpen/TIC2000ExternalMode_ExternalModeOpen.m

    %TIC2000ExternalMode_ExternalModeOpen class representing external mode user functions
%   TIC2000ExternalMode_ExternalModeOpen class representing target dependent
%   functionality implementing external mode user functions

%   Copyright 2007-2011 The MathWorks, Inc.

classdef TIC2000ExternalMode_ExternalModeOpen < CCPExternalMode_ExternalModeOpen

  methods(Access = 'public')
    function this = TIC2000ExternalMode_ExternalModeOpen(varargin)
      % Define constructors
      sigs{1} = {'modelName' 'ASAP2File'};

      % Parse arguments
      args = targets_parse_argument_pairs(sigs{end}, varargin);

      n = targets_find_signature(sigs, args);

      switch n
        % Constructor functions
        case 1
          superArgs = {'modelName', args.modelName};
        otherwise
            error(message('TIC2000:codegen:ExternalMode_UnknownConstructor'));
      end      
      % call the super class constructor    
      this = this@CCPExternalMode_ExternalModeOpen(superArgs{:});
      this.dataTypeHandler = TIC2000Comms_DataTypeHandler();
      this.tuneableModelData = TargetsComms_CCPTunableModelData();
      try
        this.asap2 = MemoryMappedInfo_ASAP2('tunableModelData', this.tuneableModelData, 'ASAP2File', args.ASAP2File);
      catch evalException
        err = evalException;
        switch (err.identifier)
          case 'MemoryMappedInfo_ASAP2:Property:ASAP2File:Invalid'
            error(message('TIC2000:codegen:ExternalMode_InvalidASAP2File', strrep( err.message, filesep, [ filesep, filesep ] ), this.modelName));
          otherwise
            rethrow(evalException);
        end
      end
      this.ccpComms = TIC2000Comms_ExternalModeCCP('modelName', this.modelName, 'numEventChannels', this.asap2.getNumEventChannels());
    end % function TIC2000ExternalMode_ExternalModeOpen
    
  end % methods(Access = 'public')

end % classdef