The Expansion POD provides the means by which BitScope hardware may be extended.
Connected POD devices, including another BitScope, are controlled using one of two protocols; protocol pass-through and slow byte exchange.
Pass-through makes BitScope "transparent" allowing the host to communicate with the POD in much the same way as it communicates with BitScope itself. To establish pass-through, a command byte to be sent to the POD is first written to the POD transmit register R18.
The | command is then executed which sends the contents of the POD transmit register to the POD via IO-O (serially). BitScope then connects IO-I to the serial port allowing the POD to send data directly back to the host. This pass-through remains in place until aborted by a new command.
Using pass-through, there is a small protocol overhead sending commands to the POD (ie, programming R18), but there is none in the other (more important) direction.
A second method of POD communication exists for POD devices that may not be able to handle high speed serial data (or which may not even know what serial data is !).
In this case, both POD transmit and receive registers R18/R19 are used.
The command to be sent is put in R18 as above. Upon execution the x command a UART in BitScope transmits the byte via IO-O. The UART then monitors IO-I for a reply byte which when received is placed in R19. The reply byte may then be retrieved by the host.
If the POD device only understands a single pulse, a command byte of FF, FE, FC, F8, F0, E0, C0, 80, or 00 can be used.
If no reply is returned by the POD, the next command from the host aborts the UART and proceeds with the new command.