User Tools

Site Tools


Test your Realtime System

You might wonder how precise the periodic execution of your safety system and control system is. Keep in mind that EEROS will run on systems with or without realtime capabilities. However, the latencies will greatly affect the precision of the periodic execution of the threads running the safety and control system.

In the EEROS library you will find a directory with examples. For this example see rtTest.cpp.

Open a shell in the build directory of your EEROS library and run rtTest. This examples does:

  • Creates a single periodic task with a period of 1ms
  • Measures the latency of the repetition frequency

You can start the program with the option -s passing a number of seconds after which the program stops.

$ sudo ./examples/rtTest/rtTest -s 60 // run for a minute

IMPORTANT You have to run a program using real time threads with root privileges.

The program will print out the cumulative runtime measurements of

  • maximum period
  • minimum period
  • mean period

once per second. A typical result would be:

2016-11-30 08:55:09    I:  ss: period max: 0.00105021   period min: 0.000949614   period mean: 0.000999999

The maximum period during the runtime of the program was 1.050ms, the minimum period was 0.950ms. This figures will vary depending on your platform and operating system support. For a real-life test try to run other programs concurrently. E.g.

$ dd if=/dev/zero of=/dev/null // gives full 100% load with low priority
getting_started/tutorials/rttest.txt · Last modified: 2021/03/29 18:20 by ursgraf