LibItsDcc_TypesAndValues.ttcn 6.31 KB
Newer Older
schmitting's avatar
schmitting committed
/**
 *  @author     ETSI / STF421
filatov's avatar
filatov committed
 *  @version    $URL$
 *              $Id$
schmitting's avatar
schmitting committed
 *  @desc       DCC (TS 102 724) Types
 *  @see        ETSI TS 102 917-3
 */
module LibItsDcc_TypesAndValues {
    
    // LibCommon
    
    // LibIts
    
    group utRadioPrimitives {
        
        /**
         * @desc Trigger to initialize the IUT.
         */
        type record UtRadioInitialize {
        }
        
        /**
         * @desc Radio Event to bring the IUT to defined channel states.
         */
        type record UtRadioEvent {
            ChannelState cchChannelState optional,
            ChannelState sch1ChannelState optional,
            ChannelState sch2ChannelState optional,
            ChannelState sch3ChannelState optional,
            ChannelState sch4ChannelState optional
        }
        
    } // End of group utRadioPrimitives
    
    group rrxSapPrimitives {
        /**
         * @desc Receive an indication related to frames sent by the IUT at the radio interface.
         */
        type record RrxInd { 
            Channel channel,
schmitting's avatar
schmitting committed
            integer measuredPower
schmitting's avatar
schmitting committed
        }
        
    } // End of group rrxSapPrimitives

    group inSapPrimitives {
        
            /**
             * @desc IN Request Primitive 
             */
            type record InReq {
                integer     commandReference,
                octetstring referenceBurst,
                integer     requestedSendPower,
                integer     dCCProfileIdentifier
            } // End InReq
            
            /**
             * @desc IN Status Primitive 
             */
            type record InSta {
                integer commandReference,
                Channel channel,
                boolean transmissionSuccessStatus,
                integer achievedSendPower
            } // End InSta
            
    } // End of group inSapPrimitives

    group subFields {

        type enumerated Channel {
             cCH(0),
             sCH1(1),
             sCH2(2),
             sCH3(3),
             sCH4(4)
        }
            
        type enumerated ChannelState {
             relaxed(0),
             active(1),
             restrictive(2)
        }
            
    } // End of group subFields
    
tepelmann's avatar
tepelmann committed
    group moduleParTables {
        
        type integer ProfileType(0..infinity);
        
        type record ProfileTimeAspect {
            ProfileType profile,
            float messageInterval, //in Hz
            float tOff //in ms
        }
        
        type record of ProfileTimeAspect ProfileTimeAspects;
        
        type record ChannelProfileTimeAspect {
            ChannelState state,
            record of ProfileTimeAspect aspects
        }
        
        type record of ChannelProfileTimeAspect ChannelProfileTimeAspects;
        
        type record TimeChannelAspect {
tepelmann's avatar
tepelmann committed
            float messageInterval, //in Hz
            float tOff, //in ms
tepelmann's avatar
tepelmann committed
            record of ChannelState sch1States
        }
        
        type record ChannelTimeChannelAspect {
            ChannelState cchState,
            TimeChannelAspect aspect
        }
        
        type record of ChannelTimeChannelAspect ChannelTimeChannelAspects;
tepelmann's avatar
tepelmann committed
        
        type record SingleChannelTimeChannelAspect {
tepelmann's avatar
tepelmann committed
            ChannelState cchState,
            SingleTimeChannelAspect aspect
        }
        
        type record SingleTimeChannelAspect {
tepelmann's avatar
tepelmann committed
            float messageInterval, //in Hz
            float tOff, //in ms
            ChannelState sch1State
        type record ProfileChannelTimeChannelAspect {
tepelmann's avatar
tepelmann committed
            ProfileType profile,
        type record ProfileTimeChannelAspect {
tepelmann's avatar
tepelmann committed
            ProfileType profile,
        type record ProfileSingleChannelTimeChannelAspect {
            ProfileType profile,
            SingleChannelTimeChannelAspect aspect
        }
        type record ProfileSingleTimeChannelAspect {
tepelmann's avatar
tepelmann committed
            ProfileType profile,
        type record of ProfileChannelTimeChannelAspect ProfileChannelTimeChannelAspects;
        
tepelmann's avatar
tepelmann committed
        type record of ProfileTimeChannelAspect ProfileTimeChannelAspects;
        
tepelmann's avatar
tepelmann committed
        type record SingleChannelAspect {
            ChannelState cchState,
            ChannelState sch1State,
            ChannelState sch2State
        }
        
        type record ProfileSingleChannelAspect {
            ProfileType profile,
            SingleChannelAspect aspect
        }
        
        type record SingleChannelAspect2 {
            ChannelState cchState,
            ChannelState sch3State
        }
        
        type record ProfileSingleChannelAspect2 {
            ProfileType profile,
            SingleChannelAspect2 aspect
        }
        
tepelmann's avatar
tepelmann committed
        type record ProfileChannelAspect {
            ProfileType profile,
            record of record {
                ChannelState cchState,
                record of record {
                    ChannelState sch1State,
                    ChannelState sch2State
                } states
            } aspects
        }
        
        type record of ProfileChannelAspect ProfileChannelAspects;
        
        type record ProfileChannelAspect2 {
            ProfileType profile,
            record of record {
                ChannelState cchState,
                record of ChannelState sch3States
            } aspects
        }
        
        type record of ProfileChannelAspect2 ProfileChannelAspects2;
        
        type record ChannelProfileAspect {
            ChannelState state,
            record of ProfileType profiles
        }
        
        type record SingleChannelProfileAspect {
            ChannelState state,
            ProfileType profile
        }
        
        type record of ChannelProfileAspect ChannelProfileAspects;
        
tepelmann's avatar
tepelmann committed
        type record of ChannelState ChannelStates;
schmitting's avatar
schmitting committed
    group Constants {
        
        const integer c_maxCommandReference := 256;
     
     } // End of group Constants
}
with {
    encode "LibItsDcc_TypesAndValues"
} //End of module LibItsDcc_TypesAndValues