Commit bfa0371b authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

Updates due to new IVI tests

parent 628fdb38
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -59,6 +59,9 @@ module LibItsCommon_ASN1_NamedNumbers {
            const ItsPduHeader.messageID ItsPduHeader_messageID_saem_ := 12;
            const ItsPduHeader.messageID ItsPduHeader_messageID_saem_ := 12;
            const ItsPduHeader.messageID ItsPduHeader_messageID_rtcmem_ := 13;
            const ItsPduHeader.messageID ItsPduHeader_messageID_rtcmem_ := 13;
            
            
            const LanePosition LanePosition_offTheRoad_        := -1; 
            const LanePosition LanePosition_innerHardShoulder_ := 0;
    
            const LongitudinalAccelerationValue LongitudinalAccelerationValue_unavailable_ := 161;
            const LongitudinalAccelerationValue LongitudinalAccelerationValue_unavailable_ := 161;
            
            
            const SemiAxisLength SemiAxisLength_oneCentimeter_ := 1;
            const SemiAxisLength SemiAxisLength_oneCentimeter_ := 1;
+34 −1
Original line number Original line Diff line number Diff line
@@ -6,6 +6,11 @@ import from IVI language "ASN.1:1997" all;


  group IVI_constants {
  group IVI_constants {
    
    
        const Direction Direction_sameDirection_ := 0;
        const Direction Direction_oppositeDirection_ := 1;
        const Direction Direction_bothDirections_ := 2;
        const Direction Direction_valueNotUsed_ := 3;
  
        const IviStatus IviStatus_new_ := 0;
        const IviStatus IviStatus_new_ := 0;
        const IviStatus IviStatus_update_ := 1;
        const IviStatus IviStatus_update_ := 1;
        const IviStatus IviStatus_cancellation_ := 2;
        const IviStatus IviStatus_cancellation_ := 2;
@@ -17,6 +22,34 @@ import from IVI language "ASN.1:1997" all;
        const IviType IviType_pollutionMessages_ := 3;
        const IviType IviType_pollutionMessages_ := 3;
        const IviType IviType_notTrafficRelatedInformationMessages_ := 4;
        const IviType IviType_notTrafficRelatedInformationMessages_ := 4;
        
        
        const LaneType LaneType_traffic_ := 0;
        const LaneType LaneType_through_ := 1;
        const LaneType LaneType_reversible_ := 2;
        const LaneType LaneType_acceleration_ := 3;
        const LaneType LaneType_deceleration_ := 4;
        const LaneType LaneType_leftHandTurning_ := 5;
        const LaneType LaneType_rightHandTurning_ := 6;
        const LaneType LaneType_dedicatedVehicle_ := 7;
        const LaneType LaneType_bus_ := 8;
        const LaneType LaneType_taxi_ := 9;
        const LaneType LaneType_hov_ := 10;
        const LaneType LaneType_hot_ := 11;
        const LaneType LaneType_pedestrian_ := 12;
        const LaneType LaneType_bikeLane_ := 13;
        const LaneType LaneType_median_ := 14;
        const LaneType LaneType_striping_ := 15;
        const LaneType LaneType_trackedVehicle_ := 16;
        const LaneType LaneType_parking_ := 17;
        const LaneType LaneType_emergency_ := 18;
        const LaneType LaneType_verge_ := 19;
        
        const LaneStatus LaneStatus_open_ := 0;
        const LaneStatus LaneStatus_closed_ := 1;
        const LaneStatus LaneStatus_mergeR_ := 2;
        const LaneStatus LaneStatus_mergeL_ := 3;
        const LaneStatus LaneStatus_mergeLR_ := 4;
        const LaneStatus LaneStatus_provisionallyOpen_ := 5;
        const LaneStatus LaneStatus_diverging_ := 6;
  
  
  } // end IVI_constants
  } // end IVI_constants
  
  
+31 −5
Original line number Original line Diff line number Diff line
/**
/**
 *    @author     ETSI / STF517
 *    @author     ETSI / STF517  / TTF002
 *    @version    $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Functions.ttcn $
 *    @version    $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Functions.ttcn $
 *                $Id: LibItsIvim_Functions.ttcn,v 1.2 2018/05/31 15:57:12 dte Exp $
 *                $Id: LibItsIvim_Functions.ttcn,v 1.2 2018/05/31 15:57:12 dte Exp $
 *    @desc       Module containing functions for IVIM
 *    @desc       Module containing functions for IVIM
@@ -28,6 +28,10 @@ module LibItsIvim_Functions {
    import from IVI language "ASN.1:1997" all;
    import from IVI language "ASN.1:1997" all;
    import from EfcDsrcGeneric language "ASN.1:1997" all;
    import from EfcDsrcGeneric language "ASN.1:1997" all;
    import from EfcDsrcApplication language "ASN.1:1997" all;
    import from EfcDsrcApplication language "ASN.1:1997" all;
    import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
    
    // LibItsSecurity
    import from LibItsSecurity_Functions all;
    
    
    // LibItsIvim
    // LibItsIvim
    import from LibItsIvim_TestSystem all;
    import from LibItsIvim_TestSystem all;
@@ -334,13 +338,35 @@ module LibItsIvim_Functions {
         * @desc Brings the IUT into an initial state.
         * @desc Brings the IUT into an initial state.
         * @return FncRetCode 
         * @return FncRetCode 
         */
         */
        function f_prInitialState(Scenario p_scenario := e_staticPosition) runs on ItsIvim return FncRetCode {
//        function f_prInitialState(Scenario p_scenario := e_staticPosition) runs on ItsIvim return FncRetCode {
//            var FncRetCode v_ret := e_success;
//            
//            f_utInitializeIut(m_ivimStructureInitialize);
//            
//            f_prDefault();
//            
//            return v_ret;
//        }
          function f_prInitialState(Scenario p_scenario := e_staticPosition,
                                    in charstring p_certificate_id := ""
                                    ) runs on ItsIvim return FncRetCode {
            var FncRetCode v_ret := e_success;
            var FncRetCode v_ret := e_success;
            
            
            f_utInitializeIut(m_ivimStructureInitialize);
            // Initialize IUT with given certificate
            if (p_certificate_id != "") { // Initialize IUT with given certificate
                var HashedId8 v_hashedId8 := '0000000000000000'O;
                
                
                fx_readCertificateDigest("CERT_IVI_SSP_NONE", v_hashedId8);
                if ('0000000000000000'O ==  v_hashedId8) {
                    // Certificate not found
                    log("*** " & testcasename() & ": Required IUT certificate is not found on the test system ***");
                    return e_timeout;
                }
                f_utInitializeIut(m_ivimStructureInitialize(v_hashedId8));
            } else {
                f_utInitializeIut(m_ivimStructureInitialize);
            }
            f_prDefault();
            f_prDefault();
            
            return v_ret;
            return v_ret;
        }
        }
        
        
+10 −1
Original line number Original line Diff line number Diff line
/**
/**
 *    @author      ETSI / STF517
 *    @author      ETSI / STF517 / TTF002
 *    @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Pixits.ttcn $
 *    @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Pixits.ttcn $
 *                 $Id: LibItsIvim_Pixits.ttcn 1315 2016-12-15 13:25:41Z garciay $
 *                 $Id: LibItsIvim_Pixits.ttcn 1315 2016-12-15 13:25:41Z garciay $
 *    @desc        IVIM PIXITS
 *    @desc        IVIM PIXITS
@@ -83,4 +83,13 @@ module LibItsIvim_Pixits {
     */
     */
    modulepar integer PX_LAYOUTID := 1
    modulepar integer PX_LAYOUTID := 1
    
    
    /**
     * @desc IUT RScode integer variant
     *       see TpFunction to set the correct value
     *       used in f_IS_IVI_RCV_SSP_BO_03 and f_IS_IVI_RCV_SSP_BO_04
     *       //add others if needed
     * @see  ETSI TS 103 191-3 Table B.8
     */
    modulepar integer PX_RSCODE_VA := 1
    
} // End of module LibItsIvim_Pixits 
} // End of module LibItsIvim_Pixits 
 No newline at end of file
