classdef TriggerConfiguration< dsp.webscopes.measurements.BaseMeasurementConfiguration
%TriggerConfiguration Trigger measurements properties for scope.
% TriggerConfiguration contains the properties used by the Scope
% Trigger property. Trigger allows to identify the simulation time of
% specified input signal characteristics. You can use trigger events to
% stabilize periodic signals such as a sine wave or capture
% non-periodic signals such as a pulse that occurs intermittently.
%
% TriggerConfiguration properties:
%
%   Mode            - Trigger mode
%   Type            - Trigger type
%   Polarity        - Trigger polarity
%   AutoLevel       - Auto level of an edge-triggered signal
%   Position        - Trigger horizontal position on screen
%   Level           - Threshold value of an edge-triggered signal
%   Hysteresis      - Noise reject value
%   LowLevel        - Low level for a window-triggered signal
%   HighLevel       - High level for a window-triggered signal
%   MinPulseWidth   - Min pulse width for a pulse or runt-triggered
%                     signal
%   MaxPulseWidth   - Max pulse with for a pulse or runt-triggered
%                     signal
%   MinDuration     - Min duration for transition or window-triggered
%                     signal
%   MaxDuration     - Max duration for transition or window-triggered
%                     signal
%   Timeout         - Time duration for a timeout-triggered signal
%   Delay           - Offset trigger by a fixed delay in seconds
%   Holdoff         - Minimum possible time between triggers
%   Channel         - Trigger channel
%   Enabled         - Enable trigger

 
    %   Copyright 2021-2023 The MathWorks, Inc.

    methods
        function out=TriggerConfiguration
        end

        function out=getPropertyGroups(~) %#ok<STOUT>
            % This method is used to selectively display public properties
            % based on values of other properties.
        end

        function out=getPropertySetSchema(~) %#ok<STOUT>
        end

    end
    properties
        %AutoLevel Auto level of an edge-triggered signal
        %   Set this property to true to enable auto thresholding. The
        %   default is true. This property is tunable.
        AutoLevel;

        %Channel Trigger channel
        %   Specify the trigger channel number as a real, positive scalar
        %   integer. The default is 1. This property is tunable.
        Channel;

        %Delay Offset trigger by a fixed delay in seconds
        %   Set the trigger delay as a finite real scalar. The default is 0.
        %   This property is tunable.
        Delay;

        %HighLevel High level for a window-triggered signal
        %   Set the trigger high level as a finite real scalar. This
        %   property applies when AutoLevel is false, and the Type is
        %   "pulse-width","transition","runt" or "window". The default is
        %   2.3. This property is tunable.
        HighLevel;

        %Holdoff Minimum possible time between triggers
        % Set the minimum possible time between triggers events as a finite
        % nonnegative scalar. The default is 0. This property is tunable.
        Holdoff;

        %Hysteresis Noise reject value
        %   Set the noise reject value as a finite real scalar. This
        %   property applies when AutoLevel is false and Type is "edge" or
        %   "timeout". The default is 0. This property is tunable.
        Hysteresis;

        %Level Threshold value of an edge-triggered signal
        %   Set the level as a finite real scalar. This property applies
        %   when AutoLevel is false and Type is "edge" or "timeout". The
        %   default is 0. This property is tunable.
        Level;

        %LowLevel Low level for a window-triggered signal
        %   Set the trigger low level as a finite real scalar. This
        %   property applies when AutoLevel is false, and the Type is
        %   "pulse-width","transition","runt" or "window". The default is
        %   0.2. This property is tunable.
        LowLevel;

        %MaxDuration Max duration for a transition or window-triggered
        %signal
        %   Set the maximum time duration as a nonnegative real scalar.
        %   This property applies when Type is "transition" or "window".
        %   The default is Inf. This property is tunable.
        MaxDuration;

        %MaxPulseWidth Max pulse width for a pulse or runt-triggered signal
        %   Set the maximum pulse width as a nonnegative real scalar. This
        %   property applies when Type is "pulse-width" or "runt". The
        %   default is Inf. This property is tunable.
        MaxPulseWidth;

        %MinDuration Min duration for a transition or window-triggered
        %signal
        %   Set the minimum time duration as a nonnegative real scalar.
        %   This property applies when Type is "transition" or "window".
        %   The default is 0. This property is tunable.
        MinDuration;

        %MinPulseWidth Min pulse width for a pulse or runt-triggered signal
        %   Set the minimum pulse width as a nonnegative real scalar. This
        %   property applies when Type is "pulse-width" or "runt". The
        %   default is 0. This property is tunable.
        MinPulseWidth;

        %Mode Trigger mode
        %   Choose the triggering mode by setting Mode to property "auto",
        %   "normal" or "once". The default is "auto". This property is
        %   tunable.
        Mode;

        %Polarity Trigger polarity
        %   Choose the trigger polarity Polarity property to "rising",
        %   "falling" or "either" if Type property is "edge", or "timeout".
        %   If the Type property is set to "pulse-width" or "runt", the
        %   Polarity can be set to "positive", "negative" or "either". If
        %   the Type property is set to "transition", the Polarity can be
        %   set to "rise-time", "fall-time", or "either". If the Type
        %   property is set to "window", the Polarity can be set to
        %   "inside", "outside" or "either". The default is "rising". This
        %   property is tunable.
        Polarity;

        %Position Trigger horizontal position on screen
        %   Set the horizontal position of the trigger on the screen as a
        %   positive real scalar between 0 and 100. The default is 50. This
        %   property is tunable.
        Position;

        %Timeout Time duration for a timeout-triggered signal
        %   Set the timeout duration as nonnegative real scalar. This
        %   property applies when Type is "timeout". The default is 0. This
        %   property is tunable
        Timeout;

        %Type Trigger type
        %   Choose the trigger type by setting Type property to
        %   "edge","pulse-width","transition","runt","window" or "timeout".
        %   The default is "edge". This property is tunable.
        Type;

    end
end
