/** * @author ETSI / STF421 * @version $URL:$ * $Id:$ * @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, integer measuredPower } } // 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 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 ChannelTimeAspect { ChannelState cchState, float messageInterval, //in Hz float tOff, //in ms record of ChannelState sch1States } type record of ChannelTimeAspect ChannelTimeAspects; type record SingleChannelTimeAspect { ChannelState cchState, float messageInterval, //in Hz float tOff, //in ms ChannelState sch1State } type record ProfileChannelTimeAspect { ProfileType profile, ChannelTimeAspects aspects } type record ProfileSingleChannelTimeAspect { ProfileType profile, SingleChannelTimeAspect aspect } type record of ProfileChannelTimeAspect ProfileChannelTimeAspects; type record ProfileTimeChannelAspect { ProfileType profile, ChannelTimeAspect aspect } type record of ProfileTimeChannelAspect ProfileTimeChannelAspects; type record SingleChannelAspect { ChannelState cchState, ChannelState sch1State, ChannelState sch2State } type record ProfileSingleChannelAspect { ProfileType profile, SingleChannelAspect aspect } 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 ChannelProfileAspect { ChannelState state, record of ProfileType profiles } type record SingleChannelProfileAspect { ChannelState state, ProfileType profile } type record of ChannelProfileAspect ChannelProfileAspects; type record of ChannelState ChannelStates; } group Constants { const integer c_maxCommandReference := 256; } // End of group Constants } with { encode "LibItsDcc_TypesAndValues" } //End of module LibItsDcc_TypesAndValues