KEKB,
PF-AR and JPARC project are using or will use EPICS as a basis of
their controls systems.
KEK EPICS traversal group was created to
support better all of these accelerator control systems.
Its aims
is to enhance a sharing of knowledge and technology on EPICS and
accelerator controls within KEK (and anywhere).
Products:
GP-IB Device Compiler (GDC) converts GP-B commands table using GDL(GP-IB device language) into C-code as EPICS support device support routine.
tarball (for EPICS3.14+ asynDev)
"1-CD Linux" with EPICS base and extensions installted .
Latest : 1CD (~600MB) ISO iamge, based on KNOPPIX5.01also includes EPICS base, asynDev, netDev, WE drivers, edm(1-11), medm, StripTool, probe, gateway and Application Developpers Guide. No Java VM. (Nov. 05, 2006)
How to create an "EPICS on KNOPPIX" iso image file. (in Japanese)
SL-Live CD with EPICS .
EPICS Python interface without thread support: work with both EPICS3.13 and 3.14.
EPICS
Python Interface with thread support.
For EPICS 3.14.x , this
version of EPICS-Python interface module (ca module) takes
advantage of threaded CA library.
It requires Python2.4 or
later with thread library enabled. It also work with
thread-enabled version of Tcl/Tk library through Tkinter module.
It should also work with Python 2.3 or 2.2 but may need some
adjustment in ./setup.py.
tarball ; PythonCA-1.20.2.tar.gz (2009/03/10)
pthread_mutex library calls are replaced by epicsMutex calls. (contributed by T.Obina)
older version : CaPython314.tgz (2007/05/03)
Instruction to make this module compatible with FNAL-PythonCA module.
Extended TkCanvas with PythoTk option for gnuplot.4.2.0
tkcanvas terminal in gnuplot4.2.0 now suppor pythontk option. It generate python script drive Tkinter/Python.
This version also support palette and pm3d colorbox. Drawing image is not supported yet.
use "set term tkcanvs pythontk" or "set term tkcanvs pythontk interactive"
output a python program generated by gnuplot into a file.e.g. ' set output "gnuoutput.py"
Start python and:
c=Canvas();c.pack()
import gnuoutput
gnuoutput.gnuplot(c)
will generate gnuplot graph on the canvas widget.
Here is a source code and diff file from the origirnal
replace tkcanvas.trm in term within your gnuplot source tree. and make.
Enjoy.
wish.trm amd tkinter.trm are the other terminals for gnuplot4.2. It opens Tk/Canvas window and draw graphs directly on it.
set term wish or set term tkinter
wish
uses external "wish" program and tkinter links Tcl/Tk
library and uses it to start Tk main loop.
It is an extended version Gnuplot.py(version 1.7) . It intduce Gnuplot class with tplot command. It also introduces TimeData fnction for time domain data.
It uses Gnuplot.py and Numeric module.
Japanese Documentation for Gnuplot.py is available here.
Database access through python (dbStaticLib.i for SWIG and realted files 2009.3.12,)
Prerequisites :EPICS 3.14.x , Python 2.5.1 or higher, swig 1.3.31 or higher, you also needs simplejson module for Python or Python2.6 for db2json module
"python setup.py build install" will build and install package
See dbDumpRecords.py or db2json.py modules as examples of this module.
devPy.c
is a device support library with which user can develop device
support using Python programming language. Currently it support
only ai record but can be extended to support standard records in
EPICS distribution.
It should be quite useful to test new device
which has a driver for Linux/MacOSX.
In Python, you need to
provide a class. EPICS record instance will be connected to an
instance of this class when EPICS database is up and running. The
class should have a method named "read". EPICS database
will call this method when the record is processed and put value
returned by this method to the RVAL(Integer)/VAL(Float) field.
In
the EPICS database configuration file (.db file), DTYP filed is
set to "Python" to connect it to devPy. INP field type is
INST_IO and INP field would look like
"@/module/sub-module/class-name;params?key1=val1&key2=val2,..".
The
params part and query part of this URI like format will be passed to
the class constructor(__init__) as a string and a dictionary.
check
here for source codes.
Records
Array Utility records
Timestamp record (KEK version)
Waveout/Arrayout records,...
FFT records: Calculate Fourier Coefficients from Wavefrom data.
This tarball includes two types of FFT record support, RFFT record and CFFT record.
RFFT takes one waveform record as an input. When processed, it calculate Real DFT coefficients using FFT algorithm. Result can be accessd at the field AMP, PHA, COS, SIN.
CFFT records may have two waveform data as its input. Complex DFT coefficients will be calculated using these wave form as real and imaginary part of input complex data. Calculated result will be stored in AMP and PHA fields. AMP field shows absolute values of the coefficients and PHA files shows phase angle of the coefficients.
You can apply winodw functions and average subtration of input data. WIND and ASUB fields control this functionarity.
WAVN fiels hosts wavenumber, 0.0-0.5 for RFFT and 0.0 - 1.01 for CFFT, of the coefficients.
devWfDbRecfection
A device support for waveform record. It get a list of record types/files of specified record/name of reocrds from EPICS DB using dbStaticLib.
tar.gz file is here.