Set Trigger Then Wait Reaction

Sets network elements (triggers) over an Ethernet Bus/Legacy Bus.

Once all the sets are Valid, the keyword starts checking the reception of the network elements (reaction) over an EthernetBus/LegacyBus/IoChannel. The keyword succeeds if all the triggers Set, and the reactions check conditions are met, Otherwise it fails.

Arguments Description

signal_path_to_set (List[str]): The list of signals/ethernet paths to set.

value_to_set (List[str]): The list of values to set.

It could contain one value or a pair of values in the format (values,update_and_send), such as [“1”] or [“1,true”] or [“1,false”] .

timeout_to_set (int): The maximum accepted delay, in milliseconds, for the signal to be set on hardware (set is confirmed).

signals_paths_to_check (List[str]): The list of signals, ethernet or IOChannels paths to check.

value_to_check (List[str]): The list of signals/ethernet/IOChannels values to check.

timeout_to_check (int): The timeout to monitor the response of the DUT in milliseconds.

compare_operations (list[int], optional): The list of comparison operations applied to the received values and values to be checked.

Each sign is associated with a respective value number. Defaults to list of equality operations.

CompareOperation | value | Sign |
EQ | 0 | == |
GE | 1 | >= |
GT | 2 | > |
LE | 3 | <= |
LT | 4 | < |
NE | 5 | != |

masks (list[int], optional): The masks applied to the recieved value to check. Defaults to list of 0xFFFFFFFFFFFFFFFF.

Returns

bool: True if the set and check were successful; otherwise, false.

Examples

**| # Example (1): Set a signal over a leagcy bus and check the reception of an Npdu.

${signal_paths_to_set}= Create List ${Bus}::${MsgId}::${SignalnName}
${values_to_set}= Create List 5,true
${timeout_to_set}= Set Variable 100
${signals_paths_to_check}= Create List ${Bus}::${NpduId}::${NpduName}
${value_to_check}= Create List 10
${timeout_to_check}= Set Variable 500
${compare_operations}= Create List ${0}
${masks}= Create List ${0xFFFFFFFFFFFFFFFF}
${result}= Set Trigger Then Wait Reaction ${signal_paths_to_set} ${values_to_set} ${timeout_to_set} ${signals_paths_to_check} ${value_to_check} ${timeout_to_check} ${compare_operations} ${masks}
# The keyword will set the value 5 to the signal “${Bus}::${MsgId}::${SignalnName}” .
# If the value is NOT sent on the hardware within the following 100 ms, the keyword fails.
# Otherwise, the keyword will start monitoring the reception of the Npdu “${EcuName}::${NpduId}::${NpduName}” within the 500 ms AFTER THE SET.
# If the npdu is recieved with the value 10, the keyword succeeds; if not, the keyword fails.
# Example (2): Some IP Set , NPDU set / IOChannel Checks
${signal_paths_to_set}= Create List ${EcuName1}::${ServiceID}::${InstanceID}::${messageID}::${member} ${EcuName2}::${NpduId}::${NpduName}
${values_to_set}= Create List 5,true 0x02,true
${timeout_to_set}= Set Variable 10
${signals_paths_to_check}= Create List HW::${IOChannelName1}::${attributeName1} HW::${IOChannelName2}::${attributeName2}
${value_to_check}= Create List 5.5 10
${timeout_to_check}= Set Variable 200
${compare_operations}= Create List ${2} ${2}
${result}= Set Trigger Then Wait Reaction ${signal_paths_to_set} ${values_to_set} ${timeout_to_set} ${signals_paths_to_check} ${value_to_check} ${timeout_to_check} ${compare_operations}
# The keyword will set the value 5 to the member “${EcuName1}::${ServiceID}::${InstanceID}::${messageID}::${member}”,
# and the value 2 to the npdu ${EcuName2}::${NpduId}::${NpduName}.
# If one of the values is NOT sent in the hardware within the following 10 ms, the keyword fails.
# Otherwise, the keyword will start monitoring the reception of the attributes ” HW::${IOChannelName1}::${attributeName1}” and “HW::${IOChannelName2}::${attributeName2}” within the next 200 ms AFTER THE SET.
# If the values are respectively greater then 5.5 and 10, The keyword will succeed; if not, the keyword will fail.**