Check Multiple Cyclic Messages With Timeout

Checks during a timeout, whether a message within a message path is cyclic, with a period equal to a specific cycle

and with a tolerance equal to a cycle deviation value in milliseconds.

Arguments Description

message_path list(str): The message path should be in the format: [BusName::MsgId].

cycle list(int): The expected cycle of the message in milliseconds.

cycle_deviation list(int): The tolerance in milliseconds.

timeout (int): The delay to check the cyclicity in milliseconds.

Returns

bool: True if the cycle was respected during the timeout; otherwise, False.

Example

# In this example, the keyword will start monitoring for the next 1200 milliseconds and check if the interval
# between the timestamps of received messages is within the range of 200?20 ms.
# If all occurrences satisfy the condition, the keyword passes.
# However, if at least one occurrence doesn’t meet the period, the keyword should fail. ${Message_path} = create list BusName::MsgId ${cyclic} = create list 200 &{cyclicdeviation} = create list 20
Check Multiple Cyclic Messages With Timeout ${Message_path} ${cyclic} &{cyclicdeviation} ${1200}

Note

No message observer needs to be started to monitor the message.

If a message observer for that message is already active, all received values of that observer will be cleared.

Nevertheless, the observer will not be stopped after the timeout and will continue monitoring the message.