wiki:epics/raspberrypi/setup_epics_module

Version 3 (modified by obina, 7 years ago) (diff)

--

EPICS Extensions, Modules インストール

以前に書いた通常の Linux でインストールする手順と基本的には同じ。

modules(seq, asyn, stream) をインストールする(セルフビルド)

Sequencer

[epics@centos-rpi2 ~]$ cd /opt/epics/arc
[epics@centos-rpi2 arc]$ wget https://github.com/epics-modules/asyn/archive/R4-31.tar.gz
[epics@centos-rpi2 arc]$ mv R4-31.tar.gz asyn_R4-31.tar.gz
[epics@centos-rpi2 arc]$ wget http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.2.4.tar.gz
[epics@centos-rpi2 arc]$ wget https://github.com/paulscherrerinstitute/StreamDevice/archive/stream_2_7_7.tar.gz

[epics@centos-rpi2 arc]$ cd /opt/epics/R315.5/
[epics@centos-rpi2 R315.5]$ mkdir -p modules/soft/seq
[epics@centos-rpi2 R315.5]$ mkdir -p modules/soft/asyn
[epics@centos-rpi2 R315.5]$ mkdir -p modules/soft/stream

[epics@centos-rpi2 R315.5]$ cd modules/soft/seq/
[epics@centos-rpi2 seq]$ gzip -dc /opt/epics/arc/seq-2.2.4.tar.gz | tar xvf -
[epics@centos-rpi2 seq]$ mv seq-2.2.4 2.2.4
[epics@centos-rpi2 seq]$ cd 2.2.4/
[epics@centos-rpi2 2.2.4]$ vi configure/RELEASE
--> EPICS_BASE=/opt/epics/R315.5/base に書き換える
[epics@centos-rpi2 2.2.4]$ make
......

Asyn

[epics@centos-rpi2 ~]$ cd /opt/epics/asyn
[epics@centos-rpi2 asyn]$ gzip -dc /opt/epics/arc/asyn_R4-31.tar.gz | tar xvf -
[epics@centos-rpi2 asyn]$ mv asyn-R4-31 4-31
[epics@centos-rpi2 asyn]$ cd 4-31/
[epics@centos-rpi2 4-31]$vi configure/RELEASE

SNCSEQ=$(EPICS_BASE)/../modules/soft/seq/2.2.4
EPICS_BASE=/opt/epics/R315.5/base
[epics@centos-rpi2 4-31]$ pwd
/opt/epics/R315.5/modules/soft/asyn/4-31
[epics@centos-rpi2 4-31]$ make

Stream Device

soft/streamディレクトリの下にバージョン番号をつけたディレクトリを作成し、その下に support module としてビルドする。

pi@raspberrypi:/opt/epics/R315.5/modules/soft $ mkdir -p stream/2-7-7
pi@raspberrypi:/opt/epics/R315.5/modules/soft $ cd stream/2-7-7
pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ makeBaseApp.pl -t support
Name the application(s) to be created.
Names given will have "App" appended to them.
Application names?  <--- Enter を入れるのみ

これで configure ディレクトリが出来るので、いつものように configure/RELEASEを編集

pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ vi configure/RELEASE

SNCSEQ = $(EPICS_BASE)/../modules/soft/seq/2.2.4
ASYN   = $(EPICS_BASE)/../modules/soft/asyn/4-31

StreamDevice? を github からダウンロード

git clone https://github.com/paulscherrerinstitute/StreamDevice.git

あるいは https://github.com/paulscherrerinstitute/StreamDevice からzipでダウンロードした場合は適当なディレクトリに unzip し、 先ほどの modules/soft/stream/2-7-7 へファイルを展開する

pi@raspberrypi:/opt/epics/arc $ unzip StreamDevice-master.zip
pi@raspberrypi:/opt/epics/arc/StreamDevice-master $ ls
doc  GNUmakefile  Makefile  src  srcSynApps  streamApp
pi@raspberrypi:/opt/epics/arc/StreamDevice-master $ mv * /opt/epics/R315.5/modules/soft/stream/2-7-7/

stream top にある GNUmakefile ファイルを削除

pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ rm GNUmakefile

stream topディレクトリの Makefile を編集する。

pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ vi Makefile

TOP = ..
  ↓
TOP = .

同様に、stream src ディレクトリ及び streamApp ディレクトリの Makefile も編集して TOP の定義を変更する。

pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ vi src/Makefile
pi@raspberrypi:/opt/epics/R315.5/modules/soft/stream/2-7-7 $ vi streamApp/Makefile

TOP=../..
  ↓
TOP=..

あとは make するのみ。

devgpio, devi2c

wiki:epics/raspberrypi/setup_epics_i2c に記述予定。

Application から stream, asyn を使うとき

application の configure/RELEASE ディレクトリで

SNCSEQ     = $(EPICS_BASE)/../modules/soft/seq/2.2.4
ASYN       = $(EPICS_BASE)/../modules/soft/asyn/4-31
STREAM     = $(EPICS_BASE)/../modules/soft/stream/2-7-7
DEVGPIO    = $(EPICS_BASE)/../modules/soft/gpio/20160308
DRVASYNI2C = $(EPICS_BASE)/../modules/soft/i2c/20170603

のように指定する。