Skip to main content

Scheduling

Control profiles have schedule points that needs to be executed in the future following a specific timeline.

Basic Rules

  • All schedule points must have a timestamp and a value.
  • The first schedule point must be within a tolerance of the current time.
  • All points must be in increasing order.

If a control profile is received and does not follow these rules, the whole message is dropped and a warning is printed in the console.

If a control profile does not contain any scheduled points, then it is executed as is, and no schedule is started.

Execution Procedures

All the points that are scheduled in the past (before now) and inside the tolerance are executed together in a message with the original timestamp and with all the non-scheduled values.

Then, each point is executed at the provided timestamp. Points share the same timestamp are executed together.

If another valid scheduled control profile is received while a schedule is in progress, it is started in parallel with the first schedule.