>>>>>>>>>>>>>>>Update to NIMO/AIMO operation:  Store clocks should be both low during serial read-out, even in NIMO operation (if held high, charge may be redistributed between serial pixels.

// Image readout (parallel clocks + settling time)
    if ( NIMOFlag )  // non-inverted mode operation (NIMO)
    {
        // Parallel clocks (keep V3 asserted at least 1 usec before and after line transfer)
        KodakRegisters[ eLT3 ][ eLTE0 ].Set( 1,        0, 1, 0, 0, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE1 ].Set( uSec,     0, 1, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE2 ].Set( uSec2By3, 0, 1, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE3 ].Set( 1,        0, 1, 0, 1, 1, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE4 ].Set( uSec2By3, 0, 1, 0, 1, 0, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE5 ].Set( uSec,     0, 1, 0, 1, 0, 0, DumpGateClosed );

        V1 = V5 = 1;
    }
    else  // normal, asymmetric inverted mode operation (AIMO)
    {
        // Parallel clocks (keep V3 asserted at least 1 usec before and after line transfer)
        KodakRegisters[ eLT3 ][ eLTE0 ].Set( 1,        0, 0, 0, 0, 0, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE1 ].Set( uSec,     0, 0, 0, 1, 0, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE2 ].Set( uSec2By3, 0, 0, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE3 ].Set( 1,        0, 0, 0, 1, 1, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE4 ].Set( uSec2By3, 0, 0, 0, 1, 0, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE5 ].Set( uSec,     0, 0, 0, 1, 0, 0, DumpGateClosed );

        V1 = V5 = 0;
    }

    >>>>>>>>>>Update Frame valid assertion so it goes high before image to store transfer starts

        // Image store
    KodakRegisters[ eFT2 ][ eFTE ].Clear( );
	KodakRegisters[ eFT2 ][ eFTE ][ eFRAME_VALIDAssert ] = 1;
    KodakRegisters[ eFT2 ][ eFTE ][ eAFEClockEnable ] = AFEClocksAlwaysOn;
    KodakRegisters[ eFT2 ][ eFTE ][ ePBLKIdleValue ] = PBLKIdleValue;
    KodakRegisters[ eFT2 ][ eFTE ].ExLT( 1, eLT0 );

    eFTE = (IoAKSC1000FrameTableEntryEnum) ( (int) eFTE + 1 );

    if ( VStore > 1 )
    {
        if ( VStore <= 8192 )
        {
            KodakRegisters[ eFT2 ][ eFTE ].Clear( );  
			KodakRegisters[ eFT2 ][ eFTE ][ eFRAME_VALIDAssert ] = 1;
            KodakRegisters[ eFT2 ][ eFTE ][ eAFEClockEnable ] = AFEClocksAlwaysOn;
            KodakRegisters[ eFT2 ][ eFTE ][ ePBLKIdleValue ] = PBLKIdleValue;
            KodakRegisters[ eFT2 ][ eFTE ].ExLT( VStore - 1, eLT1 );

            eFTE = (IoAKSC1000FrameTableEntryEnum) ( (int) eFTE + 1 );
        }
    }

>>>>>>>>>>>>>Special operation of SPARE bias line for injection gate mod (very non-standard)

//First entry is "SPARE" unless injection gate is to be driven when it is "VIG"

char *BiasDACChannelName[ 8 ] = { "SPARE", "VSS", "VOG", "VABD", "VOD", "VRD", "VABG", "VphiDC" };

enum { eSPARE1, eVSS, eVOG, eVABD, eVOD, eVRD, eVABG, eVphiDC };

int BiasDACChannelMUXAddress[ 8 ] = { 0x16, 0x15, 0x14, 0x10, 0x11, 0x17, 0x12, 0x13 };

>>>>>>>>>>>>>>Increase to >1 uSec, time between DG going low, and serial phase 2 going high.

 // Image readout (parallel clocks + settling time)
    if ( NIMOFlag )  // non-inverted mode operation (NIMO)
    {
        // Parallel clocks (keep V3 asserted at least 1 usec before and after line transfer)
        KodakRegisters[ eLT3 ][ eLTE0 ].Set( uSec,     0, 1, 0, 0, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE1 ].Set( uSec,     0, 1, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE2 ].Set( uSec2By3, 0, 1, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE3 ].Set( 1,        0, 1, 0, 1, 1, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE4 ].Set( uSec2By3, 0, 1, 0, 1, 0, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE5 ].Set( uSec,     0, 1, 0, 1, 0, 0, DumpGateClosed );

        V1 = V5 = 1;
    }
    else  // normal, asymmetric inverted mode operation (AIMO)
    {
        // Parallel clocks (keep V3 asserted at least 1 usec before and after line transfer)
        KodakRegisters[ eLT3 ][ eLTE0 ].Set( uSec,     0, 0, 0, 0, 0, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE1 ].Set( uSec,     0, 0, 0, 1, 0, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE2 ].Set( uSec2By3, 0, 0, 0, 1, 1, 0, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE3 ].Set( 1,        0, 0, 0, 1, 1, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE4 ].Set( uSec2By3, 0, 0, 0, 1, 0, 1, DumpGateClosed );
        KodakRegisters[ eLT3 ][ eLTE5 ].Set( uSec,     0, 0, 0, 1, 0, 0, DumpGateClosed );

        V1 = V5 = 0;
    }



>>>>>>>>>>>>>>Would it be possible to make the default temperature set as with other input parameters?

