-----

**/rb/int** | **/b/int**: Report interrupt-on-change with high precision timing

The interrupt-on-change feature uses a hardware feature to detect a 0-1 or 1-0 transition on a digital input pin with high time-precision. This is only available on PORTB pins 4-7, and the pin must configured as input to trigger the interrupt. The OSC timestamp attached to the corresponding bundle indicates with high precision when the interrupt occurred. One application of this feature is the timing of signals for a pulse-echo ultrasonic range finder.

An edge transition that triggers an interrupt will occlude other interrupts for a period of about 10 microseconds. For example, from a default low state, a low-high-low pulse of 1 microsecond will generate an interrupt on the rising edge but fail to generate an interrupt for the falling edge. Furthermore, pulses of less than 1 microsecond in total duration may also not be visible to the system because the pin state has already returned to its default by the time the corresponding register read is processed. This automatically filters the edge transition logic for noise-induced hysteresis.

Due to present memory constraints the system can report approximately 4 interrupts per millisecond.

The format of this message is identical to a port-report (see Pin and Port I/O), except that the entries are NULL for all pins which don't support interrupt-on-change, (e.g. /rb/0-3) and the data is purely digital even for pins that support analog input (e.g. /rb/4).

RX: [ /rb/int ,NNNNTTFT ]

On the Bitwacker this message has the address prefix /rb, and on the CUI this message has the address prefix /b.