Rename from secop to frappy
debian/ is still missing, will follow in next commit. Fixes: #4626 Change-Id: Ia87c28c1c75b8402eedbfca47f888585a7881f44
22
Makefile
@ -4,11 +4,15 @@
|
|||||||
all: clean doc
|
all: clean doc
|
||||||
|
|
||||||
demo:
|
demo:
|
||||||
@bin/secop-server -q demo &
|
# Make spawns a new shell for each command.
|
||||||
@bin/secop-server -q test &
|
# Save each PID in temporary file
|
||||||
@bin/secop-server -q cryo &
|
@rm -f frappydemo.PID || true
|
||||||
@bin/secop-gui localhost:10767 localhost:10768 localhost:10769
|
@{ bin/frappy-server -q demo & echo $$! >> frappydemo.PID; }
|
||||||
@ps aux|grep [s]ecop-server|awk '{print $$2}'|xargs kill
|
@{ bin/frappy-server -q test & echo $$! >> frappydemo.PID; }
|
||||||
|
@{ bin/frappy-server -q cryo & echo $$! >> frappydemo.PID; }
|
||||||
|
@bin/frappy-gui localhost:10767 localhost:10768 localhost:10769
|
||||||
|
@cat frappydemo.PID | xargs kill || true
|
||||||
|
@rm frappydemo.PID
|
||||||
|
|
||||||
build:
|
build:
|
||||||
python3 setup.py build
|
python3 setup.py build
|
||||||
@ -32,18 +36,18 @@ test-verbose:
|
|||||||
python3 $(shell which pytest) -v test -s
|
python3 $(shell which pytest) -v test -s
|
||||||
|
|
||||||
test-coverage:
|
test-coverage:
|
||||||
python3 $(shell which pytest) -v test --cov=secop
|
python3 $(shell which pytest) -v test --cov=frappy
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
$(MAKE) -C doc html
|
$(MAKE) -C doc html
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
pylint -f colorized -r n --rcfile=.pylintrc secop secop_* test
|
pylint -f colorized -r n --rcfile=.pylintrc frappy frappy_* test
|
||||||
|
|
||||||
isort:
|
isort:
|
||||||
@find test -name '*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
@find test -name '*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
||||||
@find secop -name '*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
@find frappy -name '*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
||||||
@find . -wholename './secop_*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
@find . -wholename './frappy_*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
||||||
|
|
||||||
release-patch:
|
release-patch:
|
||||||
MODE="patch" $(MAKE) release
|
MODE="patch" $(MAKE) release
|
||||||
|
@ -29,8 +29,8 @@ from os import path
|
|||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from secop.gui.qt import QApplication
|
from frappy.gui.qt import QApplication
|
||||||
from secop.gui.cfg_editor.mainwindow import MainWindow
|
from frappy.gui.cfg_editor.mainwindow import MainWindow
|
||||||
|
|
||||||
|
|
||||||
def main(argv=None):
|
def main(argv=None):
|
@ -33,8 +33,8 @@ sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
|||||||
|
|
||||||
import mlzlog
|
import mlzlog
|
||||||
|
|
||||||
from secop.gui.qt import QApplication
|
from frappy.gui.qt import QApplication
|
||||||
from secop.gui.mainwindow import MainWindow
|
from frappy.gui.mainwindow import MainWindow
|
||||||
|
|
||||||
|
|
||||||
def main(argv=None):
|
def main(argv=None):
|
||||||
@ -42,7 +42,7 @@ def main(argv=None):
|
|||||||
argv = sys.argv
|
argv = sys.argv
|
||||||
|
|
||||||
if '-h' in argv or '--help' in argv:
|
if '-h' in argv or '--help' in argv:
|
||||||
print("Usage: secop-gui [-d] [-h] [host:[port]]")
|
print("Usage: frappy-gui [-d] [-h] [host:[port]]")
|
||||||
print()
|
print()
|
||||||
print("Option GNU long option Meaning")
|
print("Option GNU long option Meaning")
|
||||||
print("-h --help Show this message")
|
print("-h --help Show this message")
|
@ -30,9 +30,9 @@ from os import path
|
|||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from secop.lib import generalConfig
|
from frappy.lib import generalConfig
|
||||||
from secop.logging import logger
|
from frappy.logging import logger
|
||||||
from secop.server import Server
|
from frappy.server import Server
|
||||||
|
|
||||||
|
|
||||||
def parseArgv(argv):
|
def parseArgv(argv):
|
@ -42,7 +42,7 @@ import ast
|
|||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from secop.lib import get_class, formatException
|
from frappy.lib import get_class, formatException
|
||||||
|
|
||||||
class LineHandler(asyncore.dispatcher_with_send):
|
class LineHandler(asyncore.dispatcher_with_send):
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ for arg in sys.argv[1:]:
|
|||||||
pass
|
pass
|
||||||
opts[k] = v
|
opts[k] = v
|
||||||
verbose = opts.pop('verbose', False)
|
verbose = opts.pop('verbose', False)
|
||||||
opts['cls'] = 'secop_psi.ls370sim.Ls370Sim'
|
opts['cls'] = 'frappy_psi.ls370sim.Ls370Sim'
|
||||||
opts['port'] = 4567
|
opts['port'] = 4567
|
||||||
if len(args) > 2:
|
if len(args) > 2:
|
||||||
raise ValueError('do not know about: %s' % ' '.join(args[2:]))
|
raise ValueError('do not know about: %s' % ' '.join(args[2:]))
|
||||||
|
@ -7,11 +7,11 @@ bindto = 0.0.0.0
|
|||||||
bindport = 5000
|
bindport = 5000
|
||||||
|
|
||||||
[module cap]
|
[module cap]
|
||||||
class = secop_psi.ah2700.Capacitance
|
class = frappy_psi.ah2700.Capacitance
|
||||||
description = capacitance
|
description = capacitance
|
||||||
uri=ldmse3-ts:3015
|
uri=ldmse3-ts:3015
|
||||||
|
|
||||||
#[module ahcom]
|
#[module ahcom]
|
||||||
#class = secop_psi.ah2700.StringIO
|
#class = frappy_psi.ah2700.StringIO
|
||||||
#uri=ldmse3-ts:3015
|
#uri=ldmse3-ts:3015
|
||||||
#description = serial communicator to an AH2700
|
#description = serial communicator to an AH2700
|
||||||
|
@ -19,7 +19,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module enable]
|
[module enable]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice='tango://localhost:10000/box/plc/_enable'
|
tangodevice='tango://localhost:10000/box/plc/_enable'
|
||||||
value.datatype=["enum", {'On':1,'Off':0}]
|
value.datatype=["enum", {'On':1,'Off':0}]
|
||||||
target.datatype=["enum", {'On':1,'Off':0}]
|
target.datatype=["enum", {'On':1,'Off':0}]
|
||||||
@ -27,7 +27,7 @@ target.datatype=["enum", {'On':1,'Off':0}]
|
|||||||
.visibility='advanced'
|
.visibility='advanced'
|
||||||
|
|
||||||
[module polarity]
|
[module polarity]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_polarity
|
tangodevice=tango://localhost:10000/box/plc/_polarity
|
||||||
value.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
|
value.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
|
||||||
target.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
|
target.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
|
||||||
@ -41,7 +41,7 @@ comtries=50
|
|||||||
|
|
||||||
|
|
||||||
[module symmetry]
|
[module symmetry]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_symmetric
|
tangodevice=tango://localhost:10000/box/plc/_symmetric
|
||||||
value.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
|
value.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
|
||||||
target.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
|
target.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
|
||||||
@ -51,35 +51,35 @@ target.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
|
|||||||
.visibility=advanced
|
.visibility=advanced
|
||||||
|
|
||||||
[module T1]
|
[module T1]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_t1
|
tangodevice=tango://localhost:10000/box/plc/_t1
|
||||||
.description=Temperature1 of the coils system
|
.description=Temperature1 of the coils system
|
||||||
#warnlimits=(0, 50)
|
#warnlimits=(0, 50)
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module T2]
|
[module T2]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_t2
|
tangodevice=tango://localhost:10000/box/plc/_t2
|
||||||
.description=Temperature2 of the coils system
|
.description=Temperature2 of the coils system
|
||||||
#warnlimits=(0, 50)
|
#warnlimits=(0, 50)
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module T3]
|
[module T3]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_t3
|
tangodevice=tango://localhost:10000/box/plc/_t3
|
||||||
.description=Temperature3 of the coils system
|
.description=Temperature3 of the coils system
|
||||||
#warnlimits=(0, 50)
|
#warnlimits=(0, 50)
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module T4]
|
[module T4]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_t4
|
tangodevice=tango://localhost:10000/box/plc/_t4
|
||||||
.description=Temperature4 of the coils system
|
.description=Temperature4 of the coils system
|
||||||
#warnlimits=(0, 50)
|
#warnlimits=(0, 50)
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module currentsource]
|
[module currentsource]
|
||||||
class=secop_mlz.entangle.PowerSupply
|
class=frappy_mlz.entangle.PowerSupply
|
||||||
tangodevice=tango://localhost:10000/box/lambda/curr
|
tangodevice=tango://localhost:10000/box/lambda/curr
|
||||||
.description=Device for the magnet power supply (current mode)
|
.description=Device for the magnet power supply (current mode)
|
||||||
abslimits=(0,200)
|
abslimits=(0,200)
|
||||||
@ -92,7 +92,7 @@ voltage=10
|
|||||||
.visibility=advanced
|
.visibility=advanced
|
||||||
|
|
||||||
[module mf]
|
[module mf]
|
||||||
class=secop_mlz.amagnet.GarfieldMagnet
|
class=frappy_mlz.amagnet.GarfieldMagnet
|
||||||
.description=magnetic field module, handling polarity switching and stuff
|
.description=magnetic field module, handling polarity switching and stuff
|
||||||
subdev_currentsource=currentsource
|
subdev_currentsource=currentsource
|
||||||
subdev_enable=enable
|
subdev_enable=enable
|
||||||
|
32
cfg/ccr.cfg
@ -11,7 +11,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module automatik]
|
[module automatik]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_automatik
|
tangodevice=tango://localhost:10000/box/plc/_automatik
|
||||||
mapping=dict(Off=0,p1=1,p2=2)
|
mapping=dict(Off=0,p1=1,p2=2)
|
||||||
description="controls the (simple) pressure regulation
|
description="controls the (simple) pressure regulation
|
||||||
@ -19,13 +19,13 @@ description="controls the (simple) pressure regulation
|
|||||||
selects between off, regulate on p1 or regulate on p2 sensor"
|
selects between off, regulate on p1 or regulate on p2 sensor"
|
||||||
|
|
||||||
[module compressor]
|
[module compressor]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_cooler_onoff
|
tangodevice=tango://localhost:10000/box/plc/_cooler_onoff
|
||||||
mapping=dict(Off=0,On=1)
|
mapping=dict(Off=0,On=1)
|
||||||
description=control the compressor (on/off)
|
description=control the compressor (on/off)
|
||||||
|
|
||||||
[module gas]
|
[module gas]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_gas_onoff
|
tangodevice=tango://localhost:10000/box/plc/_gas_onoff
|
||||||
mapping=dict(Off=0,On=1)
|
mapping=dict(Off=0,On=1)
|
||||||
description=control the gas inlet into the ccr (on/off)
|
description=control the gas inlet into the ccr (on/off)
|
||||||
@ -35,7 +35,7 @@ description=control the gas inlet into the ccr (on/off)
|
|||||||
note: if the pressure regulation is active, it enslave this device
|
note: if the pressure regulation is active, it enslave this device
|
||||||
|
|
||||||
[module vacuum]
|
[module vacuum]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_vacuum_Onoff
|
tangodevice=tango://localhost:10000/box/plc/_vacuum_Onoff
|
||||||
mapping=dict(Off=0,On=1)
|
mapping=dict(Off=0,On=1)
|
||||||
description=control the vacuum inlet into the ccr (on/off)
|
description=control the vacuum inlet into the ccr (on/off)
|
||||||
@ -44,19 +44,19 @@ description=control the vacuum inlet into the ccr (on/off)
|
|||||||
note: if the pressure regulation is active, it enslave this device
|
note: if the pressure regulation is active, it enslave this device
|
||||||
|
|
||||||
[module p1]
|
[module p1]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_p1
|
tangodevice=tango://localhost:10000/box/plc/_p1
|
||||||
value.unit='mbar'
|
value.unit='mbar'
|
||||||
description=pressure sensor 1 (linear scale)
|
description=pressure sensor 1 (linear scale)
|
||||||
|
|
||||||
[module p2]
|
[module p2]
|
||||||
class=secop_mlz.entangle.AnalogInput
|
class=frappy_mlz.entangle.AnalogInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_p2
|
tangodevice=tango://localhost:10000/box/plc/_p2
|
||||||
value.unit='mbar'
|
value.unit='mbar'
|
||||||
description=pressure sensor 2 (selectable curve)
|
description=pressure sensor 2 (selectable curve)
|
||||||
|
|
||||||
[module curve_p2]
|
[module curve_p2]
|
||||||
class=secop_mlz.entangle.NamedDigitalInput
|
class=frappy_mlz.entangle.NamedDigitalInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_curve
|
tangodevice=tango://localhost:10000/box/plc/_curve
|
||||||
value.default=0
|
value.default=0
|
||||||
description=calibration curve for pressure sensor 2
|
description=calibration curve for pressure sensor 2
|
||||||
@ -71,25 +71,25 @@ mapping="{'0-10V':0, '0-1000mbar':1, '1-9V to 0-1 mbar':2,
|
|||||||
|
|
||||||
# sensors
|
# sensors
|
||||||
[module T_sample]
|
[module T_sample]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/sample/sensora
|
tangodevice=tango://localhost:10000/box/sample/sensora
|
||||||
value.unit='K'
|
value.unit='K'
|
||||||
description=sample temperature
|
description=sample temperature
|
||||||
|
|
||||||
[module T_stick]
|
[module T_stick]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/stick/sensorb
|
tangodevice=tango://localhost:10000/box/stick/sensorb
|
||||||
value.unit='K'
|
value.unit='K'
|
||||||
description=temperature at bottom of sample stick
|
description=temperature at bottom of sample stick
|
||||||
|
|
||||||
[module T_coldhead]
|
[module T_coldhead]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/coldhead/sensorc
|
tangodevice=tango://localhost:10000/box/coldhead/sensorc
|
||||||
value.unit='K'
|
value.unit='K'
|
||||||
description=temperature at coldhead
|
description=temperature at coldhead
|
||||||
|
|
||||||
[module T_tube]
|
[module T_tube]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/tube/sensord
|
tangodevice=tango://localhost:10000/box/tube/sensord
|
||||||
value.unit='K'
|
value.unit='K'
|
||||||
description=temperature at thermal coupling tube <-> stick
|
description=temperature at thermal coupling tube <-> stick
|
||||||
@ -98,7 +98,7 @@ description=temperature at thermal coupling tube <-> stick
|
|||||||
# regulations
|
# regulations
|
||||||
|
|
||||||
[module T_stick_regulation]
|
[module T_stick_regulation]
|
||||||
class=secop_mlz.entangle.TemperatureController
|
class=frappy_mlz.entangle.TemperatureController
|
||||||
tangodevice=tango://localhost:10000/box/stick/control2
|
tangodevice=tango://localhost:10000/box/stick/control2
|
||||||
heateroutput.default=0
|
heateroutput.default=0
|
||||||
description=regulation of stick temperature
|
description=regulation of stick temperature
|
||||||
@ -114,7 +114,7 @@ value.unit='K'
|
|||||||
|
|
||||||
# OMG! a NamedDigitalOutput, but with float'ints' 0..3
|
# OMG! a NamedDigitalOutput, but with float'ints' 0..3
|
||||||
[module T_stick_regulation_heaterrange]
|
[module T_stick_regulation_heaterrange]
|
||||||
class=secop_mlz.entangle.AnalogOutput
|
class=frappy_mlz.entangle.AnalogOutput
|
||||||
tangodevice=tango://localhost:10000/box/stick/range2
|
tangodevice=tango://localhost:10000/box/stick/range2
|
||||||
precision.default=1
|
precision.default=1
|
||||||
abslimits=(0,3)
|
abslimits=(0,3)
|
||||||
@ -122,7 +122,7 @@ description=heaterrange for stick regulation
|
|||||||
|
|
||||||
|
|
||||||
[module T_tube_regulation]
|
[module T_tube_regulation]
|
||||||
class=secop_mlz.entangle.TemperatureController
|
class=frappy_mlz.entangle.TemperatureController
|
||||||
tangodevice=tango://localhost:10000/box/tube/control1
|
tangodevice=tango://localhost:10000/box/tube/control1
|
||||||
description=regulation of tube temperature
|
description=regulation of tube temperature
|
||||||
heateroutput.default=0
|
heateroutput.default=0
|
||||||
@ -138,13 +138,13 @@ value.unit='K'
|
|||||||
|
|
||||||
# OMG! a NamedDigitalOutput, but with float'ints' 0..3
|
# OMG! a NamedDigitalOutput, but with float'ints' 0..3
|
||||||
#[module T_tube_regulation_heaterrange]
|
#[module T_tube_regulation_heaterrange]
|
||||||
#class=secop_mlz.entangle.AnalogOutput
|
#class=frappy_mlz.entangle.AnalogOutput
|
||||||
#tangodevice=tango://localhost:10000/box/tube/range1
|
#tangodevice=tango://localhost:10000/box/tube/range1
|
||||||
#precision.default=1
|
#precision.default=1
|
||||||
#abslimits=(0,3)
|
#abslimits=(0,3)
|
||||||
|
|
||||||
[module T_tube_regulation_heaterrange]
|
[module T_tube_regulation_heaterrange]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/tube/range1
|
tangodevice=tango://localhost:10000/box/tube/range1
|
||||||
mapping=dict(Off=0, Low=1, Medium=2, High=3)
|
mapping=dict(Off=0, Low=1, Medium=2, High=3)
|
||||||
description=heaterrange for tube regulation
|
description=heaterrange for tube regulation
|
||||||
|
@ -17,7 +17,7 @@ bindport=10769
|
|||||||
and a temperature dependend heat-link between sample and regulation.
|
and a temperature dependend heat-link between sample and regulation.
|
||||||
|
|
||||||
# class of module:
|
# class of module:
|
||||||
class=secop_demo.cryo.Cryostat
|
class=frappy_demo.cryo.Cryostat
|
||||||
|
|
||||||
# some parameters
|
# some parameters
|
||||||
jitter=0.1
|
jitter=0.1
|
||||||
|
12
cfg/demo.cfg
@ -6,18 +6,18 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module heatswitch]
|
[module heatswitch]
|
||||||
class=secop_demo.modules.Switch
|
class=frappy_demo.modules.Switch
|
||||||
switch_on_time=5
|
switch_on_time=5
|
||||||
switch_off_time=10
|
switch_off_time=10
|
||||||
.description="Heatswitch for `mf` device"
|
.description="Heatswitch for `mf` device"
|
||||||
|
|
||||||
[module mf]
|
[module mf]
|
||||||
class=secop_demo.modules.MagneticField
|
class=frappy_demo.modules.MagneticField
|
||||||
heatswitch = heatswitch
|
heatswitch = heatswitch
|
||||||
.description="simulates some cryomagnet with persistent/non-persistent switching"
|
.description="simulates some cryomagnet with persistent/non-persistent switching"
|
||||||
|
|
||||||
[module ts]
|
[module ts]
|
||||||
class=secop_demo.modules.SampleTemp
|
class=frappy_demo.modules.SampleTemp
|
||||||
sensor = 'Q1329V7R3'
|
sensor = 'Q1329V7R3'
|
||||||
ramp = 4
|
ramp = 4
|
||||||
target = 10
|
target = 10
|
||||||
@ -25,17 +25,17 @@ value = 10
|
|||||||
.description = "some temperature"
|
.description = "some temperature"
|
||||||
|
|
||||||
[module tc1]
|
[module tc1]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X34598T7"
|
sensor="X34598T7"
|
||||||
.description = "some temperature"
|
.description = "some temperature"
|
||||||
|
|
||||||
[module tc2]
|
[module tc2]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X39284Q8'
|
sensor="X39284Q8'
|
||||||
.description = "some temperature"
|
.description = "some temperature"
|
||||||
|
|
||||||
[module label]
|
[module label]
|
||||||
class=secop_demo.modules.Label
|
class=frappy_demo.modules.Label
|
||||||
system=Cryomagnet MX15
|
system=Cryomagnet MX15
|
||||||
subdev_mf=mf
|
subdev_mf=mf
|
||||||
subdev_ts=ts
|
subdev_ts=ts
|
||||||
|
@ -7,23 +7,23 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module tc1]
|
[module tc1]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X34598T7"
|
sensor="X34598T7"
|
||||||
|
|
||||||
[module tc2]
|
[module tc2]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X39284Q8'
|
sensor="X39284Q8'
|
||||||
|
|
||||||
|
|
||||||
[module sensor1]
|
[module sensor1]
|
||||||
class=secop_ess.epics.EpicsReadable
|
class=frappy_ess.epics.EpicsReadable
|
||||||
epics_version="v4"
|
epics_version="v4"
|
||||||
.group="Lakeshore336"
|
.group="Lakeshore336"
|
||||||
value_pv="DEV:KRDG1"
|
value_pv="DEV:KRDG1"
|
||||||
|
|
||||||
|
|
||||||
[module loop1]
|
[module loop1]
|
||||||
class=secop_ess.epics.EpicsTempCtrl
|
class=frappy_ess.epics.EpicsTempCtrl
|
||||||
epics_version="v4"
|
epics_version="v4"
|
||||||
.group="Lakeshore336"
|
.group="Lakeshore336"
|
||||||
|
|
||||||
@ -33,14 +33,14 @@ heaterrange_pv="DEV:RANGE_S1"
|
|||||||
|
|
||||||
|
|
||||||
[module sensor2]
|
[module sensor2]
|
||||||
class=secop_ess.epics.EpicsReadable
|
class=frappy_ess.epics.EpicsReadable
|
||||||
epics_version="v4"
|
epics_version="v4"
|
||||||
.group="Lakeshore336"
|
.group="Lakeshore336"
|
||||||
value_pv="DEV:KRDG2"
|
value_pv="DEV:KRDG2"
|
||||||
|
|
||||||
|
|
||||||
[module loop2]
|
[module loop2]
|
||||||
class=secop_ess.epics.EpicsTempCtrl
|
class=frappy_ess.epics.EpicsTempCtrl
|
||||||
epics_version="v4"
|
epics_version="v4"
|
||||||
.group="Lakeshore336"
|
.group="Lakeshore336"
|
||||||
|
|
||||||
|
@ -6,23 +6,23 @@ description = Lsc Simulation at PSI
|
|||||||
uri = tcp://5000
|
uri = tcp://5000
|
||||||
|
|
||||||
[lscom]
|
[lscom]
|
||||||
class = secop_psi.ls370sim.Ls370Sim
|
class = frappy_psi.ls370sim.Ls370Sim
|
||||||
description = simulated serial communicator to a LS 370
|
description = simulated serial communicator to a LS 370
|
||||||
visibility = 3
|
visibility = 3
|
||||||
|
|
||||||
[sw]
|
[sw]
|
||||||
class = secop_psi.ls370res.Switcher
|
class = frappy_psi.ls370res.Switcher
|
||||||
description = channel switcher for Lsc controller
|
description = channel switcher for Lsc controller
|
||||||
io = lscom
|
io = lscom
|
||||||
|
|
||||||
[a]
|
[a]
|
||||||
class = secop_psi.ls370res.ResChannel
|
class = frappy_psi.ls370res.ResChannel
|
||||||
channel = 1
|
channel = 1
|
||||||
description = resistivity
|
description = resistivity
|
||||||
switcher = sw
|
switcher = sw
|
||||||
|
|
||||||
[b]
|
[b]
|
||||||
class = secop_psi.ls370res.ResChannel
|
class = frappy_psi.ls370res.ResChannel
|
||||||
channel = 3
|
channel = 3
|
||||||
description = resistivity
|
description = resistivity
|
||||||
switcher = sw
|
switcher = sw
|
||||||
|
@ -7,12 +7,12 @@ bindto = 0.0.0.0
|
|||||||
bindport = 5000
|
bindport = 5000
|
||||||
|
|
||||||
[module lsmain]
|
[module lsmain]
|
||||||
class = secop_psi.ls370res.Main
|
class = frappy_psi.ls370res.Main
|
||||||
description = main control of Lsc controller
|
description = main control of Lsc controller
|
||||||
uri = localhost:4567
|
uri = localhost:4567
|
||||||
|
|
||||||
[module res]
|
[module res]
|
||||||
class = secop_psi.ls370res.ResChannel
|
class = frappy_psi.ls370res.ResChannel
|
||||||
vexc = '2mV'
|
vexc = '2mV'
|
||||||
channel = 3
|
channel = 3
|
||||||
description = resistivity
|
description = resistivity
|
||||||
|
36
cfg/ppms.cfg
@ -6,118 +6,118 @@ description = PPMS at PSI
|
|||||||
uri = tcp://5000
|
uri = tcp://5000
|
||||||
|
|
||||||
[tt]
|
[tt]
|
||||||
class = secop_psi.ppms.Temp
|
class = frappy_psi.ppms.Temp
|
||||||
description = main temperature
|
description = main temperature
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[mf]
|
[mf]
|
||||||
class = secop_psi.ppms.Field
|
class = frappy_psi.ppms.Field
|
||||||
target.min = -9
|
target.min = -9
|
||||||
target.max = 9
|
target.max = 9
|
||||||
description = magnetic field
|
description = magnetic field
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[pos]
|
[pos]
|
||||||
class = secop_psi.ppms.Position
|
class = frappy_psi.ppms.Position
|
||||||
description = sample rotator
|
description = sample rotator
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[lev]
|
[lev]
|
||||||
class = secop_psi.ppms.Level
|
class = frappy_psi.ppms.Level
|
||||||
description = helium level
|
description = helium level
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[chamber]
|
[chamber]
|
||||||
class = secop_psi.ppms.Chamber
|
class = frappy_psi.ppms.Chamber
|
||||||
description = chamber state
|
description = chamber state
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[r1]
|
[r1]
|
||||||
class = secop_psi.ppms.BridgeChannel
|
class = frappy_psi.ppms.BridgeChannel
|
||||||
description = resistivity channel 1
|
description = resistivity channel 1
|
||||||
no = 1
|
no = 1
|
||||||
value.unit = Ohm
|
value.unit = Ohm
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[r2]
|
[r2]
|
||||||
class = secop_psi.ppms.BridgeChannel
|
class = frappy_psi.ppms.BridgeChannel
|
||||||
description = resistivity channel 2
|
description = resistivity channel 2
|
||||||
no = 2
|
no = 2
|
||||||
value.unit = Ohm
|
value.unit = Ohm
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[r3]
|
[r3]
|
||||||
class = secop_psi.ppms.BridgeChannel
|
class = frappy_psi.ppms.BridgeChannel
|
||||||
description = resistivity channel 3
|
description = resistivity channel 3
|
||||||
no = 3
|
no = 3
|
||||||
value.unit = Ohm
|
value.unit = Ohm
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[r4]
|
[r4]
|
||||||
class = secop_psi.ppms.BridgeChannel
|
class = frappy_psi.ppms.BridgeChannel
|
||||||
description = resistivity channel 4
|
description = resistivity channel 4
|
||||||
no = 4
|
no = 4
|
||||||
value.unit = Ohm
|
value.unit = Ohm
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[i1]
|
[i1]
|
||||||
class = secop_psi.ppms.Channel
|
class = frappy_psi.ppms.Channel
|
||||||
description = current channel 1
|
description = current channel 1
|
||||||
no = 1
|
no = 1
|
||||||
value.unit = uA
|
value.unit = uA
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[i2]
|
[i2]
|
||||||
class = secop_psi.ppms.Channel
|
class = frappy_psi.ppms.Channel
|
||||||
description = current channel 2
|
description = current channel 2
|
||||||
no = 2
|
no = 2
|
||||||
value.unit = uA
|
value.unit = uA
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[i3]
|
[i3]
|
||||||
class = secop_psi.ppms.Channel
|
class = frappy_psi.ppms.Channel
|
||||||
description = current channel 3
|
description = current channel 3
|
||||||
no = 3
|
no = 3
|
||||||
value.unit = uA
|
value.unit = uA
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[i4]
|
[i4]
|
||||||
class = secop_psi.ppms.Channel
|
class = frappy_psi.ppms.Channel
|
||||||
description = current channel 4
|
description = current channel 4
|
||||||
no = 4
|
no = 4
|
||||||
value.unit = uA
|
value.unit = uA
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[v1]
|
[v1]
|
||||||
class = secop_psi.ppms.DriverChannel
|
class = frappy_psi.ppms.DriverChannel
|
||||||
description = voltage channel 1
|
description = voltage channel 1
|
||||||
no = 1
|
no = 1
|
||||||
value.unit = V
|
value.unit = V
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[v2]
|
[v2]
|
||||||
class = secop_psi.ppms.DriverChannel
|
class = frappy_psi.ppms.DriverChannel
|
||||||
description = voltage channel 2
|
description = voltage channel 2
|
||||||
no = 2
|
no = 2
|
||||||
value.unit = V
|
value.unit = V
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[tv]
|
[tv]
|
||||||
class = secop_psi.ppms.UserChannel
|
class = frappy_psi.ppms.UserChannel
|
||||||
description = VTI temperature
|
description = VTI temperature
|
||||||
enabled = 1
|
enabled = 1
|
||||||
value.unit = K
|
value.unit = K
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[ts]
|
[ts]
|
||||||
class = secop_psi.ppms.UserChannel
|
class = frappy_psi.ppms.UserChannel
|
||||||
description = sample temperature
|
description = sample temperature
|
||||||
enabled = 1
|
enabled = 1
|
||||||
value.unit = K
|
value.unit = K
|
||||||
io = ppms
|
io = ppms
|
||||||
|
|
||||||
[ppms]
|
[ppms]
|
||||||
class = secop_psi.ppms.Main
|
class = frappy_psi.ppms.Main
|
||||||
description = the main and poller module
|
description = the main and poller module
|
||||||
class_id = QD.MULTIVU.PPMS.1
|
class_id = QD.MULTIVU.PPMS.1
|
||||||
visibility = 3
|
visibility = 3
|
||||||
|
@ -7,13 +7,13 @@ bindto = 0.0.0.0
|
|||||||
bindport = 5002
|
bindport = 5002
|
||||||
|
|
||||||
[module secnode]
|
[module secnode]
|
||||||
class = secop.SecNode
|
class = frappy.SecNode
|
||||||
description = a SEC node
|
description = a SEC node
|
||||||
uri = tcp://localhost:5000
|
uri = tcp://localhost:5000
|
||||||
|
|
||||||
[module mf]
|
[module mf]
|
||||||
class = secop.Proxy
|
class = frappy.Proxy
|
||||||
remote_class = secop_psi.ppms.Field
|
remote_class = frappy_psi.ppms.Field
|
||||||
description = magnetic field
|
description = magnetic field
|
||||||
iodev = secnode
|
iodev = secnode
|
||||||
value.min = -0.1
|
value.min = -0.1
|
||||||
|
@ -10,7 +10,7 @@ bindport=10767
|
|||||||
|
|
||||||
|
|
||||||
[module sim]
|
[module sim]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=simulation stuff
|
.description=simulation stuff
|
||||||
.extra_params=param3,param4,jitter,ramp
|
.extra_params=param3,param4,jitter,ramp
|
||||||
param3.datatype={"type":"bool"}
|
param3.datatype={"type":"bool"}
|
||||||
|
@ -19,14 +19,14 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module enable]
|
[module enable]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
value.datatype={"type":"enum", "members":{'On':1,'Off':0}}
|
value.datatype={"type":"enum", "members":{'On':1,'Off':0}}
|
||||||
target.datatype={"type":"enum", "members":{'On':1,'Off':0}}
|
target.datatype={"type":"enum", "members":{'On':1,'Off':0}}
|
||||||
.description='Enables to Output of the Powersupply'
|
.description='Enables to Output of the Powersupply'
|
||||||
.visibility='advanced'
|
.visibility='advanced'
|
||||||
|
|
||||||
[module polarity]
|
[module polarity]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
value.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}
|
value.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}
|
||||||
target.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}
|
target.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}
|
||||||
.description=polarity (+/-) switch
|
.description=polarity (+/-) switch
|
||||||
@ -38,7 +38,7 @@ target.datatype={"type":"enum", "members":{'+1':1,'0':0,'-1':-1}}
|
|||||||
|
|
||||||
|
|
||||||
[module symmetry]
|
[module symmetry]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
value.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}}
|
value.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}}
|
||||||
target.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}}
|
target.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric':-1}}
|
||||||
.description=par/ser switch selecting (a)symmetric mode
|
.description=par/ser switch selecting (a)symmetric mode
|
||||||
@ -48,31 +48,31 @@ target.datatype={"type":"enum", "members":{'symmetric':1,'short':0, 'asymmetric'
|
|||||||
value.default = 'symmetric'
|
value.default = 'symmetric'
|
||||||
|
|
||||||
[module T1]
|
[module T1]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature1 of the coils system
|
.description=Temperature1 of the coils system
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
value.default = 23.45
|
value.default = 23.45
|
||||||
|
|
||||||
[module T2]
|
[module T2]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature2 of the coils system
|
.description=Temperature2 of the coils system
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
value.default = 23.45
|
value.default = 23.45
|
||||||
|
|
||||||
[module T3]
|
[module T3]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature3 of the coils system
|
.description=Temperature3 of the coils system
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
value.default = 23.45
|
value.default = 23.45
|
||||||
|
|
||||||
[module T4]
|
[module T4]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature4 of the coils system
|
.description=Temperature4 of the coils system
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
value.default = 23.45
|
value.default = 23.45
|
||||||
|
|
||||||
[module currentsource]
|
[module currentsource]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Device for the magnet power supply (current mode)
|
.description=Device for the magnet power supply (current mode)
|
||||||
abslimits=(0,200)
|
abslimits=(0,200)
|
||||||
speed=1
|
speed=1
|
||||||
@ -98,7 +98,7 @@ window.datatype = {"type":"double", "min":0, "max":120, "unit":"s"}
|
|||||||
window.default = 10
|
window.default = 10
|
||||||
|
|
||||||
[module mf]
|
[module mf]
|
||||||
class=secop_mlz.amagnet.GarfieldMagnet
|
class=frappy_mlz.amagnet.GarfieldMagnet
|
||||||
.description=magnetic field module, handling polarity switching and stuff
|
.description=magnetic field module, handling polarity switching and stuff
|
||||||
subdev_currentsource=currentsource
|
subdev_currentsource=currentsource
|
||||||
subdev_enable=enable
|
subdev_enable=enable
|
||||||
|
@ -11,7 +11,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_cci3he1]
|
[module T_cci3he1]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of cci3he1.
|
.description=Main temperature control node of cci3he1.
|
||||||
.
|
.
|
||||||
Controls the regulation loop of the ls370.
|
Controls the regulation loop of the ls370.
|
||||||
@ -26,7 +26,7 @@ ramp.default=60
|
|||||||
.meaning=["temperature_regulation",40]
|
.meaning=["temperature_regulation",40]
|
||||||
|
|
||||||
[module T_cci3he1_A]
|
[module T_cci3he1_A]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=3He pot temperature sensor. Also used for the regulation.
|
.description=3He pot temperature sensor. Also used for the regulation.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -34,7 +34,7 @@ value.datatype={"type":"double","unit":"K"}
|
|||||||
.meaning=["temperature",38]
|
.meaning=["temperature",38]
|
||||||
|
|
||||||
[module T_cci3he1_B]
|
[module T_cci3he1_B]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) sample temperature sensor close to sample.
|
.description=(optional) sample temperature sensor close to sample.
|
||||||
.visibility=user
|
.visibility=user
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -42,49 +42,49 @@ value.datatype={"type":"double","unit":"K"}
|
|||||||
.meaning=["temperature",39]
|
.meaning=["temperature",39]
|
||||||
|
|
||||||
[module cci3he1_p1]
|
[module cci3he1_p1]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at turbo pump inlet.
|
.description=Pressure at turbo pump inlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=2e-3
|
value.default=2e-3
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_p2]
|
[module cci3he1_p2]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at turbo pump outlet.
|
.description=Pressure at turbo pump outlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=9.87
|
value.default=9.87
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_p3]
|
[module cci3he1_p3]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at compressor inlet.
|
.description=Pressure at compressor inlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=19.99
|
value.default=19.99
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_p4]
|
[module cci3he1_p4]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at compressor outlet.
|
.description=Pressure at compressor outlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_p5]
|
[module cci3he1_p5]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure in dump tank.
|
.description=Pressure in dump tank.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=567
|
value.default=567
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_p6]
|
[module cci3he1_p6]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure in the vacuum dewar (ivc).
|
.description=Pressure in the vacuum dewar (ivc).
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=1e-3
|
value.default=1e-3
|
||||||
value.datatype={"type":"double","unit":"mbar"}
|
value.datatype={"type":"double","unit":"mbar"}
|
||||||
|
|
||||||
[module cci3he1_flow]
|
[module cci3he1_flow]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Gas Flow (condensing line).
|
.description=Gas Flow (condensing line).
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=12.34
|
value.default=12.34
|
||||||
|
@ -11,7 +11,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_ccidu1]
|
[module T_ccidu1]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of ccidu1.
|
.description=Main temperature control node of ccidu1.
|
||||||
.
|
.
|
||||||
Controls the regulation loop of the ls372.
|
Controls the regulation loop of the ls372.
|
||||||
@ -26,7 +26,7 @@ ramp.default=60
|
|||||||
.meaning=["temperature_regulation",40]
|
.meaning=["temperature_regulation",40]
|
||||||
|
|
||||||
[module T_ccidu1_A]
|
[module T_ccidu1_A]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=mixing chamber temperature sensor. Also used for the regulation.
|
.description=mixing chamber temperature sensor. Also used for the regulation.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -34,7 +34,7 @@ value.datatype={"type":"double", "unit":"K"}
|
|||||||
.meaning=["temperature",38]
|
.meaning=["temperature",38]
|
||||||
|
|
||||||
[module T_ccidu1_B]
|
[module T_ccidu1_B]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) sample temperature sensor close to sample.
|
.description=(optional) sample temperature sensor close to sample.
|
||||||
.visibility=user
|
.visibility=user
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -42,49 +42,49 @@ value.datatype={"type":"double", "unit":"K"}
|
|||||||
.meaning=["temperature",39]
|
.meaning=["temperature",39]
|
||||||
|
|
||||||
[module ccidu1_pstill]
|
[module ccidu1_pstill]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at the still/turbo pump inlet.
|
.description=Pressure at the still/turbo pump inlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_pinlet]
|
[module ccidu1_pinlet]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at forepump inlet/turbo pump outlet.
|
.description=Pressure at forepump inlet/turbo pump outlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_poutlet]
|
[module ccidu1_poutlet]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at forepump outlet/compressor inlet.
|
.description=Pressure at forepump outlet/compressor inlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_pkond]
|
[module ccidu1_pkond]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure at condensing line/compressor outlet.
|
.description=Pressure at condensing line/compressor outlet.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_ptank]
|
[module ccidu1_ptank]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure in dump tank.
|
.description=Pressure in dump tank.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_pvac]
|
[module ccidu1_pvac]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure in the vacuum dewar (ivc).
|
.description=Pressure in the vacuum dewar (ivc).
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
|
|
||||||
[module ccidu1_flow]
|
[module ccidu1_flow]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Gas Flow (condensing line).
|
.description=Gas Flow (condensing line).
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=999
|
value.default=999
|
||||||
@ -92,14 +92,14 @@ value.datatype={"type":"double", "unit":"mbar"}
|
|||||||
|
|
||||||
# note: all valves and switches are missing: use VNC to control them
|
# note: all valves and switches are missing: use VNC to control them
|
||||||
[module ccidu1_V6]
|
[module ccidu1_V6]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Needle valve
|
.description=Needle valve
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=99
|
value.default=99
|
||||||
value.datatype={"type":"double", "min":0, "max":100, "unit":"%%"}
|
value.datatype={"type":"double", "min":0, "max":100, "unit":"%%"}
|
||||||
|
|
||||||
[module ccidu1_V3]
|
[module ccidu1_V3]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Dump Valve
|
.description=Dump Valve
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default="OFF"
|
value.default="OFF"
|
||||||
|
@ -12,7 +12,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_ccr12]
|
[module T_ccr12]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of CCR12.
|
.description=Main temperature control node of CCR12.
|
||||||
.
|
.
|
||||||
Switches between regulation on stick and regulation on tube depending on temperature requested.
|
Switches between regulation on stick and regulation on tube depending on temperature requested.
|
||||||
@ -30,7 +30,7 @@ target.default=300
|
|||||||
.meaning=["temperature_regulation", 20]
|
.meaning=["temperature_regulation", 20]
|
||||||
|
|
||||||
[module T_ccr12_stick]
|
[module T_ccr12_stick]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Temperature regulation for the sample stick in ccr12.
|
.description=Temperature regulation for the sample stick in ccr12.
|
||||||
.extra_params=ramp
|
.extra_params=ramp
|
||||||
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
||||||
@ -42,7 +42,7 @@ target.default=300
|
|||||||
.meaning=["temperature_regulation", 15]
|
.meaning=["temperature_regulation", 15]
|
||||||
|
|
||||||
[module T_ccr12_tube]
|
[module T_ccr12_tube]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Temperature regulation for the tube of ccr12.
|
.description=Temperature regulation for the tube of ccr12.
|
||||||
.extra_params=ramp
|
.extra_params=ramp
|
||||||
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
ramp.datatype={"type":"double", "min":0,"max":60, "unit":"K/min"}
|
||||||
@ -54,28 +54,28 @@ target.default=300
|
|||||||
.meaning=["temperature_regulation", 10]
|
.meaning=["temperature_regulation", 10]
|
||||||
|
|
||||||
[module T_ccr12_A]
|
[module T_ccr12_A]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) Sample temperature sensor.
|
.description=(optional) Sample temperature sensor.
|
||||||
value.datatype={"type":"double", "unit":"K"}
|
value.datatype={"type":"double", "unit":"K"}
|
||||||
value.default=300
|
value.default=300
|
||||||
.meaning=["temperature", 9]
|
.meaning=["temperature", 9]
|
||||||
|
|
||||||
[module T_ccr12_B]
|
[module T_ccr12_B]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(regulation) temperature sensor on stick.
|
.description=(regulation) temperature sensor on stick.
|
||||||
value.datatype={"type":"double", "unit":"K"}
|
value.datatype={"type":"double", "unit":"K"}
|
||||||
value.default=300
|
value.default=300
|
||||||
.meaning=["temperature", 10]
|
.meaning=["temperature", 10]
|
||||||
|
|
||||||
[module T_ccr12_C]
|
[module T_ccr12_C]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature at the coldhead.
|
.description=Temperature at the coldhead.
|
||||||
value.datatype={"type":"double", "unit":"K"}
|
value.datatype={"type":"double", "unit":"K"}
|
||||||
value.default=70
|
value.default=70
|
||||||
.meaning=["temperature", 1]
|
.meaning=["temperature", 1]
|
||||||
|
|
||||||
[module T_ccr12_D]
|
[module T_ccr12_D]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(regulation) temperature at coupling to stick.
|
.description=(regulation) temperature at coupling to stick.
|
||||||
value.datatype={"type":"double", "unit":"K"}
|
value.datatype={"type":"double", "unit":"K"}
|
||||||
value.default=80
|
value.default=80
|
||||||
@ -84,7 +84,7 @@ value.default=80
|
|||||||
|
|
||||||
|
|
||||||
[module ccr12_pressure_regulate]
|
[module ccr12_pressure_regulate]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Selects on which Sensor the pressure regulation works, or switches it off.
|
.description=Selects on which Sensor the pressure regulation works, or switches it off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"enum", "members":{'off':0,'p1':1,'p2':2}}
|
value.datatype={"type":"enum", "members":{'off':0,'p1':1,'p2':2}}
|
||||||
@ -93,7 +93,7 @@ target.datatype={"type":"enum", "members":{'off':0,'p1':1,'p2':2}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module ccr12_compressor]
|
[module ccr12_compressor]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Switches the compressor for the cooling stage on or off.
|
.description=Switches the compressor for the cooling stage on or off.
|
||||||
.
|
.
|
||||||
Note: This should always be on, except for fast heatup for sample change.
|
Note: This should always be on, except for fast heatup for sample change.
|
||||||
@ -103,7 +103,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='on'
|
target.default='on'
|
||||||
|
|
||||||
[module ccr12_gas_switch]
|
[module ccr12_gas_switch]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the gas inlet on or off.
|
.description=Switches the gas inlet on or off.
|
||||||
.
|
.
|
||||||
note: in reality this switches itself off after 15min.
|
note: in reality this switches itself off after 15min.
|
||||||
@ -115,7 +115,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module ccr12_vacuum_switch]
|
[module ccr12_vacuum_switch]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the vacuum pumping valve on or off.
|
.description=Switches the vacuum pumping valve on or off.
|
||||||
.
|
.
|
||||||
note: in reality this is interlocked with ccr12_gas_switch, only one can be on!
|
note: in reality this is interlocked with ccr12_gas_switch, only one can be on!
|
||||||
@ -126,19 +126,19 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module ccr12_p1]
|
[module ccr12_p1]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Default pressure Sensor, linear scale 0..1000mbar
|
.description=Default pressure Sensor, linear scale 0..1000mbar
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
value.default=999
|
value.default=999
|
||||||
|
|
||||||
[module ccr12_p2]
|
[module ccr12_p2]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Auxillary pressure Sensor.
|
.description=Auxillary pressure Sensor.
|
||||||
value.datatype={"type":"double", "unit":"mbar"}
|
value.datatype={"type":"double", "unit":"mbar"}
|
||||||
value.default=1e-6
|
value.default=1e-6
|
||||||
|
|
||||||
[module ccr12_curve_p2]
|
[module ccr12_curve_p2]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Curve for Aux pressure Sensor p2
|
.description=Curve for Aux pressure Sensor p2
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='TTR100'
|
value.default='TTR100'
|
||||||
@ -146,7 +146,7 @@ value.datatype={"type":"enum", "members":{'0..10V':0,'default':1,'0..9V':2,'DI20
|
|||||||
target.datatype={"type":"enum", "members":{'0..10V':0,'default':1,'0..9V':2,'DI200':3,'DI2000':4,'TTR100':7,'PTR90':8,'PTR225/PTR237':9,'ITR90':10,'ITR100 curve D':11, 'ITR100 curve 2':12, 'ITR100 curve 3':13,'ITR100 curve 4':14,'ITR100 curve 5':15, 'ITR100 curve 6':16, 'ITR100 curve 7':17, 'ITR100 curve 8':18, 'ITR100 curve 9':19, 'ITR100 curve A':20,'CMR361':21, 'CMR362':22, 'CMR363':23, 'CMR364':24, 'CMR365':25}}
|
target.datatype={"type":"enum", "members":{'0..10V':0,'default':1,'0..9V':2,'DI200':3,'DI2000':4,'TTR100':7,'PTR90':8,'PTR225/PTR237':9,'ITR90':10,'ITR100 curve D':11, 'ITR100 curve 2':12, 'ITR100 curve 3':13,'ITR100 curve 4':14,'ITR100 curve 5':15, 'ITR100 curve 6':16, 'ITR100 curve 7':17, 'ITR100 curve 8':18, 'ITR100 curve 9':19, 'ITR100 curve A':20,'CMR361':21, 'CMR362':22, 'CMR363':23, 'CMR364':24, 'CMR365':25}}
|
||||||
|
|
||||||
[module ccr12_p1_limits]
|
[module ccr12_p1_limits]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Limits for pressure regulation in P1.
|
.description=Limits for pressure regulation in P1.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
||||||
@ -155,7 +155,7 @@ target.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000,
|
|||||||
target.default=[0,10]
|
target.default=[0,10]
|
||||||
|
|
||||||
[module ccr12_p2_limits]
|
[module ccr12_p2_limits]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Limits for pressure regulation in P2.
|
.description=Limits for pressure regulation in P2.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
value.datatype={"type":"limit","members":{"type":"double", "min":0,"max":1000, "unit":"mbar"}}
|
||||||
|
@ -12,7 +12,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_ccr12]
|
[module T_ccr12]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of CCR12.
|
.description=Main temperature control node of CCR12.
|
||||||
.
|
.
|
||||||
Switches between regulation on stick and regulation on tube depending on temperature requested.
|
Switches between regulation on stick and regulation on tube depending on temperature requested.
|
||||||
@ -41,7 +41,7 @@ userlimits.readonly=False
|
|||||||
.meaning=["temperature_regulation", 20]
|
.meaning=["temperature_regulation", 20]
|
||||||
|
|
||||||
[module T_ccr12_A]
|
[module T_ccr12_A]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) Sample temperature sensor.
|
.description=(optional) Sample temperature sensor.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"double", "min":0, "unit":"K"}
|
value.datatype={"type":"double", "min":0, "unit":"K"}
|
||||||
@ -49,7 +49,7 @@ value.default=300
|
|||||||
.meaning=["temperature", 9]
|
.meaning=["temperature", 9]
|
||||||
|
|
||||||
[module T_ccr12_B]
|
[module T_ccr12_B]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(regulation) temperature sensor on stick.
|
.description=(regulation) temperature sensor on stick.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"double", "min":0, "unit":"K"}
|
value.datatype={"type":"double", "min":0, "unit":"K"}
|
||||||
@ -57,7 +57,7 @@ value.default=300
|
|||||||
.meaning=["temperature", 10]
|
.meaning=["temperature", 10]
|
||||||
|
|
||||||
[module T_ccr12_C]
|
[module T_ccr12_C]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Temperature at the coldhead.
|
.description=Temperature at the coldhead.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"double", "min":0, "unit":"K"}
|
value.datatype={"type":"double", "min":0, "unit":"K"}
|
||||||
@ -65,7 +65,7 @@ value.default=70
|
|||||||
.meaning=["temperature", 1]
|
.meaning=["temperature", 1]
|
||||||
|
|
||||||
[module T_ccr12_D]
|
[module T_ccr12_D]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(regulation) temperature at coupling to stick.
|
.description=(regulation) temperature at coupling to stick.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.datatype={"type":"double", "min":0, "unit":"K"}
|
value.datatype={"type":"double", "min":0, "unit":"K"}
|
||||||
@ -75,7 +75,7 @@ value.default=80
|
|||||||
|
|
||||||
|
|
||||||
[module ccr12_pressure_regulation]
|
[module ccr12_pressure_regulation]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Simple two-point presssure regulation. the mode parameter selects the readout on which to regulate, or 'none' for no regulation.
|
.description=Simple two-point presssure regulation. the mode parameter selects the readout on which to regulate, or 'none' for no regulation.
|
||||||
.visibility=user
|
.visibility=user
|
||||||
.extra_params=switchpoints, mode
|
.extra_params=switchpoints, mode
|
||||||
@ -91,7 +91,7 @@ value.datatype={"type":"double", "min":0, "max":1000, "unit":"mbar"}
|
|||||||
value.default = 1e-5
|
value.default = 1e-5
|
||||||
|
|
||||||
[module ccr12_compressor]
|
[module ccr12_compressor]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Switches the compressor for the cooling stage on or off.
|
.description=Switches the compressor for the cooling stage on or off.
|
||||||
.
|
.
|
||||||
Note: This should always be on, except for fast heatup for sample change.
|
Note: This should always be on, except for fast heatup for sample change.
|
||||||
@ -101,7 +101,7 @@ value.default='off'
|
|||||||
target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
||||||
|
|
||||||
[module ccr12_gas_switch]
|
[module ccr12_gas_switch]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the gas inlet on or off.
|
.description=Switches the gas inlet on or off.
|
||||||
.
|
.
|
||||||
note: in reality this switches itself off after 15min.
|
note: in reality this switches itself off after 15min.
|
||||||
@ -113,7 +113,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module ccr12_vacuum_switch]
|
[module ccr12_vacuum_switch]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the vacuum pumping valve on or off.
|
.description=Switches the vacuum pumping valve on or off.
|
||||||
.
|
.
|
||||||
note: in reality this is interlocked with ccr12_gas_switch, only one can be on!
|
note: in reality this is interlocked with ccr12_gas_switch, only one can be on!
|
||||||
@ -124,7 +124,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module ccr12_p1]
|
[module ccr12_p1]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Default pressure Sensor, linear scale 0..1000 mbar
|
.description=Default pressure Sensor, linear scale 0..1000 mbar
|
||||||
.
|
.
|
||||||
Good candidate for a 'Sensor' Interface class!
|
Good candidate for a 'Sensor' Interface class!
|
||||||
@ -140,7 +140,7 @@ userlimits.description=current user set limits for the pressure regulation.
|
|||||||
userlimits.readonly=False
|
userlimits.readonly=False
|
||||||
|
|
||||||
[module ccr12_p2]
|
[module ccr12_p2]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Auxillary pressure Sensor.
|
.description=Auxillary pressure Sensor.
|
||||||
value.default=1e-6
|
value.default=1e-6
|
||||||
value.unit=mbar
|
value.unit=mbar
|
||||||
|
@ -10,7 +10,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_htf02]
|
[module T_htf02]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of htf02.
|
.description=Main temperature control node of htf02.
|
||||||
.
|
.
|
||||||
Controls the regulation loop of the Eurotherm.
|
Controls the regulation loop of the Eurotherm.
|
||||||
@ -26,7 +26,7 @@ ramp.readonly=False
|
|||||||
.meaning=["temperature", 10]
|
.meaning=["temperature", 10]
|
||||||
|
|
||||||
[module htf02_p]
|
[module htf02_p]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Pressure Sensor at sample space (ivc).
|
.description=Pressure Sensor at sample space (ivc).
|
||||||
value.datatype={"type":"double", "min":0, "unit":"mbar"}
|
value.datatype={"type":"double", "min":0, "unit":"mbar"}
|
||||||
value.default=989
|
value.default=989
|
||||||
|
@ -10,7 +10,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T_stressihtf2]
|
[module T_stressihtf2]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of Stressihtf2.
|
.description=Main temperature control node of Stressihtf2.
|
||||||
value.datatype={"type":"double", "min":0, "unit":"degC"}
|
value.datatype={"type":"double", "min":0, "unit":"degC"}
|
||||||
value.default=20
|
value.default=20
|
||||||
@ -30,7 +30,7 @@ userlimits.readonly=False
|
|||||||
.meaning=['temperature_regulation', 10]
|
.meaning=['temperature_regulation', 10]
|
||||||
|
|
||||||
[module T_stressihtf2_sample]
|
[module T_stressihtf2_sample]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) Sample temperature sensor.
|
.description=(optional) Sample temperature sensor.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -38,7 +38,7 @@ value.datatype={"type":"double", "min":0, "unit":"degC"}
|
|||||||
.meaning=["temperature", 9]
|
.meaning=["temperature", 9]
|
||||||
|
|
||||||
[module stressihtf2_n2]
|
[module stressihtf2_n2]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the N2 gas inlet on or off.
|
.description=Switches the N2 gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='off'
|
value.default='off'
|
||||||
@ -47,7 +47,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module stressihtf2_he]
|
[module stressihtf2_he]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the He gas inlet on or off.
|
.description=Switches the He gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='off'
|
value.default='off'
|
||||||
@ -56,7 +56,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module stressihtf2_lamps]
|
[module stressihtf2_lamps]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the heating lamps on or off.
|
.description=Switches the heating lamps on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='on'
|
value.default='on'
|
||||||
@ -65,7 +65,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='on'
|
target.default='on'
|
||||||
|
|
||||||
[module stressihtf2_water_ok]
|
[module stressihtf2_water_ok]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Readout of the cooling water state.
|
.description=Readout of the cooling water state.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='ok'
|
value.default='ok'
|
||||||
|
@ -10,7 +10,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T]
|
[module T]
|
||||||
class=secop.simulation.SimDrivable
|
class=frappy.simulation.SimDrivable
|
||||||
.description=Main temperature control node of Stressihtf2.
|
.description=Main temperature control node of Stressihtf2.
|
||||||
value.datatype={"type":"double", "min":0, "unit":"degC"}
|
value.datatype={"type":"double", "min":0, "unit":"degC"}
|
||||||
value.default=20
|
value.default=20
|
||||||
@ -30,7 +30,7 @@ userlimits.readonly=False
|
|||||||
.meaning=['temperature_regulation', 10]
|
.meaning=['temperature_regulation', 10]
|
||||||
|
|
||||||
[module T_sample]
|
[module T_sample]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=(optional) Sample temperature sensor.
|
.description=(optional) Sample temperature sensor.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default=300
|
value.default=300
|
||||||
@ -38,7 +38,7 @@ value.datatype={"type":"double", "min":0, "unit":"degC"}
|
|||||||
.meaning=["temperature", 9]
|
.meaning=["temperature", 9]
|
||||||
|
|
||||||
[module N2]
|
[module N2]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the N2 gas inlet on or off.
|
.description=Switches the N2 gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='off'
|
value.default='off'
|
||||||
@ -47,7 +47,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module He]
|
[module He]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the He gas inlet on or off.
|
.description=Switches the He gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='off'
|
value.default='off'
|
||||||
@ -56,7 +56,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='off'
|
target.default='off'
|
||||||
|
|
||||||
[module lamps]
|
[module lamps]
|
||||||
class=secop.simulation.SimWritable
|
class=frappy.simulation.SimWritable
|
||||||
.description=Switches the heating lamps on or off.
|
.description=Switches the heating lamps on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='on'
|
value.default='on'
|
||||||
@ -65,7 +65,7 @@ target.datatype={"type":"enum", "members":{'off':0,'on':1}}
|
|||||||
target.default='on'
|
target.default='on'
|
||||||
|
|
||||||
[module water_ok]
|
[module water_ok]
|
||||||
class=secop.simulation.SimReadable
|
class=frappy.simulation.SimReadable
|
||||||
.description=Readout of the cooling water state.
|
.description=Readout of the cooling water state.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.default='ok'
|
value.default='ok'
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
[r3]
|
[r3]
|
||||||
class = secop.core.Proxy
|
class = frappy.core.Proxy
|
||||||
remote_class = secop.core.Readable
|
remote_class = frappy.core.Readable
|
||||||
description = temp sensor on 3He system
|
description = temp sensor on 3He system
|
||||||
uri = tcp://pc12694:5000
|
uri = tcp://pc12694:5000
|
||||||
export = False
|
export = False
|
||||||
|
|
||||||
[t3]
|
[t3]
|
||||||
class = secop_psi.softcal.Sensor
|
class = frappy_psi.softcal.Sensor
|
||||||
rawsensor = r3
|
rawsensor = r3
|
||||||
calib = X131346
|
calib = X131346
|
||||||
value.unit = K
|
value.unit = K
|
||||||
|
@ -11,7 +11,7 @@ bindto=0.0.0.0
|
|||||||
bindport=10767
|
bindport=10767
|
||||||
|
|
||||||
[module T]
|
[module T]
|
||||||
class=secop_mlz.entangle.TemperatureController
|
class=frappy_mlz.entangle.TemperatureController
|
||||||
tangodevice=tango://localhost:10000/box/eurotherm/ctrl
|
tangodevice=tango://localhost:10000/box/eurotherm/ctrl
|
||||||
.description=Main temperature control node of Stressihtf2.
|
.description=Main temperature control node of Stressihtf2.
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
@ -41,42 +41,42 @@ pid.default=[1,0,0]
|
|||||||
speed.default=0
|
speed.default=0
|
||||||
|
|
||||||
[module T_sample_a]
|
[module T_sample_a]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/eurotherm/sensora
|
tangodevice=tango://localhost:10000/box/eurotherm/sensora
|
||||||
.description=Regulation temperature sensor.
|
.description=Regulation temperature sensor.
|
||||||
.visibility=user
|
.visibility=user
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module T_sample_b]
|
[module T_sample_b]
|
||||||
class=secop_mlz.entangle.Sensor
|
class=frappy_mlz.entangle.Sensor
|
||||||
tangodevice=tango://localhost:10000/box/eurotherm/sensorb
|
tangodevice=tango://localhost:10000/box/eurotherm/sensorb
|
||||||
.description=(optional) Sample temperature sensor.
|
.description=(optional) Sample temperature sensor.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
value.unit='degC'
|
value.unit='degC'
|
||||||
|
|
||||||
[module N2]
|
[module N2]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_gas1
|
tangodevice=tango://localhost:10000/box/plc/_gas1
|
||||||
.description=Switches the N2 gas inlet on or off.
|
.description=Switches the N2 gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
mapping=dict(off=0,on=1)
|
mapping=dict(off=0,on=1)
|
||||||
|
|
||||||
[module He]
|
[module He]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_gas2
|
tangodevice=tango://localhost:10000/box/plc/_gas2
|
||||||
.description=Switches the He gas inlet on or off.
|
.description=Switches the He gas inlet on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
mapping=dict(off=0,on=1)
|
mapping=dict(off=0,on=1)
|
||||||
|
|
||||||
[module lamps]
|
[module lamps]
|
||||||
class=secop_mlz.entangle.NamedDigitalOutput
|
class=frappy_mlz.entangle.NamedDigitalOutput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_onoff
|
tangodevice=tango://localhost:10000/box/plc/_onoff
|
||||||
.description=Switches the heating lamps on or off.
|
.description=Switches the heating lamps on or off.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
mapping=dict(off=0,on=1)
|
mapping=dict(off=0,on=1)
|
||||||
|
|
||||||
[module water_ok]
|
[module water_ok]
|
||||||
class=secop_mlz.entangle.NamedDigitalInput
|
class=frappy_mlz.entangle.NamedDigitalInput
|
||||||
tangodevice=tango://localhost:10000/box/plc/_waterok
|
tangodevice=tango://localhost:10000/box/plc/_waterok
|
||||||
.description=Readout of the cooling water state.
|
.description=Readout of the cooling water state.
|
||||||
.visibility=expert
|
.visibility=expert
|
||||||
|
12
cfg/test.cfg
@ -15,32 +15,32 @@ bindport=10768
|
|||||||
|
|
||||||
|
|
||||||
[module LN2]
|
[module LN2]
|
||||||
class=secop_demo.test.LN2
|
class=frappy_demo.test.LN2
|
||||||
.description="random value between 0..100%%"
|
.description="random value between 0..100%%"
|
||||||
value.unit = "%%"
|
value.unit = "%%"
|
||||||
|
|
||||||
[module heater]
|
[module heater]
|
||||||
class=secop_demo.test.Heater
|
class=frappy_demo.test.Heater
|
||||||
maxheaterpower=10
|
maxheaterpower=10
|
||||||
.description="some heater"
|
.description="some heater"
|
||||||
|
|
||||||
[module T1]
|
[module T1]
|
||||||
class=secop_demo.test.Temp
|
class=frappy_demo.test.Temp
|
||||||
sensor="X34598T7"
|
sensor="X34598T7"
|
||||||
.description="some temperature"
|
.description="some temperature"
|
||||||
|
|
||||||
[module T2]
|
[module T2]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X34598T8"
|
sensor="X34598T8"
|
||||||
.description="some temperature"
|
.description="some temperature"
|
||||||
|
|
||||||
[module T3]
|
[module T3]
|
||||||
class=secop_demo.modules.CoilTemp
|
class=frappy_demo.modules.CoilTemp
|
||||||
sensor="X34598T9"
|
sensor="X34598T9"
|
||||||
.description="some temperature"
|
.description="some temperature"
|
||||||
|
|
||||||
|
|
||||||
[module Lower]
|
[module Lower]
|
||||||
class=secop_demo.test.Lower
|
class=frappy_demo.test.Lower
|
||||||
.description="something else"
|
.description="something else"
|
||||||
|
|
||||||
|
10
ci/Jenkinsfile
vendored
@ -200,16 +200,16 @@ node("dockerhost") {
|
|||||||
sh '''#!/bin/bash
|
sh '''#!/bin/bash
|
||||||
git worktree add tmpmaster origin/master
|
git worktree add tmpmaster origin/master
|
||||||
cd tmpmaster
|
cd tmpmaster
|
||||||
docker build --target base --tag secop_base:latest ci
|
docker build --target base --tag frappy_base:latest ci
|
||||||
docker build --target docs --tag secop_docs:latest ci
|
docker build --target docs --tag frappy_docs:latest ci
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf tmpmaster
|
rm -rf tmpmaster
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('execute tests') {
|
stage('execute tests') {
|
||||||
def img = docker.image('secop_base:latest')
|
def img = docker.image('frappy_base:latest')
|
||||||
def docimg = docker.image('secop_docs:latest')
|
def docimg = docker.image('frappy_docs:latest')
|
||||||
|
|
||||||
parallel 'Test': {
|
parallel 'Test': {
|
||||||
img.inside {
|
img.inside {
|
||||||
@ -227,7 +227,7 @@ node("dockerhost") {
|
|||||||
if (GERRIT_EVENT_TYPE == 'change-merged')
|
if (GERRIT_EVENT_TYPE == 'change-merged')
|
||||||
{
|
{
|
||||||
sh '''
|
sh '''
|
||||||
rsync -rlv doc/_build/* /ictrlsrv/share/public/doc/secop
|
rsync -rlv doc/_build/* /ictrlsrv/share/public/doc/frappy
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
@ -10,10 +10,10 @@ The Dockerfile defines two images:
|
|||||||
|
|
||||||
To create the images:
|
To create the images:
|
||||||
|
|
||||||
docker build --target <base|docs> --tag secop_<base|docs>:latest .
|
docker build --target <base|docs> --tag frappy_<base|docs>:latest .
|
||||||
|
|
||||||
To test images interactivly:
|
To test images interactivly:
|
||||||
docker run -u jenkins -i -t secop<base|docs> /bin/bash
|
docker run -u jenkins -i -t frappy<base|docs> /bin/bash
|
||||||
|
|
||||||
The Jenkinsfile uses this Dockerfile (only approved checked-in versions from master)
|
The Jenkinsfile uses this Dockerfile (only approved checked-in versions from master)
|
||||||
to build the images (a rebuild will only happen if the Dockerfile is changed as docker
|
to build the images (a rebuild will only happen if the Dockerfile is changed as docker
|
||||||
|
@ -27,7 +27,7 @@ from os import path
|
|||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..', '..')))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..', '..')))
|
||||||
|
|
||||||
from secop.version import get_version
|
from frappy.version import get_version
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ------------------------------------------------
|
# -- General configuration ------------------------------------------------
|
||||||
@ -213,7 +213,7 @@ epub_exclude_files = ['search.html']
|
|||||||
# Example configuration for intersphinx: refer to the Python standard library.
|
# Example configuration for intersphinx: refer to the Python standard library.
|
||||||
intersphinx_mapping = {'https://docs.python.org/': None}
|
intersphinx_mapping = {'https://docs.python.org/': None}
|
||||||
|
|
||||||
from secop.lib.classdoc import class_doc_handler
|
from frappy.lib.classdoc import class_doc_handler
|
||||||
|
|
||||||
def setup(app):
|
def setup(app):
|
||||||
app.connect('autodoc-process-docstring', class_doc_handler)
|
app.connect('autodoc-process-docstring', class_doc_handler)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Demo
|
Demo
|
||||||
====
|
====
|
||||||
|
|
||||||
.. automodule:: secop_demo.cryo
|
.. automodule:: frappy_demo.cryo
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. automodule:: secop_demo.test
|
.. automodule:: frappy_demo.test
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
@ -4,6 +4,6 @@ ESS
|
|||||||
EPICS
|
EPICS
|
||||||
.....
|
.....
|
||||||
|
|
||||||
.. automodule:: secop_ess.epics
|
.. automodule:: frappy_ess.epics
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
@ -4,7 +4,7 @@ MLZ
|
|||||||
Amagnet (Garfield)
|
Amagnet (Garfield)
|
||||||
..................
|
..................
|
||||||
|
|
||||||
.. automodule:: secop_mlz.amagnet
|
.. automodule:: frappy_mlz.amagnet
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ Amagnet (Garfield)
|
|||||||
Entangle Framework
|
Entangle Framework
|
||||||
..................
|
..................
|
||||||
|
|
||||||
.. automodule:: secop_mlz.entangle
|
.. automodule:: frappy_mlz.entangle
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
@ -4,7 +4,7 @@ PSI (SINQ)
|
|||||||
CCU4 tutorial example
|
CCU4 tutorial example
|
||||||
.....................
|
.....................
|
||||||
|
|
||||||
.. automodule:: secop_psi.ccu4
|
.. automodule:: frappy_psi.ccu4
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ CCU4 tutorial example
|
|||||||
PPMS
|
PPMS
|
||||||
....
|
....
|
||||||
|
|
||||||
.. automodule:: secop_psi.ppms
|
.. automodule:: frappy_psi.ppms
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ LakeShore 370
|
|||||||
|
|
||||||
Calibrated sensors and control loop not yet supported.
|
Calibrated sensors and control loop not yet supported.
|
||||||
|
|
||||||
.. automodule:: secop_psi.ls370res
|
.. automodule:: frappy_psi.ls370res
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
@ -7,10 +7,10 @@ Frappy Programming Guide
|
|||||||
introduction
|
introduction
|
||||||
tutorial
|
tutorial
|
||||||
reference
|
reference
|
||||||
secop_psi
|
frappy_psi
|
||||||
secop_demo
|
frappy_demo
|
||||||
secop_mlz
|
frappy_mlz
|
||||||
secop_ess
|
frappy_ess
|
||||||
|
|
||||||
* :ref:`genindex`
|
* :ref:`genindex`
|
||||||
|
|
||||||
|
@ -57,10 +57,10 @@ to provide to the user.
|
|||||||
Programming a Driver
|
Programming a Driver
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Programming a driver means extending one of the base classes like :class:`secop.modules.Readable`
|
Programming a driver means extending one of the base classes like :class:`frappy.modules.Readable`
|
||||||
or :class:`secop.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a
|
or :class:`frappy.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a
|
||||||
class attribute of the extended class, using the :class:`secop.params.Parameter` constructor, or in case
|
class attribute of the extended class, using the :class:`frappy.params.Parameter` constructor, or in case
|
||||||
of altering the properties of an inherited parameter, :class:`secop.params.Override`.
|
of altering the properties of an inherited parameter, :class:`frappy.params.Override`.
|
||||||
|
|
||||||
Parameters usually need a method :meth:`read_<name>()`
|
Parameters usually need a method :meth:`read_<name>()`
|
||||||
implementing the code to retrieve their value from the hardware. Writeable parameters
|
implementing the code to retrieve their value from the hardware. Writeable parameters
|
||||||
|
@ -4,85 +4,85 @@ Reference
|
|||||||
Module Base Classes
|
Module Base Classes
|
||||||
...................
|
...................
|
||||||
|
|
||||||
.. autodata:: secop.modules.Done
|
.. autodata:: frappy.modules.Done
|
||||||
|
|
||||||
.. autoclass:: secop.modules.Module
|
.. autoclass:: frappy.modules.Module
|
||||||
:members: earlyInit, initModule, startModule
|
:members: earlyInit, initModule, startModule
|
||||||
|
|
||||||
.. autoclass:: secop.modules.Readable
|
.. autoclass:: frappy.modules.Readable
|
||||||
:members: Status
|
:members: Status
|
||||||
|
|
||||||
.. autoclass:: secop.modules.Writable
|
.. autoclass:: frappy.modules.Writable
|
||||||
|
|
||||||
.. autoclass:: secop.modules.Drivable
|
.. autoclass:: frappy.modules.Drivable
|
||||||
:members: Status, isBusy, isDriving, stop
|
:members: Status, isBusy, isDriving, stop
|
||||||
|
|
||||||
|
|
||||||
Parameters, Commands and Properties
|
Parameters, Commands and Properties
|
||||||
...................................
|
...................................
|
||||||
|
|
||||||
.. autoclass:: secop.params.Parameter
|
.. autoclass:: frappy.params.Parameter
|
||||||
.. autoclass:: secop.params.Command
|
.. autoclass:: frappy.params.Command
|
||||||
.. autoclass:: secop.properties.Property
|
.. autoclass:: frappy.properties.Property
|
||||||
.. autoclass:: secop.modules.Attached
|
.. autoclass:: frappy.modules.Attached
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
|
|
||||||
Datatypes
|
Datatypes
|
||||||
.........
|
.........
|
||||||
|
|
||||||
.. autoclass:: secop.datatypes.FloatRange
|
.. autoclass:: frappy.datatypes.FloatRange
|
||||||
.. autoclass:: secop.datatypes.IntRange
|
.. autoclass:: frappy.datatypes.IntRange
|
||||||
.. autoclass:: secop.datatypes.BoolType
|
.. autoclass:: frappy.datatypes.BoolType
|
||||||
.. autoclass:: secop.datatypes.ScaledInteger
|
.. autoclass:: frappy.datatypes.ScaledInteger
|
||||||
.. autoclass:: secop.datatypes.EnumType
|
.. autoclass:: frappy.datatypes.EnumType
|
||||||
.. autoclass:: secop.datatypes.StringType
|
.. autoclass:: frappy.datatypes.StringType
|
||||||
.. autoclass:: secop.datatypes.TupleOf
|
.. autoclass:: frappy.datatypes.TupleOf
|
||||||
.. autoclass:: secop.datatypes.ArrayOf
|
.. autoclass:: frappy.datatypes.ArrayOf
|
||||||
.. autoclass:: secop.datatypes.StructOf
|
.. autoclass:: frappy.datatypes.StructOf
|
||||||
.. autoclass:: secop.datatypes.BLOBType
|
.. autoclass:: frappy.datatypes.BLOBType
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Communication
|
Communication
|
||||||
.............
|
.............
|
||||||
|
|
||||||
.. autoclass:: secop.modules.Communicator
|
.. autoclass:: frappy.modules.Communicator
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members: communicate
|
:members: communicate
|
||||||
|
|
||||||
.. autoclass:: secop.io.StringIO
|
.. autoclass:: frappy.io.StringIO
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members: communicate, multicomm
|
:members: communicate, multicomm
|
||||||
|
|
||||||
.. autoclass:: secop.io.BytesIO
|
.. autoclass:: frappy.io.BytesIO
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members: communicate, multicomm
|
:members: communicate, multicomm
|
||||||
|
|
||||||
.. autoclass:: secop.io.HasIO
|
.. autoclass:: frappy.io.HasIO
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
|
|
||||||
.. autoclass:: secop.rwhandler.ReadHandler
|
.. autoclass:: frappy.rwhandler.ReadHandler
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. autoclass:: secop.rwhandler.CommonReadHandler
|
.. autoclass:: frappy.rwhandler.CommonReadHandler
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. autoclass:: secop.rwhandler.WriteHandler
|
.. autoclass:: frappy.rwhandler.WriteHandler
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. autoclass:: secop.rwhandler.CommonWriteHandler
|
.. autoclass:: frappy.rwhandler.CommonWriteHandler
|
||||||
:show-inheritance:
|
:show-inheritance:
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
Exception classes
|
Exception classes
|
||||||
.....................--
|
.................
|
||||||
|
|
||||||
.. automodule:: secop.errors
|
.. automodule:: frappy.errors
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
.. include:: server.rst
|
.. include:: server.rst
|
||||||
|
@ -27,12 +27,12 @@ All other sections define the SECoP modules. The section name itself is the modu
|
|||||||
mandatory fields are **class** and **description**. **class** is a path to the Python class
|
mandatory fields are **class** and **description**. **class** is a path to the Python class
|
||||||
from there the module is instantiated, separated with dots. In the following example the class
|
from there the module is instantiated, separated with dots. In the following example the class
|
||||||
**HeLevel** used by the **helevel** module can be found in the PSI facility subdirectory
|
**HeLevel** used by the **helevel** module can be found in the PSI facility subdirectory
|
||||||
secop_psi in the python module file ccu4.py:
|
frappy_psi in the python module file ccu4.py:
|
||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
[helevel]
|
[helevel]
|
||||||
class = secop_psi.ccu4.HeLevel
|
class = frappy_psi.ccu4.HeLevel
|
||||||
description = this is the He level sensor of the main reservoir
|
description = this is the He level sensor of the main reservoir
|
||||||
empty = 380
|
empty = 380
|
||||||
empty.export = False
|
empty.export = False
|
||||||
@ -50,11 +50,11 @@ the SECoP interface.
|
|||||||
Starting
|
Starting
|
||||||
........
|
........
|
||||||
|
|
||||||
The Frappy server can be started via the **bin/secop-server** script.
|
The Frappy server can be started via the **bin/frappy-server** script.
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
usage: secop-server [-h] [-v | -q] [-d] name
|
usage: frappy-server [-h] [-v | -q] [-d] name
|
||||||
|
|
||||||
Manage a Frappy server
|
Manage a Frappy server
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ meter, as this is the simplest module.
|
|||||||
As mentioned in the introduction, we have to code the access to the hardware (driver),
|
As mentioned in the introduction, we have to code the access to the hardware (driver),
|
||||||
and the Frappy framework will deal with the SECoP interface. The code for the driver is
|
and the Frappy framework will deal with the SECoP interface. The code for the driver is
|
||||||
located in a subdirectory named after the facility or institute programming the driver
|
located in a subdirectory named after the facility or institute programming the driver
|
||||||
in our case *secop_psi*. We create a file named from the electronic device CCU4 we use
|
in our case *frappy_psi*. We create a file named from the electronic device CCU4 we use
|
||||||
here for the He level reading.
|
here for the He level reading.
|
||||||
|
|
||||||
CCU4 luckily has a very simple and logical protocol:
|
CCU4 luckily has a very simple and logical protocol:
|
||||||
@ -17,12 +17,12 @@ CCU4 luckily has a very simple and logical protocol:
|
|||||||
* ``<name>\n`` reads the parameter named ``<name>``
|
* ``<name>\n`` reads the parameter named ``<name>``
|
||||||
* in both cases, the reply is ``<name>=<value>\n``
|
* in both cases, the reply is ``<name>=<value>\n``
|
||||||
|
|
||||||
``secop_psi/ccu4.py``:
|
``frappy_psi/ccu4.py``:
|
||||||
|
|
||||||
.. code:: python
|
.. code:: python
|
||||||
|
|
||||||
# the most common Frappy classes can be imported from secop.core
|
# the most common Frappy classes can be imported from frappy.core
|
||||||
from secop.core import Readable, Parameter, FloatRange, BoolType, StringIO, HasIO
|
from frappy.core import Readable, Parameter, FloatRange, BoolType, StringIO, HasIO
|
||||||
|
|
||||||
|
|
||||||
class CCU4IO(StringIO):
|
class CCU4IO(StringIO):
|
||||||
@ -54,7 +54,7 @@ CCU4 luckily has a very simple and logical protocol:
|
|||||||
return txtvalue # the framework will automatically convert the string to a float
|
return txtvalue # the framework will automatically convert the string to a float
|
||||||
|
|
||||||
|
|
||||||
The class :class:`secop_psi.ccu4.CCU4IO`, an extension of (:class:`secop.stringio.StringIO`)
|
The class :class:`frappy_psi.ccu4.CCU4IO`, an extension of (:class:`frappy.stringio.StringIO`)
|
||||||
serves as communication class.
|
serves as communication class.
|
||||||
|
|
||||||
:Note:
|
:Note:
|
||||||
@ -183,7 +183,7 @@ which means it might be worth to create a *query* method, and then the
|
|||||||
:Note:
|
:Note:
|
||||||
|
|
||||||
It make sense to unify *empty_length* and *full_length* to one parameter *calibration*,
|
It make sense to unify *empty_length* and *full_length* to one parameter *calibration*,
|
||||||
as a :class:`secop.datatypes.StructOf` with members *empty_length* and *full_length*:
|
as a :class:`frappy.datatypes.StructOf` with members *empty_length* and *full_length*:
|
||||||
|
|
||||||
.. code:: python
|
.. code:: python
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ which means it might be worth to create a *query* method, and then the
|
|||||||
For simplicity we stay with two float parameters for this tutorial.
|
For simplicity we stay with two float parameters for this tutorial.
|
||||||
|
|
||||||
|
|
||||||
The full documentation of the example can be found here: :class:`secop_psi.ccu4.HeLevel`
|
The full documentation of the example can be found here: :class:`frappy_psi.ccu4.HeLevel`
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -220,7 +220,7 @@ We choose the name *example_cryo* and create therefore a configuration file
|
|||||||
|
|
||||||
[helev]
|
[helev]
|
||||||
description = He level of the cryostat He reservoir
|
description = He level of the cryostat He reservoir
|
||||||
class = secop_psi.ccu4.HeLevel
|
class = frappy_psi.ccu4.HeLevel
|
||||||
uri = linse-moxa-4.psi.ch:3001
|
uri = linse-moxa-4.psi.ch:3001
|
||||||
empty_length = 380
|
empty_length = 380
|
||||||
full_length = 0
|
full_length = 0
|
||||||
|
@ -27,7 +27,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
from secop.lib import generalConfig
|
from frappy.lib import generalConfig
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -36,22 +36,22 @@ def main():
|
|||||||
generalConfig.init()
|
generalConfig.init()
|
||||||
config_dir = generalConfig['confdir']
|
config_dir = generalConfig['confdir']
|
||||||
|
|
||||||
secop_unit = '/lib/systemd/system/secop@.service'
|
frappy_unit = '/lib/systemd/system/frappy@.service'
|
||||||
wants_dir = normal_dir + '/secop.target.wants'
|
wants_dir = normal_dir + '/frappy.target.wants'
|
||||||
|
|
||||||
all_servers = [base for (base, ext) in
|
all_servers = [base for (base, ext) in
|
||||||
map(path.splitext, os.listdir(config_dir)) if ext == '.cfg']
|
map(path.splitext, os.listdir(config_dir)) if ext == '.cfg']
|
||||||
all_servers.sort()
|
all_servers.sort()
|
||||||
|
|
||||||
for srv in all_servers:
|
for srv in all_servers:
|
||||||
symlink = '%s/secop@%s.service' % (normal_dir, srv)
|
symlink = '%s/frappy@%s.service' % (normal_dir, srv)
|
||||||
os.symlink(secop_unit, symlink)
|
os.symlink(frappy_unit, symlink)
|
||||||
if not path.isdir(wants_dir):
|
if not path.isdir(wants_dir):
|
||||||
os.mkdir(wants_dir)
|
os.mkdir(wants_dir)
|
||||||
os.symlink(symlink, '%s/%s' % (wants_dir, path.basename(symlink)))
|
os.symlink(symlink, '%s/%s' % (wants_dir, path.basename(symlink)))
|
||||||
|
|
||||||
# the stamp file signals successful run of the generator
|
# the stamp file signals successful run of the generator
|
||||||
open(normal_dir + '/secop.stamp', 'w').close()
|
open(normal_dir + '/frappy.stamp', 'w').close()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
@ -1,10 +1,10 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=SECoP SEC-node: %i
|
Description=FRAPPY SECoP SEC-node: %i
|
||||||
After=network-online.service
|
After=network-online.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=notify
|
Type=notify
|
||||||
ExecStart=/usr/bin/secop-server %I
|
ExecStart=/usr/bin/frappy-server %I
|
||||||
Restart=on-abnormal
|
Restart=on-abnormal
|
||||||
RestartSec=30
|
RestartSec=30
|
||||||
|
|
@ -3,12 +3,12 @@
|
|||||||
block_cipher = None
|
block_cipher = None
|
||||||
|
|
||||||
|
|
||||||
a = Analysis(['bin\\secop-server'],
|
a = Analysis(['bin\\frappy-server'],
|
||||||
pathex=['.'],
|
pathex=['.'],
|
||||||
binaries=[],
|
binaries=[],
|
||||||
datas=[],
|
datas=[],
|
||||||
hiddenimports=['secop.protocol', 'secop.protocol.dispatcher', 'secop.protocol.interface', 'secop.protocol.interface.tcp',
|
hiddenimports=['frappy.protocol', 'frappy.protocol.dispatcher', 'frappy.protocol.interface', 'frappy.protocol.interface.tcp',
|
||||||
'secop_psi.ppmssim', 'secop_psi.ppmswindows', 'secop_psi.ppms'],
|
'frappy_psi.ppmssim', 'frappy_psi.ppmswindows', 'frappy_psi.ppms'],
|
||||||
hookspath=[],
|
hookspath=[],
|
||||||
runtime_hooks=[],
|
runtime_hooks=[],
|
||||||
excludes=[],
|
excludes=[],
|
||||||
@ -22,7 +22,7 @@ exe = EXE(pyz,
|
|||||||
a.scripts,
|
a.scripts,
|
||||||
[],
|
[],
|
||||||
exclude_binaries=True,
|
exclude_binaries=True,
|
||||||
name='secop-server',
|
name='frappy-server',
|
||||||
debug=False,
|
debug=False,
|
||||||
bootloader_ignore_signals=False,
|
bootloader_ignore_signals=False,
|
||||||
strip=False,
|
strip=False,
|
||||||
@ -35,4 +35,4 @@ coll = COLLECT(exe,
|
|||||||
strip=False,
|
strip=False,
|
||||||
upx=True,
|
upx=True,
|
||||||
upx_exclude=[],
|
upx_exclude=[],
|
||||||
name='secop-server')
|
name='frappy-server')
|
@ -28,13 +28,13 @@ import time
|
|||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from threading import Event, RLock, current_thread
|
from threading import Event, RLock, current_thread
|
||||||
|
|
||||||
import secop.errors
|
import frappy.errors
|
||||||
import secop.params
|
import frappy.params
|
||||||
from secop.datatypes import get_datatype
|
from frappy.datatypes import get_datatype
|
||||||
from secop.lib import mkthread
|
from frappy.lib import mkthread
|
||||||
from secop.lib.asynconn import AsynConn, ConnectionClosed
|
from frappy.lib.asynconn import AsynConn, ConnectionClosed
|
||||||
from secop.protocol.interface import decode_msg, encode_msg_frame
|
from frappy.protocol.interface import decode_msg, encode_msg_frame
|
||||||
from secop.protocol.messages import COMMANDREQUEST, \
|
from frappy.protocol.messages import COMMANDREQUEST, \
|
||||||
DESCRIPTIONREQUEST, ENABLEEVENTSREQUEST, ERRORPREFIX, \
|
DESCRIPTIONREQUEST, ENABLEEVENTSREQUEST, ERRORPREFIX, \
|
||||||
EVENTREPLY, HEARTBEATREQUEST, IDENTPREFIX, IDENTREQUEST, \
|
EVENTREPLY, HEARTBEATREQUEST, IDENTPREFIX, IDENTREQUEST, \
|
||||||
READREPLY, READREQUEST, REQUEST2REPLY, WRITEREPLY, WRITEREQUEST
|
READREPLY, READREQUEST, REQUEST2REPLY, WRITEREPLY, WRITEREQUEST
|
||||||
@ -317,7 +317,7 @@ class SecopClient(ProxyClient):
|
|||||||
if module_param is not None:
|
if module_param is not None:
|
||||||
if action.startswith(ERRORPREFIX):
|
if action.startswith(ERRORPREFIX):
|
||||||
timestamp = data[2].get('t', None)
|
timestamp = data[2].get('t', None)
|
||||||
readerror = secop.errors.make_secop_error(*data[0:2])
|
readerror = frappy.errors.make_secop_error(*data[0:2])
|
||||||
value = None
|
value = None
|
||||||
else:
|
else:
|
||||||
timestamp = data[1].get('t', None)
|
timestamp = data[1].get('t', None)
|
||||||
@ -533,7 +533,7 @@ class SecopClient(ProxyClient):
|
|||||||
"""forced read over connection"""
|
"""forced read over connection"""
|
||||||
try:
|
try:
|
||||||
self.request(READREQUEST, self.identifier[module, parameter])
|
self.request(READREQUEST, self.identifier[module, parameter])
|
||||||
except secop.errors.SECoPError:
|
except frappy.errors.SECoPError:
|
||||||
# error reply message is already stored as readerror in cache
|
# error reply message is already stored as readerror in cache
|
||||||
pass
|
pass
|
||||||
return self.cache.get((module, parameter), None)
|
return self.cache.get((module, parameter), None)
|
||||||
@ -561,7 +561,7 @@ class SecopClient(ProxyClient):
|
|||||||
argument = datatype.export_value(argument)
|
argument = datatype.export_value(argument)
|
||||||
else:
|
else:
|
||||||
if argument is not None:
|
if argument is not None:
|
||||||
raise secop.errors.BadValueError('command has no argument')
|
raise frappy.errors.BadValueError('command has no argument')
|
||||||
# pylint: disable=unsubscriptable-object
|
# pylint: disable=unsubscriptable-object
|
||||||
data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module, command], argument)[2]
|
data, qualifiers = self.request(COMMANDREQUEST, self.identifier[module, command], argument)[2]
|
||||||
datatype = self.modules[module]['commands'][command]['datatype'].result
|
datatype = self.modules[module]['commands'][command]['datatype'].result
|
||||||
@ -571,9 +571,9 @@ class SecopClient(ProxyClient):
|
|||||||
|
|
||||||
# the following attributes may be/are intended to be overwritten by a subclass
|
# the following attributes may be/are intended to be overwritten by a subclass
|
||||||
|
|
||||||
ERROR_MAP = secop.errors.EXCEPTIONS
|
ERROR_MAP = frappy.errors.EXCEPTIONS
|
||||||
DEFAULT_EXCEPTION = secop.errors.SECoPError
|
DEFAULT_EXCEPTION = frappy.errors.SECoPError
|
||||||
PREDEFINED_NAMES = set(secop.params.PREDEFINED_ACCESSIBLES)
|
PREDEFINED_NAMES = set(frappy.params.PREDEFINED_ACCESSIBLES)
|
||||||
activate = True
|
activate = True
|
||||||
|
|
||||||
def error_map(self, exc):
|
def error_map(self, exc):
|
@ -25,14 +25,14 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
from secop.client import SecopClient
|
from frappy.client import SecopClient
|
||||||
from secop.errors import SECoPError
|
from frappy.errors import SECoPError
|
||||||
from secop.datatypes import get_datatype
|
from frappy.datatypes import get_datatype
|
||||||
|
|
||||||
USAGE = """
|
USAGE = """
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
from secop.client.interactive import Client
|
from frappy.client.interactive import Client
|
||||||
|
|
||||||
client = Client('localhost:5000') # start client.
|
client = Client('localhost:5000') # start client.
|
||||||
# this connects and creates objects for all SECoP modules in the main namespace
|
# this connects and creates objects for all SECoP modules in the main namespace
|
@ -23,20 +23,20 @@
|
|||||||
#
|
#
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
# allow to import the most important classes from 'secop'
|
# allow to import the most important classes from 'frappy'
|
||||||
|
|
||||||
# pylint: disable=unused-import
|
# pylint: disable=unused-import
|
||||||
from secop.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \
|
from frappy.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \
|
||||||
FloatRange, IntRange, ScaledInteger, StringType, StructOf, TupleOf
|
FloatRange, IntRange, ScaledInteger, StringType, StructOf, TupleOf
|
||||||
from secop.lib.enum import Enum
|
from frappy.lib.enum import Enum
|
||||||
from secop.modules import Attached, Communicator, \
|
from frappy.modules import Attached, Communicator, \
|
||||||
Done, Drivable, Feature, Module, Readable, Writable, HasAccessibles
|
Done, Drivable, Feature, Module, Readable, Writable, HasAccessibles
|
||||||
from secop.params import Command, Parameter
|
from frappy.params import Command, Parameter
|
||||||
from secop.properties import Property
|
from frappy.properties import Property
|
||||||
from secop.proxy import Proxy, SecNode, proxy_class
|
from frappy.proxy import Proxy, SecNode, proxy_class
|
||||||
from secop.io import HasIO, StringIO, BytesIO, HasIodev # TODO: remove HasIodev (legacy stuff)
|
from frappy.io import HasIO, StringIO, BytesIO, HasIodev # TODO: remove HasIodev (legacy stuff)
|
||||||
from secop.persistent import PersistentMixin, PersistentParam
|
from frappy.persistent import PersistentMixin, PersistentParam
|
||||||
from secop.rwhandler import ReadHandler, WriteHandler, CommonReadHandler, \
|
from frappy.rwhandler import ReadHandler, WriteHandler, CommonReadHandler, \
|
||||||
CommonWriteHandler, nopoll
|
CommonWriteHandler, nopoll
|
||||||
|
|
||||||
ERROR = Drivable.Status.ERROR
|
ERROR = Drivable.Status.ERROR
|
@ -28,12 +28,12 @@
|
|||||||
import sys
|
import sys
|
||||||
from base64 import b64decode, b64encode
|
from base64 import b64decode, b64encode
|
||||||
|
|
||||||
from secop.errors import BadValueError, \
|
from frappy.errors import BadValueError, \
|
||||||
ConfigError, ProgrammingError, ProtocolError
|
ConfigError, ProgrammingError, ProtocolError
|
||||||
from secop.lib import clamp, generalConfig
|
from frappy.lib import clamp, generalConfig
|
||||||
from secop.lib.enum import Enum
|
from frappy.lib.enum import Enum
|
||||||
from secop.parse import Parser
|
from frappy.parse import Parser
|
||||||
from secop.properties import HasProperties, Property
|
from frappy.properties import HasProperties, Property
|
||||||
|
|
||||||
generalConfig.set_default('lazy_number_validation', False)
|
generalConfig.set_default('lazy_number_validation', False)
|
||||||
|
|
@ -23,12 +23,12 @@
|
|||||||
"""Define Mixin Features for real Modules implemented in the server"""
|
"""Define Mixin Features for real Modules implemented in the server"""
|
||||||
|
|
||||||
|
|
||||||
from secop.datatypes import ArrayOf, BoolType, EnumType, \
|
from frappy.datatypes import ArrayOf, BoolType, EnumType, \
|
||||||
FloatRange, StringType, StructOf, TupleOf
|
FloatRange, StringType, StructOf, TupleOf
|
||||||
from secop.core import Command, Done, Drivable, Feature, \
|
from frappy.core import Command, Done, Drivable, Feature, \
|
||||||
Parameter, Property, PersistentParam, Readable
|
Parameter, Property, PersistentParam, Readable
|
||||||
from secop.errors import BadValueError, ConfigError
|
from frappy.errors import BadValueError, ConfigError
|
||||||
from secop.lib import clamp
|
from frappy.lib import clamp
|
||||||
|
|
||||||
|
|
||||||
# --- proposals, to be used at SINQ (not agreed as standard yet) ---
|
# --- proposals, to be used at SINQ (not agreed as standard yet) ---
|
@ -24,8 +24,8 @@ import configparser
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from configparser import NoOptionError
|
from configparser import NoOptionError
|
||||||
|
|
||||||
from secop.gui.cfg_editor.tree_widget_item import TreeWidgetItem
|
from frappy.gui.cfg_editor.tree_widget_item import TreeWidgetItem
|
||||||
from secop.gui.cfg_editor.utils import get_all_children_with_names, \
|
from frappy.gui.cfg_editor.utils import get_all_children_with_names, \
|
||||||
get_all_items, get_interface_class_from_name, \
|
get_all_items, get_interface_class_from_name, \
|
||||||
get_module_class_from_name, get_params, get_props
|
get_module_class_from_name, get_params, get_props
|
||||||
|
|
@ -22,12 +22,12 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from secop.gui.cfg_editor.node_display import NodeDisplay
|
from frappy.gui.cfg_editor.node_display import NodeDisplay
|
||||||
from secop.gui.cfg_editor.utils import get_file_paths, loadUi
|
from frappy.gui.cfg_editor.utils import get_file_paths, loadUi
|
||||||
from secop.gui.cfg_editor.widgets import TabBar
|
from frappy.gui.cfg_editor.widgets import TabBar
|
||||||
from secop.gui.qt import QMainWindow, QMessageBox
|
from frappy.gui.qt import QMainWindow, QMessageBox
|
||||||
|
|
||||||
# TODO move secop mainwinodw to gui/client and all specific stuff
|
# TODO move frappy mainwindow to gui/client and all specific stuff
|
||||||
NODE = 'node'
|
NODE = 'node'
|
||||||
MODULE = 'module'
|
MODULE = 'module'
|
||||||
INTERFACE = 'interface'
|
INTERFACE = 'interface'
|
@ -20,8 +20,8 @@
|
|||||||
#
|
#
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
from secop.gui.cfg_editor.utils import loadUi
|
from frappy.gui.cfg_editor.utils import loadUi
|
||||||
from secop.gui.qt import QHBoxLayout, QSizePolicy, QSpacerItem, Qt, QWidget
|
from frappy.gui.qt import QHBoxLayout, QSizePolicy, QSpacerItem, Qt, QWidget
|
||||||
|
|
||||||
|
|
||||||
class NodeDisplay(QWidget):
|
class NodeDisplay(QWidget):
|
@ -20,13 +20,13 @@
|
|||||||
#
|
#
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
from secop.gui.cfg_editor.utils import loadUi, \
|
from frappy.gui.cfg_editor.utils import loadUi, \
|
||||||
set_name_edit_style, setIcon, setTreeIcon
|
set_name_edit_style, setIcon, setTreeIcon
|
||||||
from secop.gui.qt import QDialog, QFont, QHBoxLayout, \
|
from frappy.gui.qt import QDialog, QFont, QHBoxLayout, \
|
||||||
QLabel, QPushButton, QSize, QSizePolicy, QTextEdit, \
|
QLabel, QPushButton, QSize, QSizePolicy, QTextEdit, \
|
||||||
QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal
|
QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal
|
||||||
from secop.gui.valuewidgets import get_widget
|
from frappy.gui.valuewidgets import get_widget
|
||||||
from secop.properties import Property
|
from frappy.properties import Property
|
||||||
|
|
||||||
NODE = 'node'
|
NODE = 'node'
|
||||||
INTERFACE = 'interface'
|
INTERFACE = 'interface'
|
||||||
@ -41,7 +41,7 @@ class TreeWidgetItem(QTreeWidgetItem):
|
|||||||
parameters=None, properties=None, parent=None):
|
parameters=None, properties=None, parent=None):
|
||||||
"""object_class: for interfaces and modules = class
|
"""object_class: for interfaces and modules = class
|
||||||
for parameter and properties = their objects
|
for parameter and properties = their objects
|
||||||
the datatype passed onto ValueWidget should be on of secop.datatypes"""
|
the datatype passed onto ValueWidget should be on of frappy.datatypes"""
|
||||||
# TODO: like stated in docstring the datatype for parameters and
|
# TODO: like stated in docstring the datatype for parameters and
|
||||||
# properties must be found out through their object
|
# properties must be found out through their object
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@ -81,7 +81,7 @@
|
|||||||
<customwidget>
|
<customwidget>
|
||||||
<class>TreeWidget</class>
|
<class>TreeWidget</class>
|
||||||
<extends>QTreeWidget</extends>
|
<extends>QTreeWidget</extends>
|
||||||
<header>secop.gui.cfg_editor.widgets</header>
|
<header>frappy.gui.cfg_editor.widgets</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
@ -24,12 +24,12 @@ import inspect
|
|||||||
import sys
|
import sys
|
||||||
from os import listdir, path
|
from os import listdir, path
|
||||||
|
|
||||||
from secop.gui.qt import QDialogButtonBox, QFileDialog, QIcon, QSize, uic
|
from frappy.gui.qt import QDialogButtonBox, QFileDialog, QIcon, QSize, uic
|
||||||
from secop.modules import Module
|
from frappy.modules import Module
|
||||||
from secop.params import Parameter
|
from frappy.params import Parameter
|
||||||
from secop.properties import Property
|
from frappy.properties import Property
|
||||||
from secop.protocol.interface.tcp import TCPServer
|
from frappy.protocol.interface.tcp import TCPServer
|
||||||
from secop.server import generalConfig
|
from frappy.server import generalConfig
|
||||||
|
|
||||||
uipath = path.dirname(__file__)
|
uipath = path.dirname(__file__)
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ def get_modules():
|
|||||||
base_path = generalConfig.basedir
|
base_path = generalConfig.basedir
|
||||||
# pylint: disable=too-many-nested-blocks
|
# pylint: disable=too-many-nested-blocks
|
||||||
for dirname in listdir(base_path):
|
for dirname in listdir(base_path):
|
||||||
if dirname.startswith('secop_'):
|
if dirname.startswith('frappy_'):
|
||||||
modules[dirname] = {}
|
modules[dirname] = {}
|
||||||
for filename in listdir(path.join(base_path, dirname)):
|
for filename in listdir(path.join(base_path, dirname)):
|
||||||
if not path.isfile(path.join(base_path, dirname, filename)) or \
|
if not path.isfile(path.join(base_path, dirname, filename)) or \
|
||||||
@ -121,7 +121,7 @@ def get_modules():
|
|||||||
__import__(module)
|
__import__(module)
|
||||||
for name, obj in inspect.getmembers(sys.modules[module]):
|
for name, obj in inspect.getmembers(sys.modules[module]):
|
||||||
if inspect.isclass(obj) and \
|
if inspect.isclass(obj) and \
|
||||||
obj.__module__.startswith('secop_') and \
|
obj.__module__.startswith('frappy_') and \
|
||||||
issubclass(obj, Module):
|
issubclass(obj, Module):
|
||||||
# full_name = '%s.%s' % (obj.__module__, name)
|
# full_name = '%s.%s' % (obj.__module__, name)
|
||||||
if not module_in_file:
|
if not module_in_file:
|
||||||
@ -140,7 +140,7 @@ def get_module_class_from_name(name):
|
|||||||
module = name[:last_dot]
|
module = name[:last_dot]
|
||||||
__import__(module)
|
__import__(module)
|
||||||
for cls_name, obj in inspect.getmembers(sys.modules[module]):
|
for cls_name, obj in inspect.getmembers(sys.modules[module]):
|
||||||
if inspect.isclass(obj) and obj.__module__.startswith('secop_') \
|
if inspect.isclass(obj) and obj.__module__.startswith('frappy_') \
|
||||||
and issubclass(obj, Module) and cls_name == class_name:
|
and issubclass(obj, Module) and cls_name == class_name:
|
||||||
return obj
|
return obj
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@ -156,7 +156,7 @@ def get_interface_class_from_name(name):
|
|||||||
def get_interfaces():
|
def get_interfaces():
|
||||||
# TODO class must be found out like for modules
|
# TODO class must be found out like for modules
|
||||||
interfaces = []
|
interfaces = []
|
||||||
interface_path = path.join(generalConfig.basedir, 'secop',
|
interface_path = path.join(generalConfig.basedir, 'frappy',
|
||||||
'protocol', 'interface')
|
'protocol', 'interface')
|
||||||
for filename in listdir(interface_path):
|
for filename in listdir(interface_path):
|
||||||
if path.isfile(path.join(interface_path, filename)) and \
|
if path.isfile(path.join(interface_path, filename)) and \
|
@ -23,13 +23,13 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from secop.gui.cfg_editor.config_file import read_config, write_config
|
from frappy.gui.cfg_editor.config_file import read_config, write_config
|
||||||
from secop.gui.cfg_editor.tree_widget_item import TreeWidgetItem
|
from frappy.gui.cfg_editor.tree_widget_item import TreeWidgetItem
|
||||||
from secop.gui.cfg_editor.utils import get_all_items, \
|
from frappy.gui.cfg_editor.utils import get_all_items, \
|
||||||
get_file_paths, get_interface_class_from_name, get_interfaces, \
|
get_file_paths, get_interface_class_from_name, get_interfaces, \
|
||||||
get_module_class_from_name, get_modules, get_params, \
|
get_module_class_from_name, get_modules, get_params, \
|
||||||
get_props, loadUi, set_name_edit_style, setActionIcon
|
get_props, loadUi, set_name_edit_style, setActionIcon
|
||||||
from secop.gui.qt import QComboBox, QDialog, QDialogButtonBox, QLabel, \
|
from frappy.gui.qt import QComboBox, QDialog, QDialogButtonBox, QLabel, \
|
||||||
QLineEdit, QMenu, QPoint, QSize, QStandardItem, QStandardItemModel, \
|
QLineEdit, QMenu, QPoint, QSize, QStandardItem, QStandardItemModel, \
|
||||||
Qt, QTabBar, QTextEdit, QTreeView, QTreeWidget, pyqtSignal
|
Qt, QTabBar, QTextEdit, QTreeView, QTreeWidget, pyqtSignal
|
||||||
|
|
@ -22,14 +22,14 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
import secop.client
|
import frappy.client
|
||||||
from secop.gui.modulectrl import ModuleCtrl
|
from frappy.gui.modulectrl import ModuleCtrl
|
||||||
from secop.gui.nodectrl import NodeCtrl
|
from frappy.gui.nodectrl import NodeCtrl
|
||||||
from secop.gui.paramview import ParameterView
|
from frappy.gui.paramview import ParameterView
|
||||||
from secop.gui.qt import QBrush, QColor, QInputDialog, QMainWindow, \
|
from frappy.gui.qt import QBrush, QColor, QInputDialog, QMainWindow, \
|
||||||
QMessageBox, QObject, QTreeWidgetItem, pyqtSignal, pyqtSlot
|
QMessageBox, QObject, QTreeWidgetItem, pyqtSignal, pyqtSlot
|
||||||
from secop.gui.util import Value, loadUi
|
from frappy.gui.util import Value, loadUi
|
||||||
from secop.lib import formatExtendedTraceback
|
from frappy.lib import formatExtendedTraceback
|
||||||
|
|
||||||
ITEM_TYPE_NODE = QTreeWidgetItem.UserType + 1
|
ITEM_TYPE_NODE = QTreeWidgetItem.UserType + 1
|
||||||
ITEM_TYPE_GROUP = QTreeWidgetItem.UserType + 2
|
ITEM_TYPE_GROUP = QTreeWidgetItem.UserType + 2
|
||||||
@ -45,7 +45,7 @@ class QSECNode(QObject):
|
|||||||
|
|
||||||
def __init__(self, uri, parent=None):
|
def __init__(self, uri, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.conn = conn = secop.client.SecopClient(uri)
|
self.conn = conn = frappy.client.SecopClient(uri)
|
||||||
conn.validate_data = True
|
conn.validate_data = True
|
||||||
self.log = conn.log
|
self.log = conn.log
|
||||||
self.contactPoint = conn.uri
|
self.contactPoint = conn.uri
|
||||||
@ -92,11 +92,11 @@ class QSECNode(QObject):
|
|||||||
def syncCommunicate(self, action, ident='', data=None):
|
def syncCommunicate(self, action, ident='', data=None):
|
||||||
reply = self.conn.request(action, ident, data)
|
reply = self.conn.request(action, ident, data)
|
||||||
# pylint: disable=not-an-iterable
|
# pylint: disable=not-an-iterable
|
||||||
return secop.client.encode_msg_frame(*reply).decode('utf-8')
|
return frappy.client.encode_msg_frame(*reply).decode('utf-8')
|
||||||
|
|
||||||
def decode_message(self, msg):
|
def decode_message(self, msg):
|
||||||
# decode_msg needs bytes as input
|
# decode_msg needs bytes as input
|
||||||
return secop.client.decode_msg(msg.encode('utf-8'))
|
return frappy.client.decode_msg(msg.encode('utf-8'))
|
||||||
|
|
||||||
def _getDescribingParameterData(self, module, parameter):
|
def _getDescribingParameterData(self, module, parameter):
|
||||||
return self.modules[module]['parameters'][parameter]
|
return self.modules[module]['parameters'][parameter]
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
from secop.gui.qt import QBrush, QColor, QPainter, QPen, \
|
from frappy.gui.qt import QBrush, QColor, QPainter, QPen, \
|
||||||
QPointF, QPolygonF, QRectF, QSize, Qt, QWidget
|
QPointF, QPolygonF, QRectF, QSize, Qt, QWidget
|
||||||
|
|
||||||
_magenta = QBrush(QColor('#A12F86'))
|
_magenta = QBrush(QColor('#A12F86'))
|
@ -23,11 +23,11 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
from secop.gui.params import ParameterView
|
from frappy.gui.params import ParameterView
|
||||||
from secop.gui.qt import QCheckBox, QDialog, QLabel, \
|
from frappy.gui.qt import QCheckBox, QDialog, QLabel, \
|
||||||
QMessageBox, QPushButton, QSizePolicy, QWidget
|
QMessageBox, QPushButton, QSizePolicy, QWidget
|
||||||
from secop.gui.util import loadUi
|
from frappy.gui.util import loadUi
|
||||||
from secop.gui.valuewidgets import get_widget
|
from frappy.gui.valuewidgets import get_widget
|
||||||
|
|
||||||
|
|
||||||
class CommandDialog(QDialog):
|
class CommandDialog(QDialog):
|
||||||
@ -357,7 +357,7 @@ class ModuleCtrl(QWidget):
|
|||||||
def _updateValue(self, module, parameter, value):
|
def _updateValue(self, module, parameter, value):
|
||||||
if module != self._module:
|
if module != self._module:
|
||||||
return
|
return
|
||||||
# value is is type secop.gui.mainwindow.Value
|
# value is is type frappy.gui.mainwindow.Value
|
||||||
# note: update subwidgets with the data portion only
|
# note: update subwidgets with the data portion only
|
||||||
# note: paramwidgets[..][1] is a ParameterView from secop.gui.params
|
# note: paramwidgets[..][1] is a ParameterView from frappy.gui.params
|
||||||
self._paramWidgets[parameter][1].updateValue(value)
|
self._paramWidgets[parameter][1].updateValue(value)
|
@ -28,12 +28,12 @@ from time import sleep
|
|||||||
|
|
||||||
import mlzlog
|
import mlzlog
|
||||||
|
|
||||||
import secop.lib
|
import frappy.lib
|
||||||
from secop.datatypes import EnumType, StringType
|
from frappy.datatypes import EnumType, StringType
|
||||||
from secop.errors import SECoPError
|
from frappy.errors import SECoPError
|
||||||
from secop.gui.qt import QFont, QFontMetrics, QLabel, \
|
from frappy.gui.qt import QFont, QFontMetrics, QLabel, \
|
||||||
QMessageBox, QTextCursor, QWidget, pyqtSlot, toHtmlEscaped
|
QMessageBox, QTextCursor, QWidget, pyqtSlot, toHtmlEscaped
|
||||||
from secop.gui.util import Value, loadUi
|
from frappy.gui.util import Value, loadUi
|
||||||
|
|
||||||
|
|
||||||
class NodeCtrl(QWidget):
|
class NodeCtrl(QWidget):
|
||||||
@ -165,7 +165,7 @@ class NodeCtrl(QWidget):
|
|||||||
else:
|
else:
|
||||||
widget = QLabel('Unsupported Interfaceclass %r' % interfaces)
|
widget = QLabel('Unsupported Interfaceclass %r' % interfaces)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(secop.lib.formatExtendedTraceback())
|
print(frappy.lib.formatExtendedTraceback())
|
||||||
widget = QLabel('Bad configured Module %s! (%s)' % (modname, e))
|
widget = QLabel('Bad configured Module %s! (%s)' % (modname, e))
|
||||||
|
|
||||||
if unit:
|
if unit:
|
@ -22,9 +22,9 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
from secop.datatypes import EnumType
|
from frappy.datatypes import EnumType
|
||||||
from secop.gui.qt import QWidget, pyqtSignal, pyqtSlot
|
from frappy.gui.qt import QWidget, pyqtSignal, pyqtSlot
|
||||||
from secop.gui.util import loadUi
|
from frappy.gui.util import loadUi
|
||||||
|
|
||||||
|
|
||||||
class ParameterWidget(QWidget):
|
class ParameterWidget(QWidget):
|
@ -22,8 +22,8 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
from secop.gui.qt import QLabel, QSizePolicy, QWidget
|
from frappy.gui.qt import QLabel, QSizePolicy, QWidget
|
||||||
from secop.gui.util import loadUi
|
from frappy.gui.util import loadUi
|
||||||
|
|
||||||
|
|
||||||
class ParameterView(QWidget):
|
class ParameterView(QWidget):
|
@ -44,7 +44,7 @@ try:
|
|||||||
|
|
||||||
from xml.sax.saxutils import escape as toHtmlEscaped
|
from xml.sax.saxutils import escape as toHtmlEscaped
|
||||||
|
|
||||||
import secop.gui.icon_rc_qt5
|
import frappy.gui.icon_rc_qt5
|
||||||
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from PyQt4 import uic
|
from PyQt4 import uic
|
||||||
@ -57,7 +57,7 @@ except ImportError:
|
|||||||
QTreeWidget, QFileDialog, QTabBar, QAction, QMenu, QDialogButtonBox, QAbstractItemView, \
|
QTreeWidget, QFileDialog, QTabBar, QAction, QMenu, QDialogButtonBox, QAbstractItemView, \
|
||||||
QSpacerItem, QTreeView, QStandardItemModel, QStandardItem
|
QSpacerItem, QTreeView, QStandardItemModel, QStandardItem
|
||||||
|
|
||||||
import secop.gui.icon_rc_qt4
|
import frappy.gui.icon_rc_qt4
|
||||||
|
|
||||||
def toHtmlEscaped(s):
|
def toHtmlEscaped(s):
|
||||||
return Qt.escape(s)
|
return Qt.escape(s)
|
@ -11,7 +11,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>secop-gui</string>
|
<string>frappy-gui</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
from secop.gui.qt import uic
|
from frappy.gui.qt import uic
|
||||||
|
|
||||||
uipath = path.dirname(__file__)
|
uipath = path.dirname(__file__)
|
||||||
|
|
@ -22,12 +22,12 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
from secop.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \
|
from frappy.datatypes import ArrayOf, BLOBType, BoolType, EnumType, \
|
||||||
FloatRange, IntRange, StringType, StructOf, TextType, TupleOf
|
FloatRange, IntRange, StringType, StructOf, TextType, TupleOf
|
||||||
from secop.gui.qt import QCheckBox, QComboBox, QDialog, \
|
from frappy.gui.qt import QCheckBox, QComboBox, QDialog, \
|
||||||
QDoubleSpinBox, QFrame, QGridLayout, QGroupBox, \
|
QDoubleSpinBox, QFrame, QGridLayout, QGroupBox, \
|
||||||
QLabel, QLineEdit, QSpinBox, QTextEdit, QVBoxLayout
|
QLabel, QLineEdit, QSpinBox, QTextEdit, QVBoxLayout
|
||||||
from secop.gui.util import loadUi
|
from frappy.gui.util import loadUi
|
||||||
|
|
||||||
|
|
||||||
# XXX: implement live validators !!!!
|
# XXX: implement live validators !!!!
|