Implementation of a duty cycled CC2420 link. The link is turned on and off based on the schedules in the SP Neighbor Table. A link is only turned on if it has a schedule and either (1) messages are pending for that neighbor or (2) the listen flag is set for that neighbor.
Neighbors can contain overlapping schedules, and the union of all of the current schedules will be the actual active period.
WARNING: Do not modify neighbors while they are "on" or "busy". If the SP_FLAG_LINK_ACTIVE flag is set while accessing the neighbor schedule, do not modify it until the flag is cleared. Doing so may result in unpredicable operation. After a link is active, an SPNeighbor.expired() event will be signalled from SPC. Please use this event to change the schedule of the neighbor.