-
Philippe Gerum authored
This patch introduces a mechanism for registering external clocks dynamically, in addition to Xenomai's built-in core clock (nkclock). Each external clock may drive Xenomai timers (struct xntimer) using the common timer infrastructure. Xenomai's core clock has nanosecond resolution; it is paced by the platform timer (which is driven by the interrupt pipeline). External clocks are driven by arbitrary timer sources, directly managed by the client code. Each clock provides an internal interface with the timer support code, through a set of common operations (e.g. reading time, converting time values, programming the next shot if applicable). The external interface is pretty simple: - xnclock_register() for instantiating a new clock - xnclock_deregister() for dropping an existing clock - xnclock_tick() for signaling an incoming tick, so that timers driven by the clock are elapsed appropriately. Since we may now have multiple clocks, each driving their ow...
28eb37c8