CAEN’s FERS-5200 front-end boards come with Janus, an open-source (GPL) readout program written in C. It configures the board, talks to it over USB or Ethernet and reads the data. lvJanus turns that code into a DLL that LabVIEW can call, so the board can become part of a larger LabVIEW measurement setup.
The DLL exposes a deliberately small stdcall interface:
initialize()loads the Janus configuration file and connects to the board;send_receive(out, out_size, in, in_size)passes a command buffer from LabVIEW to the board and returns the response;dump_info()writes the board and firmware information to the log;destroy()closes the connection.
Underneath it is the Janus/FERS library itself (including the register map of the A5203 picosecond TDC unit) with a thin C++ wrapper, logging through spdlog. The solution also builds a small console program, used to test the same calls without LabVIEW.
Tech: C, C++, Visual Studio (x64), vcpkg, spdlog, LabVIEW, CAEN FERS/Janus. Source on GitHub.