/**
* Uses TTL trigger communcation between Micro-Manager and external
* software (Andor iQ) to fire Andor Mosaic device with iQ virtual
* camera.
*
* This program is meant to run concurrently with Andor iQ 2.7
* The iQ Protocol will look like this:
*
* ...
* Trigger In - In7.High
* Trigger Out - Out6.Low
* Frappa - Mosaic (Mosaic, All, _FRAPPA)
* Trigger Out - Out6.High
*
* Notes:
* 1) iQ enumerates the PCU ports from 0-7, but Micro-Manager
* enumerates from 1-8. We will assume Micro-Manager's
* nomenclature, since Micro-Manager is right ;-)
* 2) Micro-Manager sends the Output 8 high, which iQ listens to
* 3) Micro-Manager then waits for Input 7 to be high.
* 4) There are 2 a bugs:
* a) It's not possible for 2 programs to listen to the same
* DAC input port
* b) iQ has a bug where it cannot set Output 8 low (IDK why)
* c) Therefore as workaround for (b) we actually read in both
* 7 and 8 as high at the end of the iQ protocol.
*
* Pariksheet Nanda <p.nanda@andor.com> September 2012
*/