When scheduling ARINC 429 traffic, having fine control of sending the messages greatly simplifies your application.
For instance, having the ability to send one or more messages using a FIFO based scheduler greatly simplifies your application.
But, when you need a more complex pattern of commands, you need a very capable scheduler. You should have one that gives you fine grain control for system level communications.
There are multiple ways to define a label schedule. A simple yet powerful approach is to treat the label scheduler as one big label table, augmented with control flags:
Dependent Entries - Have Entries that are dependent on a Master Entry.
Time Delay - A countdown of how many scheduler iterations to wait till this command is sent.
Recycle Flag – This flag tells the scheduler to only run this entry once or repeat it every cycle.
Finished Flag – tells the application that this entry was sent. Now is the time to replace or update this particular command.
Time Bases - Have different time bases so that entries can be sent at different frequencies.
For instance, you should be able to set up a scheduler to…
- Send a Master Entry once and only once.
- Send a Master Entry without dependent entries at 10kHz
- Send a Master Entry without dependent entries at 5kHz
- Send a Master Entry without dependent entries at 2kHz
- Send a Master Entry with Dependent Entries where 1 of the 3 Dependent Entries is only transmitted the third time the Master Entry is transmitted.
- Notify you when an entry is transmitted.