+235 −2
Original line number Original line Diff line number Diff line
/**
/**
 *  @author      ETSI / STF517
 *  @author      ETSI / STF517 / TTF002
 *  @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Templates.ttcn $
 *  @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/IVIM/LibItsIvim_Templates.ttcn $
 *               $Id: LibItsIvim_Templates.ttcn 1316 2017-01-03 09:03:43Z garciay $
 *               $Id: LibItsIvim_Templates.ttcn 1316 2017-01-03 09:03:43Z garciay $
 *  @desc        Module containing base template definitions for IVIM
 *  @desc        Module containing base template definitions for IVIM
@@ -22,6 +22,7 @@ module LibItsIvim_Templates {
    import from EfcDsrcApplication language "ASN.1:1997" all;
    import from EfcDsrcApplication language "ASN.1:1997" all;
    import from AVIAEINumberingAndDataStructures language "ASN.1:1997" all;
    import from AVIAEINumberingAndDataStructures language "ASN.1:1997" all;
    import from CITSapplMgmtIDs language "ASN.1:1997" all;
    import from CITSapplMgmtIDs language "ASN.1:1997" all;
    import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
    
    
    // LibItsCommon
    // LibItsCommon
    import from LibItsCommon_TypesAndValues all;
    import from LibItsCommon_TypesAndValues all;
@@ -69,6 +70,25 @@ module LibItsIvim_Templates {
            its_aid             := *
            its_aid             := *
        } // End of template mw_ivimInd
        } // End of template mw_ivimInd
        
        
        /**
         * @desc    Send template for IVI Message (IvimPort Primitive)
         * @param   p_iviMsg    The expected IVI Message
         */
        template (value) IvimInd m_ivimInd(
                                              template (value) IVIM p_iviMsg
        ) := {
            msgIn               := p_iviMsg,
            gnNextHeader        := omit,
            gnHeaderType        := omit,
            gnHeaderSubtype     := omit,
            gnLifetime          := omit,
            gnTrafficClass      := omit,
            btpDestinationPort  := omit,
            btpInfo             := omit,
            ssp                 := omit,
            its_aid             := omit
        } // End of template m_ivimInd

        /**
        /**
         * @desc    Receive template for IVI Message (IvimPort Primitive)
         * @desc    Receive template for IVI Message (IvimPort Primitive)
         * @param   p_iviMsg            The expected IVI Message
         * @param   p_iviMsg            The expected IVI Message
@@ -123,12 +143,29 @@ module LibItsIvim_Templates {
            its_aid         := p_its_aid
            its_aid         := p_its_aid
        } // End of template mw_ivimIndWithSecurityParameters
        } // End of template mw_ivimIndWithSecurityParameters
        
        
        /**
         * @desc    Send template for IVI Message (IvimPort Primitive)
         * @param   p_iviMsg    The expected IVI Message
         * @param   p_ssp       SSP security parameter
         * @param   p_its_aid   ITS-AID value
         */
        template IvimInd m_ivimIndWithSecurityParameters(
                                                          template (value) IVIM p_iviMsg,
                                                           template Bit256 p_ssp := omit,
                                                           template UInt32 p_its_aid := omit
        ) modifies m_ivimInd := { 
            ssp             := p_ssp,
            its_aid         := p_its_aid
        } // End of template mw_ivimIndWithSecurityParameters
        
        group utPrimitives {
        group utPrimitives {
            
            
            /**
            /**
             * @desc    Send template for Upper Tester event initialization
             * @desc    Send template for Upper Tester event initialization
             */
             */
            template (value) UtIvimInitialize m_ivimStructureInitialize := {
            template (value) UtIvimInitialize m_ivimStructureInitialize(
                                                                         in HashedId8 p_hashedId8 := '0000000000000000'O
                                                                       ) := {
                hashedId8 := '0000000000000000'O
                hashedId8 := '0000000000000000'O
            } // End of template m_ivimStructureInitialize
            } // End of template m_ivimStructureInitialize
            
            
@@ -506,6 +543,18 @@ module LibItsIvim_Templates {
            tc := p_tc
            tc := p_tc
        } // End of template mw_iviContainer_textContainer
        } // End of template mw_iviContainer_textContainer
        
        
        template (value) IviContainer m_iviContainer_layoutContainer(
                                                                                in template (value) LayoutContainer p_lac
        ) := {
            lac := p_lac
        } // End of template m_iviContainer_layoutContainer
        
        template (present) IviContainer mw_iviContainer_layoutContainer(
                                                                                   template (present) LayoutContainer p_lac := ?
        ) := {
            lac := p_lac
        } // End of template mw_iviContainer_layoutContainer
        
    } // End of group iviContainerGroup
    } // End of group iviContainerGroup
    
    
    group geographicLocationContainerGroup {
    group geographicLocationContainerGroup {
@@ -591,6 +640,42 @@ module LibItsIvim_Templates {
            }
            }
        } // End of template m_referencePosition
        } // End of template m_referencePosition
        
        
        template Zone m_zone_segment(
                                    template (value) Segment p_segment := m_segment
        ) := {
            segment          := p_segment
        } // End of template m_zone_segment
        
        template Zone m_zone_polygonalLine(
                                    template (value) PolygonalLine p_area := m_polygonalLine_deltaPositions
        ) := {
            area          := p_area
        } // End of template m_zone_polygonalLine
        
        template Segment m_segment(
                                    template (value) PolygonalLine p_line := m_polygonalLine_deltaPositions,
                                    template (omit) IVILaneWidth p_laneWidth := omit
        ) := {
            line          := p_line,
            laneWidth     := p_laneWidth
        } // End of template m_segment
        
        template PolygonalLine m_polygonalLine_deltaPositions(
                                    template (value) PolygonalLine.deltaPositions p_deltaPositions := {m_deltaPosition}
        ) := {
            deltaPositions := p_deltaPositions
        } // End of template m_segment
        
        template DeltaPosition m_deltaPosition(
                                    template (value) DeltaLatitude p_deltaLatitude := 9997,
                                    template (value) DeltaLongitude p_deltaLongitude := 9998
        ) := {
            deltaLatitude := p_deltaLatitude,
            deltaLongitude := p_deltaLongitude
        } // End of template m_segment
        
        
        
    } // End of group geographicLocationContainerGroup
    } // End of group geographicLocationContainerGroup
    
    
    group generalIviContainerGroup {
    group generalIviContainerGroup {
@@ -627,6 +712,30 @@ module LibItsIvim_Templates {
            roadSignCodes           := p_roadSignCodes
            roadSignCodes           := p_roadSignCodes
        } // End of template m_gicPart_relavanceZoneId
        } // End of template m_gicPart_relavanceZoneId
        
        
        template (value) GicPart m_gicPart_relavanceZoneId_detectionZoneId_direction(
                                                 in template (value) IviType p_iviType := IviType_regulatoryMessages_,
                                                 in template (value) GicPart.roadSignCodes p_roadSignCodes := {m_rSCode_itisCodes},
                                                 in template (value) GicPart.relevanceZoneIds p_relevanceZoneIds := {PX_RELAVANCE_ZONEID},
                                                 in template (value) GicPart.detectionZoneIds p_detectionZoneIds := {PX_DETECTION_ZONEID},
                                                 in template (value) GicPart.direction p_direction := Direction_sameDirection_
        ) modifies m_gicPart_basic:= {
            detectionZoneIds        := p_detectionZoneIds,
            relevanceZoneIds        := p_relevanceZoneIds,
            direction               := p_direction,
            iviType                 := p_iviType,
            roadSignCodes           := p_roadSignCodes
        } // End of template m_gicPart_relavanceZoneId_detectionZoneId_direction
        
        template (value) GicPart m_gicPart_laneStatus(
                                                 in template (value) IviType p_iviType := IviType_regulatoryMessages_,
                                                 in template (value) GicPart.roadSignCodes p_roadSignCodes := {m_rSCode_itisCodes},
                                                 in template (value) GicPart.laneStatus p_laneStatus := LaneStatus_open_
        ) modifies m_gicPart_basic:= {
            iviType                 := p_iviType,
            laneStatus              := p_laneStatus,
            roadSignCodes           := p_roadSignCodes
        } // End of template m_gicPart_relavanceZoneId
        
        template (present) GicPart mw_gicPart_basic(
        template (present) GicPart mw_gicPart_basic(
                                                    template (present) IviType p_iviType := ?,
                                                    template (present) IviType p_iviType := ?,
                                                    template (present) GicPart.roadSignCodes p_roadSignCodes := ?
                                                    template (present) GicPart.roadSignCodes p_roadSignCodes := ?
@@ -724,8 +833,115 @@ module LibItsIvim_Templates {
            }
            }
        } // End of template m_rSCode_itisCodes
        } // End of template m_rSCode_itisCodes
        
        
        template (value) RSCode m_rSCode_viennaConvention  := {
            layoutComponentId       := omit,
            code                    := {
                viennaConvention := 
                {
                    roadSignClass := 1, // classB	(1), 
                    roadSignCode  := 2, //INTEGER (1..64),
                    vcOption      := 1, //a(1),
                    validity      := omit,
                    value_        := omit, 
                    unit          := omit
                }
            }
        } // End of template m_rSCode_viennaConvention
        
        template (value) RSCode m_rSCode_iso14823_trafficSignPictogram (
            template (value) RSCode.code.iso14823.pictogramCode.serviceCategoryCode.trafficSignPictogram p_trafficSignPictogram := dangerWarning
        ):= {
            layoutComponentId       := omit,
            code                    := {
                iso14823 := {
                    pictogramCode   := {
                        countryCode           := omit,
                        serviceCategoryCode   := {
                            trafficSignPictogram := p_trafficSignPictogram
                        },
                        pictogramCategoryCode := {
                            nature        := 2,
                            serialNumber  := 3
                        }
                    },
                    attributes   := omit
                }
            }
        } // End of template m_rSCode_iso14823_trafficSignPictogram
        
        template (value) RSCode m_rSCode_iso14823_publicFacilitiesPictogram := {
            layoutComponentId       := omit,
            code                    := {
                iso14823 := {
                    pictogramCode   := {
                        countryCode           := omit,
                        serviceCategoryCode   := {
                            publicFacilitiesPictogram := publicFacilities
                        },
                        pictogramCategoryCode := {
                            nature        := 2,
                            serialNumber  := 3
                        }
                    },
                    attributes   := omit
                }
            }
        } // End of template m_rSCode_iso14823_publicFacilitiesPictogram
        
        template (value) RSCode m_rSCode_iso14823_ambientOrRoadConditionPictogram (
            template (value) RSCode.code.iso14823.pictogramCode.serviceCategoryCode.ambientOrRoadConditionPictogram p_ambientOrRoadConditionPictogram := ambientCondition
        ):= {
            layoutComponentId       := omit,
            code                    := {
                iso14823 := {
                    pictogramCode   := {
                        countryCode           := omit,
                        serviceCategoryCode   := {
                            ambientOrRoadConditionPictogram := p_ambientOrRoadConditionPictogram
                        },
                        pictogramCategoryCode := {
                            nature        := 2,
                            serialNumber  := 3
                        }
                    },
                    attributes   := omit
                }
            }
        } // End of template m_rSCode_iso14823_ambientOrRoadConditionPictogram
        
    } // End of group generalIviContainerGroup
    } // End of group generalIviContainerGroup
    
    
    group layoutContainerGroup {
        
        template (value) LayoutContainer m_layoutContainer(
                                                 in template (value) LayoutContainer.layoutComponents p_layoutComponents := {m_layoutComponent}
        ) := {
            layoutId          := 1,
            height            := omit,
            width             := omit,
            layoutComponents  := p_layoutComponents
        } // End of template m_tcPart_basic
        
        template (present) LayoutContainer mw_layoutContainer(
                                                    template (present) LayoutContainer.layoutComponents p_layoutComponents := ?
        ) := {
            layoutId          := ?,
            height            := *,
            width             := *,
            layoutComponents  := p_layoutComponents
        } // End of template mw_tcPart_basic
        
        template (value) LayoutComponent m_layoutComponent := {
            layoutComponentId := 1,
            height            := 10,
            width             := 11,
            x                 := 12,
            y                 := 13,
            textScripting     := 1
        } // End of template m_layoutComponent
        
    } //end group layoutContainerGroup
    
    group roadConfigurationContainerGroup {
    group roadConfigurationContainerGroup {
        
        
        template (value) RccPart m_rccPart(
        template (value) RccPart m_rccPart(
@@ -750,10 +966,12 @@ module LibItsIvim_Templates {
        
        
        template (present) LaneInformation mw_laneInformation(
        template (present) LaneInformation mw_laneInformation(
                                                              template (present) LanePosition p_lanePosition := ?,
                                                              template (present) LanePosition p_lanePosition := ?,
                                                              template (present) Direction p_direction := ?,
                                                              template (present) LaneType p_laneType := ?,
                                                              template (present) LaneType p_laneType := ?,
                                                              template (present) LaneStatus p_laneStatus := ?
                                                              template (present) LaneStatus p_laneStatus := ?
        ) := {
        ) := {
            laneNumber           :=  p_lanePosition,
            laneNumber           :=  p_lanePosition,
            direction            :=  p_direction,
            validity             :=  *, //DTM
            validity             :=  *, //DTM
            laneType             :=  p_laneType,
            laneType             :=  p_laneType,
            laneTypeQualifier    :=  *, //CompleteVehicleCharacteristics
            laneTypeQualifier    :=  *, //CompleteVehicleCharacteristics
@@ -761,6 +979,21 @@ module LibItsIvim_Templates {
            laneWidth            :=  * //IVILaneWidth
            laneWidth            :=  * //IVILaneWidth
        }
        }
        
        
        template (value) LaneInformation m_laneInformation(
                                                              template (value) LanePosition p_lanePosition := LanePosition_innerHardShoulder_,
                                                              template (value) Direction p_direction := Direction_sameDirection_,
                                                              template (value) LaneType p_laneType := LaneType_traffic_,
                                                              template (value) LaneStatus p_laneStatus := LaneStatus_open_
        ) := {
            laneNumber           :=  p_lanePosition,
            direction            :=  p_direction,
            validity             :=  omit, //DTM
            laneType             :=  p_laneType,
            laneTypeQualifier    :=  omit, //CompleteVehicleCharacteristics
            laneStatus           :=  p_laneStatus,
            laneWidth            :=  omit //IVILaneWidth
        }
        
    } // End of group roadConfigurationContainerGroup
    } // End of group roadConfigurationContainerGroup
    
    
    group textContainerGroup {
    group textContainerGroup {
Loading