Commit b5fb134a authored by fischerjo's avatar fischerjo
Browse files

ATSP ToDo Liste 25, 37 - 41, 61, 77 - 79, 82, 84

parent b8063e3a
Loading
Loading
Loading
Loading
+600 −485
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ module LibItsAtsp_Functions {
            unmap(self:acPort, system:acPort);
            unmap(self:utPort, system:utPort);
            unmap(self:cfPort, system:cfPort); 
            unmap(self:fsapPort, system:fsapPort);
            unmap(self:atspPort, system:atspPort);
            
            // Disconnect
            f_disconnect4SelfOrClientSync();
@@ -214,6 +214,9 @@ module LibItsAtsp_Functions {
	}
	
	group atspFunctions {
		
		group miSAP {

			/**
	         * @desc Wait for Registration Request from IUT 
	         * @param   p_linkID    Link-ID used by IUT
@@ -240,64 +243,6 @@ module LibItsAtsp_Functions {
				f_cnAwaitEventNotificationCI(p_linkID, mw_miEvent21218_5(mw_miCIStatusParam(c_ciStatusRegistered)), p_discard);
    	    } // End of function f_cnAwaitRegistrationCI	

	
		/**
		* @desc Send IN-UNITDATA.Request message
		* @param   p_source_addr	Source address value
		* @param   p_dst_addr		Destination address value
		* @param   p_data			Data to send
		* @param   p_priority		Priority value
		*/
		function f_utSendIN_UNITDATA_Request(
			in template(value) LLserviceAddr p_source_addr, 
			in template(value) LLserviceAddr p_dst_addr, 
			in template(value) INdata p_data,
			in template(value) UserPriority p_priority
		) runs on ItsCalm {
			var template UtEvent v_utEvent := m_utAtspEvent(m_inPrimitivesDownUDR(
																m_inUnitDataRequest(p_source_addr, p_dst_addr, p_data, p_priority)));
			log("*** f_fnIN_UNITDATA_Request: INFO: Sending IN-UNITDATA.request: ", v_utEvent, " ***");
			utPort.send(v_utEvent);
			
			if(PICS_IN_UNITDATA_STATUS)
			{
				var template UtEventInd v_result;
				var template UtEventInd v_recv := {
					utAtspEventInd := {
						inSapPrimitivesUp := {
							spRef := 1,
							servPrimitive := {
								IN_UNITDATA_STATUS_indication := {
									source_addr := p_source_addr,
									dest_addr := p_dst_addr,
									data := p_data,
									priority := p_priority,
									accessParams := m_inUnitdataDefaultAP,
									txStatus := c_ciINtxStatus_Success
								}
							}
						}
					}
				};
				tc_wait.start;
	            alt {
	                [] utPort.receive(v_recv){
	                    tc_wait.stop;
	                    log("*** f_utSendIN_UNITDATA_Request: INFO: IN-UNITDATA-STATUS.indication received ***");
	                }
	                [] utPort.receive(UtEventInd : { utAtspEventInd := ? } ) -> value v_result { 
	                    tc_wait.stop;
                        log("*** f_utSendIN_UNITDATA_Request: ERROR: An unexpected message was received ***", v_result);
                        f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
	                }
	                [] tc_wait.timeout {
                        log("*** f_utSendIN_UNITDATA_Request: ERROR: Timeout while waiting for event check result ***");
                        f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
	                }
	            } // End of 'alt' statement
			}
		}// End of function f_utSendIN_UNITDATA_Request
	
			/**
			* @desc Wait for a specific MI-REQUEST and confirm it
			* @param   p_expectedMI_Request		MI-Request to expect
@@ -405,7 +350,6 @@ module LibItsAtsp_Functions {
	           f_cnAwaitCommandConfirm(p_sentMI_Command, c_ciErrStatusSuccess, p_discard);
	        } // End of function f_cnAwaitCommandConfirmSuccess
	
		
			/**
			 * @desc Await confirmation with a specific content for a specific command
			 * @param   p_sentMI_Command    Command to wait confirmation for
@@ -486,7 +430,6 @@ module LibItsAtsp_Functions {
											mw_miCIStatusParam(p_expectedStatus)), p_discard);
			} // End of function f_cnTriggerStateChangeAndWaitCI

	
			/**
	         * @desc Wait for a specific event, respond with confirmation 
	         * @param   p_linkID    Link-ID used by IUT
@@ -501,7 +444,6 @@ module LibItsAtsp_Functions {
				f_cnAwaitAndConfirmMI_RequestCI(mw_miEventsRequest(p_linkID, ?, p_ev21218), p_discard);
			} // End of function f_cnAwaitEventNotificationCI
	
	
			/**
	         * @desc Set parameter values
	         * @param   p_linkID    Link-ID used by IUT
@@ -643,9 +585,7 @@ module LibItsAtsp_Functions {
										m_miGetRequest(
											p_linkID,
											v_commandRef,
									{ c_ciIParamNoCiStatus }
								)
							);
											{ c_ciIParamNoCiStatus }  )  );
				cfPort.send(v_getCIparam);
			
				v_cfGetCiStatusValue := mw_cfAtspEventIndGetConf(
@@ -678,7 +618,6 @@ module LibItsAtsp_Functions {
				return v_ciStatus;
			}// End of function f_cnGetCiStatusParameterValueCI


			/**
	         * @desc Test addressability of CI using Get current CiStatus IParameter value
	         * @param   p_linkID    Link-ID used by IUT
@@ -727,8 +666,131 @@ module LibItsAtsp_Functions {
		        } // End of 'alt' statement
			}// End of function f_cnTestGetCiStatusParameterValueNoReplyExpected
			
		} // End of group miSAP
		
		group utPort {

			/**
			* @desc Send IN-UNITDATA.Request message
			* @param   p_source_addr	Source address value
			* @param   p_dst_addr		Destination address value
			* @param   p_data			Data to send
			* @param   p_priority		Priority value
			*/
			function f_utSendIN_UNITDATA_Request(
				in template(value) LLserviceAddr p_source_addr, 
				in template(value) LLserviceAddr p_dst_addr, 
				in template(value) INdata p_data,
				in template(value) UserPriority p_priority
			) runs on ItsCalm {
				var template UtEvent v_utEvent := m_utAtspEventDown(m_inPrimitivesDownUDR(
																	m_inUnitDataRequest(p_source_addr, p_dst_addr, p_data, p_priority)));
				log("*** f_fnIN_UNITDATA_Request: INFO: Sending IN-UNITDATA.request: ", v_utEvent, " ***");
				utPort.send(v_utEvent);
				
				if(PICS_IN_UNITDATA_STATUS)
				{
					var template UtEventInd v_result;
					var template UtEventInd v_recv := {
						utAtspEventInd := {
							inSapPrimitivesUp := {
								spRef := 1,
								servPrimitive := {
									IN_UNITDATA_STATUS_indication := {
										source_addr := p_source_addr,
										dest_addr := p_dst_addr,
										data := p_data,
										priority := p_priority,
										accessParams := m_inUnitdataDefaultAP,
										txStatus := c_ciINtxStatus_Success
									}
								}
							}
						}
					};
					tc_wait.start;
	    	        alt {
	        	        [] utPort.receive(v_recv){
	            	        tc_wait.stop;
	                	    log("*** f_utSendIN_UNITDATA_Request: INFO: IN-UNITDATA-STATUS.indication received ***");
	                	}
		                [] utPort.receive(UtEventInd : { utAtspEventInd := ? } ) -> value v_result { 
		                    tc_wait.stop;
        	                log("*** f_utSendIN_UNITDATA_Request: ERROR: An unexpected message was received ***", v_result);
            	            f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
	            	    }
	                	[] tc_wait.timeout {
                        	log("*** f_utSendIN_UNITDATA_Request: ERROR: Timeout while waiting for event check result ***");
	                        f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
		                }
	    	        } // End of 'alt' statement
				}
			}// End of function f_utSendIN_UNITDATA_Request

		} // End of group utPort
		
		group atspPort {

			/**
			* @desc Send IN-UNITDATA.Request message
			* @param   p_source_addr	Source address value
			* @param   p_dst_addr		Destination address value
			* @param   p_data			Data to send
			* @param   p_priority		Priority value
			*/
			function f_atspSendIN_UNITDATA_Request(
				in template(value) LLserviceAddr p_source_addr, 
				in template(value) LLserviceAddr p_dst_addr, 
				in template(value) INdata p_data,
				in template(value) UserPriority p_priority
			) runs on ItsCalm {
				var template AtspReq v_atspReq := m_atspReq(m_inPrimitivesDownUDR(
																	m_inUnitDataRequest(p_source_addr, p_dst_addr, p_data, p_priority)));
				log("*** f_fnIN_UNITDATA_Request: INFO: Sending IN-UNITDATA.request: ", v_atspReq, " ***");
				atspPort.send(v_atspReq);
				
				if(PICS_IN_UNITDATA_STATUS) // this is applicable for the radio used to connect ITS test system with IUT
				{
					var template AtspInd v_result;
					var template AtspInd v_recv := {
							msgIn := {
								spRef := 1,
								servPrimitive := {
									IN_UNITDATA_STATUS_indication := {
										source_addr := p_source_addr,
										dest_addr := p_dst_addr,
										data := p_data,
										priority := p_priority,
										accessParams := m_inUnitdataDefaultAP,
										txStatus := c_ciINtxStatus_Success
																	}
													}
										}
						}
					tc_wait.start;
	    	        alt {
	        	        [] atspPort.receive(v_recv){
	            	        tc_wait.stop;
	                	    log("*** f_utSendIN_UNITDATA_Request: INFO: IN-UNITDATA-STATUS.indication received ***");
	                	}
		                [] atspPort.receive(AtspInd : { msgIn := ? } ) -> value v_result { 
		                    tc_wait.stop;
        	                log("*** f_utSendIN_UNITDATA_Request: ERROR: An unexpected message was received ***", v_result);
            	            f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
	            	    }
	                	[] tc_wait.timeout {
                        	log("*** f_utSendIN_UNITDATA_Request: ERROR: Timeout while waiting for event check result ***");
	                        f_selfOrClientSyncAndVerdict("error", e_timeout); // to be checked
		                }
	    	        } // End of 'alt' statement

				} // End of if block
				
			} // End of function f_atspSendIN_UNITDATA_Request

		} // End of group atspPort
		
	}  // End of group atspFunctions

	group atspAltsteps {
        
@@ -775,7 +837,7 @@ module LibItsAtsp_Functions {
	
	group atspPIXITHelperFunctions
	{
		//used to address CI itself
		//used to address CI in IUT itself
		function f_get_CI_LinkID() return Link_ID{
			if(PICS_MAC48)
			{
@@ -788,12 +850,24 @@ module LibItsAtsp_Functions {
			}
	    } // end 
		
		//used to address CI in the Test System itself
		function f_get_TesterCI_LinkID() return Link_ID{
			if(PICS_MAC48)
			{
	        	return {remoteCIID := PX_TESTER_REMOTE_CIID_LOCAL_CI, localCIID := PX_TESTER_LOCAL_CIID}
			}
			else
			{
			//TODO: LegacyCIIDs
				return {remoteCIID := PX_TESTER_REMOTE_CIID_LOCAL_CI, localCIID := PX_TESTER_LOCAL_CIID};
			}
	    } // end 
		
		// used to send via a UC-VCI
		// source_address field
		// use f_get_CI_LinkID
		
		// used to send via a UC-VCI
		// used to send via a UC-VCI in the IUT
		// destination_address field
		function f_get_DestinationVCI_UC_LinkID() return Link_ID{
	        if(PICS_MAC48)
@@ -805,9 +879,23 @@ module LibItsAtsp_Functions {
			//TODO: LegacyCIIDs
				return {remoteCIID := PX_REMOTE_CIID_UC, localCIID := PX_LOCAL_CIID};
			}
	    } // end 
	    } // End of function f_get_DestinationVCI_UC_LinkID
		
		// used to send via a BC-VCI
		// used to send via a UC-VCI in the Test System to the IUT
		// destination_address field
		function f_get_TesterDestinationVCI_UC_LinkID() return Link_ID{
	        if(PICS_MAC48)
			{
	        	return {remoteCIID := PX_TESTER_REMOTE_CIID_LOCAL_CI , localCIID := PX_TESTER_LOCAL_CIID}
			}
			else
			{
			//TODO: LegacyCIIDs
				return {remoteCIID := PX_TESTER_REMOTE_CIID_UC, localCIID := PX_TESTER_LOCAL_CIID};
			}
	    } // End of function f_get_DestinationVCI_UC_LinkID

		// used to send via a BC-VCI in the IUT
		// source_address field
		// use f_get_CI_LinkID
		
@@ -823,9 +911,23 @@ module LibItsAtsp_Functions {
			//LegacyCIIDs
		        return {remoteCIID := PX_REMOTE_CIID_BC, localCIID := PX_LOCAL_CIID}
			}
		} // End of function f_get_DestinationVCI_BC_LinkID

		// used to send via a BC-VCI in the Test System to the IUT
		// destination_address field
		function f_get_TesterDestinationVCI_BC_LinkID() return Link_ID{
	        if(PICS_MAC48)
			{
		        return {remoteCIID := PX_REMOTE_CIID_BC, localCIID := PX_TESTER_LOCAL_CIID}
			}
			else
			{
			//LegacyCIIDs
		        return {remoteCIID := PX_REMOTE_CIID_BC, localCIID := PX_TESTER_LOCAL_CIID}
			}
		} // End of function f_get_TesterDestinationVCI_BC_LinkID
		
		// used to send via a BC-VCI
		// used to send via a BC-VCI in the IUT
		// source_address field
		// use f_get_CI_LinkID
		
@@ -842,10 +944,23 @@ module LibItsAtsp_Functions {
		        return {remoteCIID := PX_REMOTE_CIID_MC, localCIID := PX_LOCAL_CIID}
			}

		} // end 
		
		} // End of function f_get_DestinationVCI_MC_LinkID
		
		// used to send via a MC-VCI in the Test System to the IUT
		// destination_address field
		function f_get_TesterDestinationVCI_MC_LinkID() return Link_ID{
	        if(PICS_MAC48)
			{
		        return {remoteCIID := PX_REMOTE_CIID_MC, localCIID := PX_TESTER_LOCAL_CIID}
			}
			else
			{
			//LegacyCIIDs
		        return {remoteCIID := PX_REMOTE_CIID_MC, localCIID := PX_TESTER_LOCAL_CIID}
			}

		} // End of function f_get_TesterDestinationVCI_MC_LinkID
		
	} // End of group atspPIXITHelperFunctions
	
} // End of module LibItsAtsp_Functions
+22 −2
Original line number Diff line number Diff line
@@ -98,6 +98,19 @@ module LibItsAtsp_Pixits {
//        modulepar EUI64 PX_LOCAL_CIID :=     '000C42FFFF974497'O; // Peek setting (@office)
        
        /**
         * @desc Identifies RemoteCIID of VCI on ITS test system
         */
//        modulepar EUI64 PX_TESTER_REMOTE_CIID_LOCAL := 'FFFFFFFFFEFFFFFF'O; // DNI
		modulepar EUI64 PX_TESTER_REMOTE_CIID_LOCAL_CI := PX_TESTER_LOCAL_CIID;

		/**
         * @desc Identifies the VCI localCIID on ITS test system (e.g. It coud be the G5 radio MAC address of the IUT)
		 * NOTE 0A0B0CFFFE0D0E0F is MAC address 0A:0B:0C:0D:0E:0F
         */
        modulepar EUI64 PX_TESTER_LOCAL_CIID := 'FFFFFFFFFEFFFFFF'O    ; // DNI
//        modulepar EUI64 PX_TESTER_LOCAL_CIID :=     '0A0B0CFFFE0D0E0F'O; // tbd

		/**
         * @desc Identifies the VCI for broadcast on ITS-S router 
		 * Note that U/L bit is set to 1 for broadcast 
         */
@@ -109,11 +122,18 @@ module LibItsAtsp_Pixits {
        modulepar EUI64 PX_REMOTE_CIID_MC := 'EF0008FFFE011234'O;
        
        /**
         * @desc Identifies the VCI for unicast on ITS-S router (peer station)
         * @desc Identifies the VCI for unicast on ITS-S router (peer station) (
		 * this is the MAC address of the ITS test system
         */
        modulepar EUI64 PX_REMOTE_CIID_UC := '030008FFFE010001'O; // Commsignia setting
//        modulepar EUI64 PX_REMOTE_CIID_UC := '030008FFFF010001'O; // Peek setting

        /**
         * @desc Identifies the VCI for unicast transmission to the IUT) (
		 * this is the MAC address of the IUT
         */
        modulepar EUI64 PX_TESTER_REMOTE_CIID_UC := '030008FFFE010001'O; // tbd

    } // End of group RemoteLocalCIID


+588 −768

File changed.

Preview size limit exceeded, changes collapsed.

+2 −2

File changed.

Contains only whitespace changes.