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

reinaortega's avatar
reinaortega committed
    // LibCommon
fischer's avatar
fischer committed
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;

reinaortega's avatar
reinaortega committed
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
fischer's avatar
fischer committed
    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 float c_lowFrequencyGenerationTime := 0.5; //500 ms
        const float c_specialVehicleGenerationTime := 0.5; //500 ms
        const AccelerationControl c_accCtrlIdle             := '0000000'B;
        
        const ExteriorLights c_elAllLightsOff           := '00000000'B; 
      
    } // end group camValues
    group utPrimitives {
reinaortega's avatar
reinaortega committed

        group utCommonPrimitives {
                    
            /**
             * @desc Upper Tester message to check event/status on IUT 
             */    
            type record UtCheck { /* FIXME: change this as in DENM */
                UtCamTrigger utEvent
            }
            
            /**
             * @desc Upper Tester response message  
             */    
            type boolean UtResult;
        }
reinaortega's avatar
reinaortega committed
        with {
            encode "LibItsCommon"
         * @member changeCurvature Changes the curvature.
         * @member changeSpeed Changes the speed in cm/s.
         * @member setAccelerationControlStatus Sets the acceleration control status.
         * @member setExteriorLightsStatus Sets the exterior lights status.
         * @member changeHeading Changes the heading.
         * @member setDriveDirection Sets the drive direction.
         * @member changeYawRate Changes the yaw rate in offsets of 0.01 degrees per second.
         * @member changePosition Changes the position in the direction of the current heading in meters.
         * @member checkLdm Checks that the received CAM was provided at LDM.
        type union UtCamTrigger {
            CurvatureValue changeCurvature,
            SpeedValue changeSpeed,
            AccelerationControl setAccelerationControlStatus,
            ExteriorLights setExteriorLightsStatus,
            HeadingValue changeHeading,
            DriveDirection setDriveDirection,
            YawRateValue changeYawRate,
            integer changePosition, /* FIXME: use UtChangePosition */
            CAM checkLdm /* FIXME: obselete, to be removed */

        /**
         * @desc Upper Tester result message of request of triggering of an event at IUT 
         */        
        type boolean UtCamTriggerResult;
        
    } // end utPrimitives
fischer's avatar
fischer committed
}
garciay's avatar
garciay committed
with {
    encode "LibItsCam"