Detect digital I/O changes

When the network is setup for synchronous sleep there is an option to randomize a single I/O sample by setting SO bit 10—enables random I/O samples—and setting IR to zero where the sample will be randomized over the ST time period. In addition you can use IR in conjunction with SO bit 10 which will randomize the first I/O sample over the IR time period and thereafter I/O samples will occur on the IR interval sending x samples or x samples - 1. If the IR interval is greater than the ST time period then ST time will be used to randomize the I/O sample.

You can configure devices to transmit a data sample immediately whenever a monitored digital I/O pin changes state. The IC command is a bitmask that you use to set which digital I/O lines to monitor for a state change. If you set one or more bits in IC, the device transmits an I/O sample as soon it observes a state change in one of the monitored digital I/O lines using edge detection.

The figure below shows how I/O change detection can work with periodic sampling. In the figure, the gray dashed lines with a dot on top represent samples taken from the monitored DIO line. The top graph shows only IR samples, the bottom graph shows a combination of IR samples and IC (Change Detect). In the top graph, the humps indicate that the sample was not taken at that exact moment and needed to wait for the next IR sample period.

Note Use caution when combining Change Detect sampling with sleep modes. IC only causes a sample to be generated if the change takes place during a wake period. If the device is sleeping when the digital input transition occurs, then no change is detected and an I/O sample is not generated.
Use IR in conjunction with IC in this instance, since IR generates an I/O sample upon wakeup and ensures that the change is properly observed.