LibItsFsap_Pixits.ttcn3 6.39 KB
Newer Older
garciay's avatar
garciay committed
/**
 *  @version    $URL:$
 *              $Id:$
 *  @desc       Fast service advertisement protocol (ISO 24102-5) Pixits
 */
module LibItsFsap_Pixits {
    
    // LibCommon
    
    // LibIts
    import from CALMllsap language "ASN.1:1997" all;
    import from CITSapplMgmtApplReg language "ASN.1:1997" {
garciay's avatar
garciay committed
    import from CALMmanagement language "ASN.1:1997" {
        type 
garciay's avatar
garciay committed
    };
    import from CALMfsap language "ASN.1:1997" {
        type 
garciay's avatar
garciay committed
            ApplicationID, 
            GCsched, ServiceDataReg 
    };
    import from CALMfntp language "ASN.1:1997" {
        type 
            PortNumber 
    };
garciay's avatar
garciay committed
    
    /**
     * @desc Local settings
     */
    group local {
        
        /**
         * @desc Identifies the CI on ITS-S host 
         * @see ISO 21218 - Clause 6.2 Link Identifier 
garciay's avatar
garciay committed
         */
        modulepar EUI64 PX_SRC_LOCAL_CIID := '0000000000000000'O; 
garciay's avatar
garciay committed
        
        /**
garciay's avatar
garciay committed
         */
        modulepar EUI64 PX_SRC_REMOTE_CIID := '0000000000000000'O;
garciay's avatar
garciay committed
        
        /**
         * @desc TODO
         */
        modulepar UserPriority PX_USER_PRIORITY := 0; // TODO Check if it is used somewhere
        
    } // End of group local
    
    group CRegServer {
        
        modulepar ITSaid PX_ITS_AID := { content := 0 }
        
        modulepar PortNumber PX_SESSION_PORT := { portLong := 1234 }
        
        modulepar PortNumber PX_NO_SESSION_PORT := { portLong := c_portNon }
        /**
         * @desc    ITS application object ID (ITS-AID) 
         * @see     ISO EN 17419
         */
        modulepar ApplicationID PX_APPLICATION_ID := {
garciay's avatar
garciay committed
            hostITS_scuId := 1,
            seqNumber := 1
        }
        
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates a request of specific access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
        modulepar GCsched PX_GSCHED_ACCESS_TECH_NONIP := {
            medium := 128, // FIXME TTwb does not generate MedType_iso15628_
            directivity := {
                mode := 0, // FIXME TTwb does not generate DirMode.fixed label
                dirPredef := 0,
                fill := '0000000'B, 
                dirVar := { }
            }, // End of field 'directivity'
            gcInterval := 1
        } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates a request of an unknown access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
         */
        modulepar GCsched PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP := {
            medium := 254, // FIXME TTwb does not generate MedType_can_
            directivity := {
                mode := 0, // FIXME TTwb does not generate DirMode.fixed label
                dirPredef := 0,
                fill := '0000000'B, 
                dirVar := { }
            }, // End of field 'directivity'
            gcInterval := 1
        } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP
        
        /**
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates no request of specific access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
         */
        modulepar GCsched PX_GSCHED_NONIP := {
            medium := 1, // FIXME TTwb does not generate MedType_any_
            directivity := {
                mode := 0, // FIXME TTwb does not generate DirMode.fixed label
                dirPredef := 0,
                fill := '0000000'B, 
                dirVar := { }
            }, // End of field 'directivity'
            gcInterval := 1
        } // End of modulepar PX_GSCHED_NONIP
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE := {
            fill := '0000000'B, 
            datareg := {
                nonipData := {
                    serviceID := PX_ITS_AID, 
                    timeout_ := 100,
                    serviceData := ''O,
                    providerPort := PX_NO_SESSION_PORT
                } // End of field 'nonipData'
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE := {
            fill := '0000000'B, 
            datareg := {
                nonipData := {
                    serviceID := PX_ITS_AID, 
                    timeout_ := 100,
                    serviceData := ''O,
                } // End of field 'nonipData'
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE
garciay's avatar
garciay committed
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL := {
            fill := '0000000'B, 
            datareg := {
                nonipData := {
                    serviceID := PX_ITS_AID, 
                    timeout_ := 100,
                    serviceData := ''O,
                    providerPort := PX_SESSION_PORT
                } // End of field 'nonipData'
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL
        
garciay's avatar
garciay committed
    } // End of group CRegServer
    
    /**
     * Wait until the IUT is in a stable situation (beaconing...)
     */
    modulepar float PX_WAIT_FOR_IUT_READY := 1.0;
    
    modulepar FmtID PX_FMTID_SAM := 0; // TODO Use CLAMfsap.FmtID_sam_
    modulepar FmtID PX_FMTID_CTX := 1; // TODO Use CLAMfsap.FmtID_ctx_
garciay's avatar
garciay committed
} // End of module LibItsFsap_Pixits