Skip to content

Commit b5efe65

Browse files
committed
add lakeshore340 support module
1 parent c33f97e commit b5efe65

File tree

3 files changed

+106
-0
lines changed

3 files changed

+106
-0
lines changed

lakeshore340/install.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
# ARGUMENTS:
4+
# $1 VERSION to install (must match repo tag)
5+
VERSION=${1}
6+
NAME=lakeshore340
7+
FOLDER=$(dirname $(readlink -f $0))
8+
9+
# log output and abort on failure
10+
set -xe
11+
12+
# get the source and fix up the configure/RELEASE files
13+
ibek support git-clone ${NAME} ${VERSION} --org https://github.com/DiamondLightSource/
14+
ibek support register ${NAME}
15+
16+
# declare the libs and DBDs that are required in ioc/iocApp/src/Makefile
17+
# NONE required for StreamDevice
18+
# ibek support add-libs
19+
# ibek support add-dbds
20+
21+
# # comment out the documentation from the Makefile - idempotent because it searches
22+
# # for lines not starting with # and inserts a # at the start of the line.
23+
sed -i -E 's/(^[^#].*documentation)/# \1/' ${SUPPORT}/${NAME}/Makefile
24+
25+
# # comment out the test directories from the Makefile
26+
# sed -i -E 's/tests/# tests/' ${SUPPORT}/${NAME}/Makefile
27+
28+
# global config settings
29+
${FOLDER}/../_global/install.sh ${NAME}
30+
31+
# compile the support module
32+
ibek support compile ${NAME}
33+
# prepare *.bob, *.pvi, *.ibek.support.yaml for access outside the container.
34+
ibek support generate-links ${FOLDER}
35+
36+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "../.."
5+
},
6+
{
7+
"path": "../../../../epics"
8+
}
9+
],
10+
"settings": {}
11+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# yaml-language-server: $schema=https://github.com/epics-containers/ibek/releases/download/3.0.1/ibek.support.schema.json
2+
3+
module: lakeshore340
4+
5+
entity_models:
6+
- name: lakeshore340
7+
description: |-
8+
Lakeshore 340 Temperature Controller
9+
Notes: The temperatures in Kelvin are archived once every 10 secs.
10+
parameters:
11+
P:
12+
type: str
13+
description: |-
14+
Prefix for PV name
15+
16+
PORT:
17+
type: str
18+
description: |-
19+
Bus/Port Address (eg. ASYN Port).
20+
21+
ADDR:
22+
type: int
23+
description: |-
24+
Address on the bus
25+
default: 0
26+
27+
SCAN:
28+
type: int
29+
description: |-
30+
SCAN rate for non-temperature/voltage parameters.
31+
default: 5
32+
33+
TEMPSCAN:
34+
type: int
35+
description: |-
36+
SCAN rate for the temperature/voltage readings
37+
default: 5
38+
39+
name:
40+
type: id
41+
description: |-
42+
Object and gui association name
43+
44+
LOOP:
45+
type: int
46+
description: |-
47+
Which heater PID loop to control (Default = 1)
48+
default: 1
49+
50+
pre_init:
51+
- value: |
52+
epicsEnvSet "STREAM_PROTOCOL_PATH", "$(LAKESHORE340)/lakeshore340App/protocol/"
53+
54+
databases:
55+
- file: $(LAKESHORE340)/db/lakeshore340.template
56+
# use a regex to say that we want all the parameters in the template
57+
# this is equivalent to {P: '{{P}}', PORT: '{{PORT}}', ADDR: '{{ADDR}}', SCAN: '{{SCAN}}', TEMPSCAN: '{{TEMPSCAN}}', name: '{{name}}', LOOP: '{{LOOP}}'}
58+
args:
59+
.*:

0 commit comments

Comments
 (0)