Supported Platforms#
The Handel library is programmed in C99 using only the standard library and compiles on various platforms using common C compilers such as msvc, gcc, and clang.
Support for particular platforms depends on availability of device drivers and may require end user implementation to adapt device drivers to the machine-dependent (MD) layer of Handel.
XIA provides full support for all x-ray products on Windows, including device drivers, graphical configuration and control applications, and technical support.
The Handel source release includes a Linux MD implementation for USB (built on libusb-0.1), EPP (sys/io), and serial interfaces (termios) to support USB- and EPP-based Mercury, Saturn, and microDXP spectrometers. The Linux serial interface is experimental but passes all internal tests at XIA using microDXP Rev H. While PLX drivers are available for Linux from National Instruments, installation support and MD hooks implementation must be supplied by the user.
Use of other platforms requires a full implementation of the MD layer supplied by the user. Given knowledge of the device driver interface for a given device, implementing the MD layer is a straightforward process of writing open, close, read, and write hooks and a bit of bookkeeping to store and map device handles to Handel modules. See md_win32.c and md_linux.c in the source distribution for reference implementations. Per the Handel license, users are welcome to keep their implementations closed source. If you wish to contribute device driver support to the official Handel release, please email XIA Support.
Note
For microDXP users: While the Handel library provides high level control to nearly all settings and acquisition control, given the suitability of the microDXP for embedded applications, it can also be controlled via RS-232 with no additional software requirements. See the microDXP manuals for more information about the microDXP architecture and a downloadable RS-232 command specification.