vector.com|Contact
Search tips

apple banana
Find rows that contain at least one of the two words.

+apple +juice
Find rows that contain both words.

+apple macintosh
Find rows that contain the word 'apple', but rank rows higher if they also contain 'macintosh'.

+apple -macintosh
Find rows that contain the word 'apple' but not 'macintosh'.

+apple ~macintosh
Find rows that contain the word 'apple', but if the row also contains the word 'macintosh', rate it lower than if row does not. This is "softer" than a search for '+apple -macintosh', for which the presence of 'macintosh' causes the row not to be returned at all.

+apple +(>turnover >strudel)
Find rows that contain the words 'apple' and 'turnover', or 'apple' and 'strudel' (in any order), but rank 'apple turnover' higher than 'apple strudel'.

apple*
Find rows that contain words such as 'apple', 'apples', 'applesauce', or 'applet'.

"some words"
Find rows that contain the exact phrase 'some words' (for example, rows that contain 'some words of wisdom' but not "some noise words").

By continuing to use this site you agree to the use of cookies. For more information and to find out how to change this click here. Accept Cookies
Please enable cookies in your browser for this website.
Search:
Advanced search

How to access to Some/IP PDUs

Last updated: 2018-01-18
Question:
How can Some/IP PDUs be accessed?
Answer:

Since CANoe 10 SP4 it is possible to access all Some/IP PDUs using the on PDU * Event handler:

on PDU *
{
       if (this.LongHeaderID ==0x7D00065  )
      {
        write ("Some/IP PDU received: %x length %d", this.LongHeaderID, this. PduLength);
       }
}

 

Hint:

Keyword this is an untyped PDU object. The data contains the SOME/IP header and payload and no security selectors are available.

If validation in CAPL is required and:

  1. The AUTOSAR CANoeILNL_AUTOSAR_Eth.dll is configured, then the OnAREthProcessRxMessage-Callback can be used to access the secure information of the subscribed services, as indicated by the following code:


    long OnAREthProcessRxMessage (dword messageHandle, long rxChannel)
    {
      dword msgId;

      msgID = AREthGetMessageId (messageHandle);


      if (msgId !=0xFFFF8100)
      {
        char text [200];
        char validationState[10];


        switch(AREthGetSecurityValidationState(messageHandle))
        {
         case  0: strncpy( validationState, "NOT-VALIDATED", elcount(validationState) ); break;
         case  1: strncpy( validationState, "PASSED"       ,
    elcount(validationState) ); break;
         case -1: strncpy( validationState, "FAILED"       ,
    elcount(validationState) ); break;
         default: strncpy( validationState, "ERROR"        , elcount(validationState) );
    break;
        }

      }
      return 1;
    }

  2. The SomeIP_IL.dll is configured, then the OnSomeIpProcessRxMessage-Callback can be used. Just replace ..AREth…. prefix in the above code by …SomeIP… (i.e. replace AREthGetMessageId by SomeIpGetMessageId).

 
Article Options
2018-01-18
Views: 1890