Knowledge Base

The XBIO16 connects to the main controller board via the high speed serial data bus and a protocol called XPice, which is implemented on 2nd generation SPLat controllers (see SPLat Expansion Framework). That means that input changes and output changes are updated only when the controller reads and writes bus updates.

2nd generation controllers at time of writing are the MMi20x/MMi99 and the SL99. These perform XPice updates every millisecond. That means the effect of any programmed output change (ONOFFOutput etc) will not appear on the output pin for up to 1mS after the instruction is executed.

Similarly, any change on an input pin will not be seen by your program for up to 1mS after it happens. That has very little practical significance unless you are using InputF instructions (all other input type instructions have contact debounce that introduces a delay of up to 20mS).

Because each I/O point on the XBIO16 is in fact an input and an output connected together, you will see the effect of this delay if you try and turn on an output then immediately read the equivalent input with an InputF or InputFM. In all probability the input will not appear as on (this would only be detectable in a program actually running in the board).

Similarly, you would not be able to use an XBIO16 output to generate a high speed serial bit stream. For example, there are LED displays available that are driven by a serial bit stream consisting of clock and data. We have successfully used these on SPLat boards, but it would be difficult to get it to work off an XBIO16 (you would have to insert delays, which is clumsy and awkward).