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  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: pymsi - a python alternative to msi
From: Goetz Pfeiffer <[email protected]>
To: EPICS tech-talk <[email protected]>
Date: Wed, 22 Sep 2010 16:04:17 +0200
Hello EPICS community,

I would like to announce pymsi, a python package that
can replace the msi tool.

Here is a link to the documentation:
http://www-csr.bessy.de/control/pymsi/pymsi.html

Here is the download link:
http://www-csr.bessy.de/control/pymsi/dist/pymsi-1.0.tar.gz

And here is the command to clone our repository:
hg clone http://www-csr.bessy.de/control/pymsi/pymsi-hg pymsi

This is the main project page:
http://www-csr.bessy.de/control/pymsi

Pymsi is a python package that introduces a new substitution file format that
is similar to the old msi substitution format, but has valid python expressions
in it. Here is a short example:

do(
    file("adimovhgbl.template",
         subst(
           DESCVAR="adimovhgbl_ins.mac",
           GBASE="U3IV:",
           DRV="V",
           AdiMopVer="9",
           TRIG1="U3IV:AdiVGblPvr.PROC",
           TRIG2="U3IV:AdiVGblMvr.PROC",
         ),
         subst(
           DESCVAR="adimovhgbl_ins.mac",
           GBASE="U3IV:",
           DRV="H",
           AdiMopVer="9",
           TRIG1="U3IV:AdiHGblPvr.PROC",
           TRIG2="U3IV:AdiHGblMvr.PROC",
         ),
         pattern(
           ("GBASE","DRV","AdiMopVer","TRIG1","TRIG2"),
           ("U3IV","C","9","U3IV:AdiCGblPvr.PROC", "U3IV:AdiCGblMvr.PROC"),
           ("U3IV","P","9","U3IV:AdiPGblPvr.PROC", "U3IV:AdiPGblMvr.PROC"),
         ),
    ),
    file("adimogbl.template",
         subst(
           DESCVAR="adimogbl_ins.mac",
           GBASE="U3IV:",
           TRIG1="U3IV:AdiMoVGblTrg.PROC",
           TRIG2="U3IV:AdiMoHGblTrg.PROC",
           TRIG3="",
           TRIG4="",
         ),
    ),

)

Features of the package are:

* uses the EPICS maclib, so macro substitution is compatible with msi.
* substitution files are parseble by python, so  all the features and powers of
  the python scripting language are available.
* Scopes of macro definitions are well defined.
* The pymsi language (the format of the substitution files) can easily be
  extended.
* conversion tool for conversion from old substitution file format included.
* Free to use for non-commercial applications

Greetings

  Goetz Pfeiffer

-- 
Dipl. Ing. Götz Pfeiffer
Software Engineer - Insertion Device Control

Helmholtz Zentrum Berlin für Materialien und Energie GmbH
Elektronenspeicherring BESSY II
Albert-Einstein-Str. 15, 12489 Berlin

[email protected]
[email protected]
 
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH  
Hahn-Meitner-Platz 1, 14109 Berlin  

Replies:
Re: pymsi - a python alternative to msi Andrew Johnson

Navigate by Date:
Prev: Re: vlinac and point release J. Lewis Muir
Next: support for MetOne Model A2408 Laser Particle Counter Pierrick Hanlet
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: pyepics bug (need fix asap!) + Matthew Newville? emmanuel_mayssat
Next: Re: pymsi - a python alternative to msi Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 22 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·