The current draft guarantees that all UAVCAN transports support at least eight distinct priority levels. We should consider defining human-friendly names for each of them in order to aid human developers when choosing priority levels to use in their systems, and to remove confusion when dealing with inverted priority numbers (such as those used in CAN, where lower values preempt higher values). The current draft of the specification already contains such mnemonics, but it’s been decided earlier that their names are seriously lacking and better alternatives should be searched for.
Here is my proposition (I am not particularly happy about it, but my thesaurus is failing me):
- Immediate (highest)
- Extra high
- Extra low
- Background (lowest)
The Normal priority level is intentionally shifted down in order to make prioritization of time-sensitive data more flexible, whereas low-priority data are expected to be less sensitive to that.