CAEN’s FERS-5200 front-end boards come with Janus, an open-source (GPL) readout program written in C that configures the board, talks to it over USB or Ethernet and reads the data. With lvJanus I turned that code into a DLL that LabVIEW can call, so the board can become part of a larger LabVIEW measurement setup.
I kept the stdcall interface deliberately small, with four functions:
initialize()loads the Janus configuration file and connects to the board;send_receive(out, out_size, in, in_size)sends 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 sits the Janus/FERS library itself (including the register map of the A5203 picosecond TDC unit) with a thin C++ wrapper that logs through spdlog. The solution also builds a small console program, which I used to test the same calls without LabVIEW.