classdef dcfStats < Simulink.IntEnumType
%dcfStats Enumeration to indicate model statistics
%
%   Value = dcfStats.<ENUMVALUE> creates an enumeration with the value
%   specified by the ENUMVALUE.
%
%   dcfStats properties (enumeration values):
%   -----------------------------------------
%   AppTx (0) - Data Packets transmitted
%   AppRx (1) - Data packets received
%   MACDataTx (2) - MAC data frames transmitted
%   MACAckTx (3) - MAC acknowledgment frames transmitted
%   MACRTSTx (4) - MAC RTS frames transmitted
%   MACCTSTx (5) - MAC CTS frames transmitted
%   MACRx (6) - MAC frames received
%   MACDataRx (7) - MAC data frames received
%   MACAckRx (8) - MAC Acknowledgment frames received
%   MACRTSRx (9) - MAC RTS frames received
%   MACCTSRx (10) - MAC CTS frames received
%   MACTxQueueOverflow (11) - MAC Tx queue overflows
%   MACTxFails (12) - MAC Tx fails
%   MACRetries (13) - MAC retransmissions
%   PhyTx (14) - Waveforms transmitted
%   PhyRx (15) - Waveforms received
%   PhyRxDrop (16) - Waveforms dropped
%   MACRxDrop (17) - MAC Rx drop
%   MACTxBytes (18) - MAC Tx bytes
%   MACTxSuccess (19) - MAC Tx success
%   IdleStateTime (20) - MAC idle state time (in microseconds)
%   ContendStateTime (21) - MAC contend state time (in microseconds)
%   SendingDataStateTime (22) - MAC frame sending time (in microseconds)
%   WaitForRxStateTime (23) - MAC wait for response time (in microseconds)
%   EIFSStateTime (24) - MAC error recovery time (in microseconds)
%   RxStateTime (25) - MAC Rx state time (in microseconds)
%   Throughput (26) - Throughput
%   MACAverageTimePerFrame (27) - Average packet queuing delay in MAC
%   MACMaxQueueLength(28) - MAC input Tx queue maximum length
%   MACBackoff (29) - MAC back-off (in microseconds)
%   EnergyDetectionsLessThanED (30)     - PHY energy detections less than ED threshold
%   RxTriggersWhilePrevRxIsInProgress (31) - PHY Rx triggers while previous Rx is in progress
%   RxTriggersWhileTxInProgress (32)	  - PHY Rx triggers while Tx is in progress
%   PhyPreambleDecodeFailures (33)      - PHY preamble decode failures
%   PhyHeaderDecodeFailures (34)        - PHY header decode failures
%   All (35) - Other than the above specified values

%   Copyright 2019 The MathWorks, Inc.
    
    enumeration
        % Data Packets transmitted
        AppTx (0)
        % Data packets received
        AppRx (1)
        % MAC data frames transmitted
        MACDataTx (2)
        % MAC acknowledgment frames transmitted
        MACAckTx (3)
        % MAC RTS frames transmitted
        MACRTSTx (4)
        % MAC CTS frames transmitted
        MACCTSTx (5)
        % MAC frames received
        MACRx (6)
        % MAC data frames received
        MACDataRx (7)
        % MAC Acknowledgment frames received
        MACAckRx (8)
        % MAC RTS frames received
        MACRTSRx (9)
        % MAC CTS frames received
        MACCTSRx (10)
        % MAC Tx queue overflows
        MACTxQueueOverflow (11)
        % MAC Tx fails
        MACTxFails (12)
        % MAC retransmissions
        MACRetries (13)
        % Waveforms transmitted
        PhyTx (14)
        % Waveforms received
        PhyRx (15)
        % Waveforms dropped
        PhyRxDrop (16)
        % MAC Rx drop
        MACRxDrop (17)
        % MAC Tx bytes
        MACTxBytes (18)
        % MAC Tx success
        MACTxSuccess (19)
        % MAC idle state time (in microseconds)
        IdleStateTime (20)
        % MAC contend state time (in microseconds)
        ContendStateTime (21)
        % MAC frame sending time (in microseconds)
        SendingDataStateTime (22)
        % MAC wait for response time (in microseconds)
        WaitForRxStateTime (23)
        % MAC error recovery time (in microseconds)
        EIFSStateTime (24)
        % MAC Rx state time (in microseconds)
        RxStateTime (25)
        % Throughput
        Throughput (26)
        % Average packet queuing delay in MAC
        MACAverageTimePerFrame (27)
        % MAC input Tx queue maximum length
        MACMaxQueueLength(28)
        % MAC back-off (in Microseconds)
        MACBackoff (29)
        % PHY energy detections less than ED threshold
        EnergyDetectionsLessThanED (30)
        % PHY Rx triggers while previous Rx is in progress
        RxTriggersWhilePrevRxIsInProgress (31)
        % PHY Rx triggers while Tx is in progress
        RxTriggersWhileTxInProgress (32)
        % PHY preamble decode failures
        PhyPreambleDecodeFailures (33)
        % PHY header decode failures
        PhyHeaderDecodeFailures (34)
        % Other than the above specified values
        All (35)
    end
    
    methods (Static)
        function value = getDefaultValue()
            % Returns the default value
            
            value = dcfStats.AppTx;
        end
    end
end
