Monitor Always Signals Mixed

Checks all received values for each signal from signal paths during the same timeout

and verifies the comparison operation against the provided signal values. This keyword supports Ethernet, Legacy and IO signals.

Arguments Description

signals_paths (list[str]): The list of signals paths.

Each path should be in the format: BusName::MsgId::SignalName.

types (list[int])The list of signal types.

LegacySignal = 0, EthernetSignal = 1, IOChannelVoltage = 2, IOChannelCurrent = 3, IOChannelDutyCycle = 4, IOChannelFrequency = 5, IOChannelPower = 6

signals_values (list[str]): The list of expected values for the signals.

timeout (int): The timeout in milliseconds for monitoring the signals.

masks (list[int], optional): The mask applied on the recieved values during comparison.

Defaults to ${Masks} = Create List ${0xFFFFFFFFFFFFFFFF} ${0xFFFFFFFFFFFFFFFF} …

comparison (list[int], optional): The list of comparison operations. Each operation corresponds to a signal.

Use constants or enums to represent comparison operations (e.g., CompareOperation.EQ.value).

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

Returns

bool: True if all signal paths verify the comparison operation against the expected signal values

sequentially in the same period; otherwise, False.

Example

${signal_list} = Create List ${BusName1}::${MsgId1}::${SignalName1} ${BusName2}::${MsgId2}::${SignalName2} ${BusName3}::${MsgId3}::${SignalName3} ${BusName4}::${MsgId4}::${SignalName4}
${types} = Create List ${1} ${1} ${1} ${2}
${expected_values} = Create List 5 5 5 11.5
${Masks} = Create List ${0xFFFFFFFFFFFFFFFF} ${0xFFFFFFFFFFFFFFFF} ${0xFFFFFFFFFFFFFFFF} ${0xFFFFFFFFFFFFFFFF}
${comparison} = Create List ${0} ${0} ${0} ${0}
Monitor Always Signals Mixed ${signal_list} ${types} ${expected_values} ${1000} ${comparison} ${Masks}

Note

  • No Signals observer needs to be started to monitor the signals.

  • If no value is received during the timeout, the last received signal value will be checked.

  • If a single observer on that signal is already activated, all the received values of that observer will be cleared. Nevertheless, the observer will not be stopped after the timeout and will continue monitoring the signal.