Commit 6f6872f8 authored by Yann Garcia's avatar Yann Garcia
Browse files

Building AtsSAEM

parent 0ca1d3a0
Loading
Loading
Loading
Loading
+0 −139
Original line number Diff line number Diff line
/**
 *    @author   ETSI / TTF T053
 *   @desc     Module containing types and values for AVM Protocol
 *    @copyright   ETSI Copyright Notification
 *                 No part may be reproduced except as authorized by written permission.
 *                 The copyright and the foregoing restriction extend to reproduction in all media.
 *                 All rights reserved.
 *
 */
module LibItsSaem_TypesAndValues {

  // LibCommon
  import from LibCommon_BasicTypesAndValues all;
  import from LibCommon_DataStrings all;

  // LibIts
  import from ETSI_ITS_CDD language "ASN.1:1997" all;
  import from SAEM_PDU_Descriptions language "ASN.1:1997" all;

  group certificates {

    const charstring PX_CERT_IUT_SAEM_02 := "CERT_IUT_SAEM_BO_02_AT";
    const charstring PX_CERT_IUT_SAEM_03 := "CERT_IUT_SAEM_BO_03_AT";
    const charstring PX_CERT_IUT_SAEM_04 := "CERT_IUT_SAEM_BO_04_AT";
    const charstring PX_CERT_IUT_SAEM_05 := "CERT_IUT_SAEM_BO_05_AT";
    const charstring PX_CERT_IUT_SAEM_06 := "CERT_IUT_SAEM_BO_06_AT";
    const charstring PX_CERT_IUT_SAEM_07 := "CERT_IUT_SAEM_BO_07_AT";
    const charstring PX_CERT_IUT_SAEM_08 := "CERT_IUT_SAEM_BO_08_AT";
    const charstring PX_CERT_IUT_SAEM_09 := "CERT_IUT_SAEM_BO_09_AT";
    const charstring PX_CERT_IUT_SAEM_10 := "CERT_IUT_SAEM_BO_10_AT";
    const charstring PX_CERT_IUT_SAEM_11 := "CERT_IUT_SAEM_BO_11_AT";
    const charstring PX_CERT_IUT_SAEM_12 := "CERT_IUT_SAEM_BO_12_AT";
    const charstring PX_CERT_IUT_SAEM_13 := "CERT_IUT_SAEM_BO_13_AT";
    const charstring PX_CERT_IUT_SAEM_14 := "CERT_IUT_SAEM_BO_14_AT";
    const charstring PX_CERT_IUT_SAEM_15 := "CERT_IUT_SAEM_BO_15_AT";
    const charstring PX_CERT_IUT_SAEM_16 := "CERT_IUT_SAEM_BO_16_AT";

  }

  group utPrimitives {

    /**
     * @desc Upper Tester message to initialize IUT 
     * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
     */
    type record UtSaemInitialize {
      Oct8 hashedId8 
    } with {
      variant "FIELDORDER(msb)"
    }

    /**
     * @desc Upper Tester results message of the AVM IUT
     * @member utSaemInitialize                -
     * @member utSaemTriggerResult             -
     * @member utSaemChangePositionResult      -
     */
    type union UtSaemResults {
      boolean utSaemInitializeResult,
      boolean utSaemTriggerResult
    } with {
      variant ""
     } // End of type UtSaemResults
	
    /**
     * @desc 
     */
    type union UtSaemTrigger {
      octetstring dummy
    } with {
      variant ""
    }
        
    /**
     * @desc Upper Tester message to check event/status on AVM IUT 
     */
    type record UtSaemEventInd {
      ParkingInformationMessage saemMsg
    } with {
      variant "";
      encode (saemMsg) "LibItsSaem_asn1";
    }
        
    /**
     * @desc List of Upper Tester messages to check event/status on AVM IUT 
     */
    type record of UtSaemEventInd UtSaemEventIndList;
        
  } with {
    encode "UpperTester"
    variant ""
  } // end utPrimitives

  group facilityPrimitives {
          
    group fa1Primitives {
        
        /**
          * @desc FA1 `SAEM Indication Primitive 
          */
        type record SaemInd {
            ParkingInformationMessage         msgIn,
            UInt64                            recvTime,
            UInt8                             gnNextHeader optional,
            UInt8                             gnHeaderType optional,
            UInt8                             gnHeaderSubtype optional,
            UInt32                            gnLifetime optional,
            UInt8                             gnTrafficClass optional,
            UInt16                            btpDestinationPort optional,
            UInt16                            btpInfo optional,
            Bit256                            ssp optional,
            UInt32                            its_aid optional
        }
        with {
              encode (msgIn) "PER"
        }

        /**
          * @desc FA1 SAEM Request Primitive 
          */
        type record SaemReq {
            ParkingInformationMessage msgOut
        }
        with {
              encode (msgOut) "PER"
        }

    } // end fa1Primitives
          
  } // End of group facilityPrimitives
  with {
      variant ""
      encode "LibIts_Interface"
  } // end interfacePrimitives    
    
}
with {
  encode "LibItsSaem"
  }