LibItsCam_TypesAndValues.ttcn 5.45 KB
Newer Older
fischer's avatar
fischer committed
/**
 *    @author     ETSI / STF405
 *  @version     $URL$
 *                $Id$
 *    @desc        Module containing types and values for CAM Protocol
fischer's avatar
fischer committed
 *
 */
module LibItsCam_TypesAndValues {

    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;

    import from CAM_PDU_Descriptions language "ASN.1:1997" all;
berge's avatar
berge committed
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
    group camValues {
        
        const boolean c_precisely := true;
        const boolean c_notPrecisely := false;
              
        const CrashStatus c_activated := true;
        const CrashStatus c_deactivated := false;
              
        const AccelerationControl c_acIdle := '000000'B; 
        const AccelerationControl c_cruiseControl := '001000'B; 
        const AccelerationControl c_acc := '000100'B; 
        const AccelerationControl c_limiter := '000010'B; 
        const AccelerationControl c_brakeAssist := '000001'B; 
        const AccelerationControl c_throttlePedal := '010000'B; 
        const AccelerationControl c_brakePedal := '100000'B; 
        
berge's avatar
berge committed
        const DangerousGoods c_noDangerousGoodsTransported := 0;  
      
        const Direction c_south := 14400; 
        const Direction c_north := 0; 
        const Direction c_east := 7200; 
        const Direction c_west := 21600; 
      
        const DoorOpen c_doorsClosed := '0000'B; 
        const DoorOpen c_passengerDoor := '0100'B; 
        const DoorOpen c_luggageDoor := '0001'B; 
        const DoorOpen c_maintenanceDoor := '0010'B; 
        const DoorOpen c_driverDoor := '1000'B; 
      
        const ExteriorLights c_elAllLightsOff := '00000000'B; 
        const ExteriorLights c_automaticLightControlOn := '00001000'B; 
        const ExteriorLights c_rightTurnSignalOn := '00010000'B; 
        const ExteriorLights c_leftTurnSignalOn := '00100000'B; 
        const ExteriorLights c_HazardConditionsOn := '00110000'B; 
        const ExteriorLights c_lowBeamHeadlightsOn := '10000000'B; 
        const ExteriorLights c_fogLightOn := '00000010'B; 
        const ExteriorLights c_parkingLightsOn := '00000001'B; 
        const ExteriorLights c_highBeamHeadlightsOn := '01000000'B; 
        const ExteriorLights c_daytimeRunningLightsOn := '00000100'B; 
      
        const TurnDirection c_tdAllIndicatorsOff := '00000000'B; 
        const TurnDirection c_sharpLeft := '00000001'B; 
        const TurnDirection c_uTurn := '10000000'B; 
        const TurnDirection c_slightLeft := '00000100'B; 
        const TurnDirection c_left := '00000010'B; 
        const TurnDirection c_straight := '00001000'B; 
        const TurnDirection c_right := '00100000'B; 
        const TurnDirection c_slightRight := '00010000'B; 
        const TurnDirection c_sharpRight := '01000000'B; 
          
    } // end group camValues
    group utPrimitives {
        
        /**
         * @desc Trigger to initialize the IUT.
         */
        type record UtCamInitialize {
        }
        
        /**
         * @desc Trigger the given event at the application layer of the IUT.
         * @member utEvent
         */
        type record UtCamTrigger {
            UtCamEvent utEvent
        }
        
        /**
         * @desc Check the given event at the application layer of the IUT.
         * @member utEvent
         */
        type record UtCamCheck {
tepelmann's avatar
tepelmann committed
            CamPdu utEvent
        /**
         * @desc The result of the checked event at the application layer
         */
        type boolean UtCamResult;
        
        /**
         * @desc Events at the application layer of the IUT.
         * @member changeHeading Changes the heading .
         * @member changePosition Changes the position in the direction of the current heading in meters.
         * @member changeSpeed Changes the speed.
         * @member setCrashSignal Sets the crash signal.
         * @member setDangerousGoodsStatus Sets the dangerous goods status.
         * @member setLengthWidthPrecision Sets the length width precision.
         * @member setDistanceToStopLine Set the distance to the stop line.
         * @member setTurnAdvice Sets the turn advice.
         * @member changeCurvature Changes the curvature.
         * @member setOccupancy Sets the occupancy.
         * @member setDoorStatus Sets the door status.
         * @member setLightBarStatus Sets the light bar status.
         * @member setSireneStatus Sets the sirene status.
         * @member setTrafficLightPriority Sets the traffic light priority.
         * @member setScheduleDeviation Sets the schedule deviation.
         * @member setPtLineDescription Sets the PT line description.
         * @member setExteriorLightsStatus Sets the extirior lights status.
         */
        type union UtCamEvent {
            Direction changeHeading,
            integer changePosition,
            Speed changeSpeed,
            CrashStatus setCrashSignal,
            DangerousGoods setDangerousGoodsStatus,
            boolean setLengthWidthPrecision,
            Distance setDistanceToStopLine,
            TurnAdvice setTurnAdvice,
            Curvature changeCurvature,
            Occupancy setOccupancy,
            DoorOpen setDoorStatus,
            SimpleSystemState setLightBarStatus,
            SimpleSystemState setSireneStatus,
            Priority setTrafficLightPriority,
            ScheduleDeviation setScheduleDeviation,
            PTLineDescription setPtLineDescription,
tepelmann's avatar
tepelmann committed
            ExteriorLights setExteriorLightsStatus
        }
        
    } // end utPrimitives
fischer's avatar
fischer committed
}