Notations

RBS Notations

Some methods in the scripting API accept specific notations.

The new RBS API is designed to be more user friendly, setting, getting, resetting and firing fields in the new RBS is done directly from the ECU node using set_value, reset_value and get_value methods.
All these methods take as argument a selector string that indicates which node manipulate, and an additional optional argument the member in that node.
The selector is the name (or unique Id if possible) of the hierarchy to the desired member separated by a . character where instance id may be indicated using @ character.

Note

  • One of the hierarchy elements value can be replaced with * character, this is to indicate that this applies to all nodes of that hierarchy level.

  • When applicable, the Id of the element can be a decimal value, hexadecimal value (preceded by 0x) or binary value (preceded by 0b)

The selector follows the following format
  • Ethernet Nodes:
    • service_name_or_id @ instance_id . node_name_or_id, in this case, the member can either be null to indicate the whole member value will change, and the node represents the field or event to manipulate.

Note

  • instance_id is an optional hierarchy member.

  • For Fields, the member _id could be any unique identifier the field has (Notifier, Setter or Getter).

Examples of using selector

TesterECU.get_value('EnhancedTestabilityServiceLow@0x01.TestFieldUINT8') # returns the value of TestFieldUINT8 in EnhancedTestabilityServiceLow of instance_id 0x01
TesterECU.set_value('EnhancedTestabilityServiceLow.TestFieldUINT8', 5) # sets the value 5 to TestFieldUINT8 in EnhancedTestabilityServiceLow
TesterECU.reset_value('0x0103.0x8006') # resets the value of TestFieldUINT8 (Notifier identifier 0x8006) in EnhancedTestabilityServiceLow (service_name 0x0103)
TesterECU.reset_value('EnhancedTestabilityServiceLow.‭16640‬') # resets the value of TestFieldUINT8 (Notifier identifier 0x8006) in EnhancedTestabilityServiceLow (mixing input type is allowed)
The member (if applicable) follows a very specific and simple format
  • Member name string, if the member is an array, then you can specify the index number, but the member is always a string ('0' and not 0 for index).

  • As long as the member has child members, you can chain them and separate them with dots member_name . child_name . child_child_name.

Examples of using member

ECU.get_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'uINT8Value') # returns the value of the uINT8Value from the TestEventUINT8E2E parameters
ECU.get_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'cRC') # returns the value of the complex cRC from the TestEventUINT8E2E parameters
ECU.set_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'uINT8Value',  8) # sets the value 8 to uINT8Value from the TestEventUINT8E2E parameters
ECU.reset_value('0x0004.0x‭8004‬, 'uINT8Value') # resets the value of uINT8Value from the TestEventUINT8E2E parameters
# in case of children in a deeper level
ECU.get_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'cRC.datatypeRef') # returns the value of the cRc.datatypeRef from TestEventUINT8E2E
# in case of arrays
ECU.get_value('EnhancedTestabilityServiceLow.TestFieldUINT8Array', '0') # returns the value of the first element of the array
ECU.set_value('EnhancedTestabilityServiceLow.TestFieldUINT8Array', '0', 2) # sets the value of the first element of the array
ECU.set_value('EnhancedTestabilityServiceLow.TestFieldUINT8Array', [2]) # sets the value of the entire array
# in case of complex
ECU.set_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', {'length': {'datatypeRef': 2}, {'counter': 'datatypeRef': 6}) # sets the value of the complex TestEventUINT8E2E
ECU.set_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'length', {'datatypeRef': 2}) # sets the value of the ``length`` parameter in the complex TestEventUINT8E2E
ECU.set_value('EnhancedTestabilityServiceLow.TestEventUINT8E2E', 'length.datatypeRef', 2) # sets the value of the ``datatypeRef`` child of the ``length`` parameter in the complex event TestEventUINT8E2E

Adapter Naming Notations

The special name of the adapter follows the following format:

  • CM_CMID:Bus_Type_BusSpecId => CM_48:CAN_120, CM_52:ETH_110 (BusSpecId in Hex but without 0x0)

  • BRSPY_LastByteOfMACAddress:Bus_Type_ChannelIndex => BRSPY_15:ETH_1A, BRSPY_00:CAN_A

  • BTS_LastByteOfMACAddress:Bus_Type_ChannelIndex => BTS_17:CAN_A

  • MG_LastByteOfMACAddress:Bus_Type_ChannelIndex => MG_14:CAN_B

  • VECTOR_SerialNumber:Bus_Type_ChannelIndex => VECTOR_0:CAN_1,VECTOR_0:LIN_1

  • For ethernet adapters, name will be :Adapter Name => Sender, Receiver