EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026>  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026> 
<== Date ==> <== Thread ==>

Subject: Re: Device support for MokuPro from Liquid Instruments
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS Tech Talk <tech-talk at aps.anl.gov>, "Blomley, Edmund (IBPT)" <edmund.blomley at kit.edu>
Date: Fri, 11 Sep 2026 13:18:50 +0000
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/


References:
Device support for MokuPro from Liquid Instruments Blomley, Edmund (IBPT) via Tech-talk

Navigate by Date:
Prev: Re: Device support for MokuPro from Liquid Instruments Konrad Gajewski via Tech-talk
Next: Re: Device support for MokuPro from Liquid Instruments Sukhanov, Andrei via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026> 
Navigate by Thread:
Prev: Re: Device support for MokuPro from Liquid Instruments Sukhanov, Andrei via Tech-talk
Next: IOC assert by thread CAS-client LiangChih Chiang via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  2025  <2026> 
ANJ, 13 Sep 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·