|
I don't have experience with PythonSoftIOC, but the ADEiger is a "traditional" driver that uses the REST API. This is the class that implements that. It is quite specific to the Eiger, but the general concepts are probably portable.
Mark
From: Tech-talk on behalf of Blomley, Edmund (IBPT) via Tech-talk
Sent: Friday, September 11, 2026 5:32 AM
To: EPICS Tech Talk
Subject: Device support for MokuPro from Liquid Instruments
Dear EPICS community,
A lab requested some help in getting EPICS support for a new device, which is basically a multi-purpose FPGA device.
The device is called MokuPro from Liquid Instruments[1]. It comes with a command line utility and a REST API [2]. It provides examples also for C++ [3], which seems to basically use CURL
to query the Rest API. There is also a Python module [4].
While I always prefer “traditional” EPICS IOCs for hardware implementation I wonder if that is a good call if there is basically a RestAPI as the basic interface.
The next thing after a traditional EPICS IOC would be using PythonSoftIOC[5], which is Python, but still provides at least something close to “regular” EPICS records.
So I would be curious about what the best approach here would be. As this will probably be done by the people in the lab itself with little “traditional IOC” experience we will probably
give it a first try with PythonSoftIOC.
Also, does anyone have a PythonSoftIOC implementing a RestAPI which I could take a look at?
Cheers
Eddy
[1] MokuPro:
https://liquidinstruments.com/products/hardware-platforms/
[2] API Docs:
https://apis.liquidinstruments.com/api/
[3] Examples in C++:
https://apis.liquidinstruments.com/api/moku-examples/other-language-api/#c
[4] Moku Python module:
https://pypi.org/project/moku/
[5] PythonSoftIOC:
https://diamondlightsource.github.io/pythonSoftIOC/
|