LibItsIicp_Pixits.ttcn3 8.19 KB
Newer Older
/**
 *  @author     ETSI / STF422_EETS
 *  @version    $URL:$
 *              $Id:$
 *  @desc       Inter-ITS-SCU communications (ISO 24102-4) Pixits
 */
module LibItsIicp_Pixits {
    
    // LibCommon
    import from LibCommon_DataStrings {
        type Bit4
    };
    
    // LibIts
garciay's avatar
garciay committed
    import from CALMllsap language "ASN.1:1997" {
        type 
garciay's avatar
garciay committed
    };
    import from CALMmsap language "ASN.1:1997" {
        type 
            MF_Command, MN_Command, MI_Command, 
            MF_Request, MN_Request, MI_Request,
            MF_Request_confirm 
garciay's avatar
garciay committed
    };
    import from CALMmanagement language "ASN.1:1997" {
        type 
            ITS_scuId, Talive 
    };
    import from CALMiitsscu language "ASN.1:1997" {
        type ITS_SCUtype 
    }; 
    import from CALMfntp language "ASN.1:1997" {
        type PortNumber
    };
garciay's avatar
garciay committed
    import from LibItsMgt_TypesAndValues {
garciay's avatar
garciay committed
        type IParamNoList, IParamList, ErrorsList 
garciay's avatar
garciay committed
    };
garciay's avatar
garciay committed
    /**
     * @desc Defines the active CI link identifier
     */
    modulepar Link_ID PX_ACTIVE_VCI_LINK_ID := {
        remoteCIID := '0000000000000000'O, 
        localCIID := '0000000000000000'O 
    };
    
    /**
     * @desc Defines the value to set to fill field for PduRequest field
     * @see ISO/WD 24102-4 - Clause 7
     */
    modulepar Bit4 PX_PDU_REQUEST_FILL_FIELD_VALUE := '0000'B;
    
    /**
     * @desc ITS-SCU-ID of the source ITS-SCU which produces the request
     */
    modulepar ITS_scuId PX_SRC_ITS_SCU_ID := 5;
    
    /**
     * @desc ITS_SCUtype of the source ITS-SCU which produces the request
     */
    modulepar ITS_SCUtype PX_SRC_ITS_SCU_TYPE := 2; // router
    
    /**
     * @desc ITS-SCU-ID of the destination ITS-SCU which shall evaluate the request
     */
    modulepar ITS_scuId PX_DST_ITS_SCU_ID := 0;
    
    /**
     * @desc The own ITS scuID
     * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment
     */
    modulepar ITS_scuId PX_LOCAL_ITS_SCU_ID := 8; 
    
    /**
     * @desc The type ITS scuID
     * @see ISO/WD 24102-4 - Table 2 — ITS-SCU-ID value assignment
     */
    modulepar ITS_SCUtype PX_LOCAL_ITS_TYPE := 1; // ITS_SCUtype_host_ 
    
    /**
     * @desc Host ITS-SCU-ID
     */
    modulepar ITS_scuId PX_HOST_SCU_ID := 0;
    
