Changes in v5.22: allowed longer time in InitializeSEI() for command to complete.
Changes in v5.21: added SEI command timeout delays after resets for HBA4 compatibility.
Changes in V5.20: corrected error to make 4 A2 functions appear in library.
Changes in v5.19: added back in 4 A2 functions that had been inadvertently dropped: A2ComputeCRC(),
A2LockParameters(), A2GetPositionTimeStatus(), and A2GetPositionLongTimeStatus().  Note that the last
function requires A2 firmware version 3.15 or higher.

Changes in v5.18: lengthened break condition reset to 600 msec, and added small wait of 100 msec before searching for
serial numbers.

Changes in v5.17: Removed call to WaitCommEvent in SendCommChars function to fix server hanging issue.

Changes in v5.16: changes to OpenComm() to restore functionality for analog A2/HD25A encoders. KTL

Changes in v5.15: Accommodates virtual COM ports greater than 8.  Includes additional error reporting. 

Changes in v5.14: can now init analog A2's when NORESET is asserted in mode, added NOA2ERRORCLEAR
option to mode in InitializeSEI().

Changes in v5.13: fixed bug in A2GetPositionLongTimeStatus().

Changes in v5.12: added new call to API, A2GetPositionLongTimeStatus() that returns 32 bit timestamp
(requires V3.15 or later A2 firmware)

Changes in v5.11: added new call to API, A2GetPositionTimeStatus()

Changes in v5.10: added routines to support EEPROM locking: CRC calcs for A2/AD5/ED2, as
well as parameter locking for A2.

Changes in v5.09: modified CloseSEI to close an open comm port if the calling application is the only attached process.

Changes in v5.08: fixed A2GetPosition so that it now uses the command that returns A2 status. If
the A2 reports an error in position, the DLL passes error to host.

Changes in v5.07: added conditional compile switches to SEIDrv32.c so as to allow debgging of the
SEISrv32.exe application without timing out.  Fixed a bug in AD5GetCMR, in which it formerly
returned channel 1 data for channels 0, 2, and 3.  Changed OpenComm to read the character sent
out via loopback before checking for busy; this is hopefully a more robust way to determine
whether an SEI device is present.

Changes in V5.06: added an AD5SetModeVolatile that does not write to the EEPROM; added alternate
AD5GetAllPositionsOrdered() to address bug in AD5GetAllPositions() in which channels are reversed.

Changes in V5.05: added A2 commands to stop and restart clocks.
[Kurt, 2-07-2002]

Changes in V5.04: added fixes to AD5 set position and set resolution commands, which were
susceptible to the LS7266 preset anomaly. The ED2, which is also susceptible, cannot be fixed
by mere changes to the DLL; the two displays are not independently reset-able.  However, the ED2
can be fixed by a firmware download, which users can perform with the ED2 Config software.
[Kurt, 2-15-2001]

Changes in V5.03: added 10 msec delays before checking busy in the functions that initialize
the SEI subsystem, since Win2k seems to report transmission done before char has left the buffer
(delays only effective when running under Win2k, Win98 has no delays).

Changes in V5.02: added ReleaseDC() call to ColorIndicator() function to plug memory leak.
[Kurt, 6/12/2000]

Changes in V5.01:
Cleaned up all of the functions.
Added comments to every function in the header file.
and other misc stuff.

*Don't delete the SeiCDev directory, SeiCDev has a different header file.

*The following needs to be updated:
Seidlls.zip
SEISource.zip
SeiCDev.zip