    /**
garciay's avatar
garciay committed
     * @desc Alive timer
garciay's avatar
garciay committed
    modulepar Talive PX_TALIVE := 100; // TODO Check what is the role of Talive?
    
    /**
     * Wait until the IUT is in a stable situation (beaconing...)
     */
    modulepar float PX_WAIT_FOR_IUT_READY := 1.0;
    
garciay's avatar
garciay committed
    /**
     * @desc MI-Command value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MI_Command PX_MI_RCMD_STATECINOTIFY := {
        fill := PX_PDU_REQUEST_FILL_FIELD_VALUE,
        miCmd := {
            wakeUp := 10
        }
    } 
    
    /**
     * @desc MN-Command value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MN_Command PX_MN_RCMD_STATECINOTIFY := {
        fill := '00000'B,
        mnCmd := {
            fWTdelete := {
                fill := '0000000'B,
                delete := {
                    fntp := {
                        reference := 10 
                    }
                } 
            }
        }
    } 
    
    /**
     * @desc MN-Request value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MN_Request PX_MN_RCMD_FWYSETNOTIFY := {
        fill := '00000'B,
        mnReq := {
            fWTsetNot := {
                fill := '0000000'B,
                setNot := {
                    fast := {
                        reference := 0,
                        remotePort := {
                            portShort := 0 
                        },
                        linkID := {
                            remoteCIID := '0000000000000000'O,
                            localCIID :=  '0000000000000000'O
                        },
                        ciStatus := 0,
                        linkPort := {
                            portShort := 0 
                        },
                        serviceInfo := {
                            servicePort := {
                                portShort := 0 
                            },
                            hostITSscu := 0,
                            servicePriority := 0
                        },
                        priority := 0,
                        timeout_ := 0
                    }
                } 
            }
        }
    } 
    
    /**
     * @desc MI-Request value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MI_Request PX_MI_RCMD_REGTYPE := {
        fill := '0000'B,
        miReq := { 
            regReq := {
                medType := 10 // FIXME Check why TTWB does not accespt MedType_iso17515_
            }
        }
    }
    
garciay's avatar
garciay committed
    /**
     * @desc MF-Command value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MF_Command PX_MF_RCMD_STATECINOTIFY := {
        fill := PX_PDU_REQUEST_FILL_FIELD_VALUE,
        mfCmd := {
            stateCInotify := {
                linkId := {
                    remoteCIID := '0000000000000000'O, 
                    localCIID := '0000000000000000'O 
                },
                cIstatus := 8
            }
        }
    } 
    
    /**
     * @desc MF-Command value used for IICP/COM/xx TPs
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     */
    modulepar MF_Request PX_MF_RCMD_LDM_REGISTER := {
        fill := PX_PDU_REQUEST_FILL_FIELD_VALUE,
        mfReq := {
            lDMregister := {
                iTS_scuId := 0,
                reference := ''O
            }
        }
    } 
    
garciay's avatar
garciay committed
    /**
     * @desc List of reference number of parameter to be monitored
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     * @see ISO 21218 Table A.1 — I parameters
     */
    modulepar IParamNoList PX_MI_IPARAMNOLIST := { 
        0, // AuxiliaryChannel 
        1 // ControlChannel 
    }
    
garciay's avatar
garciay committed
    /**
     * @desc List of error status for each parameter to be monitored
garciay's avatar
garciay committed
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     * @see ISO 21218 Table A.1 — I parameters
     */
garciay's avatar
garciay committed
    modulepar IParamList PX_MI_IPARAMLIST := {
        { 
            fill := '00'B, 
            param_ := { 
                errors := {
                    {
                        paramNo := 0, 
                        fill := '0000000'B,
                        med := { },
                        errStatus := 0 
                    }
                }
            } // End of field 'param_'
        } // End of list
    }
garciay's avatar
garciay committed
    /**
     * @desc List of errors 
     * NOTE that this PIXIT is used just for compiling purposes. The real PIXIT shall be written according to the IUT capabilities
     * @see ISO 21218 Clause A.2.53 Errors (I-Param.No=255)
     */
    modulepar ErrorsList PX_MI_ERRORSLIST := {
        { 
            { 
                paramNo := 0, 
                fill := '0000000'B,
                med := { },
                errStatus := 0
            } // End of SingleError list 
        } // End of list
    }
garciay's avatar
garciay committed
    
     * @desc    Error status in response of MF-REQUEST.request service primitive
     */
    modulepar MF_Request_confirm PX_IIC_RESPONSE := { 
        commandRef := 1, 
        reqConfirm := { 
            fill := '0000'B, 
            mfReqConf := { 
                lDMregister := 0
            } // End of field 'mfReqConf' 
        }, // End of field 'reqConfirm' 
        errStatus := 0 
    } // End of modulepar PX_IIC_RESPONSE