= EPICS Extensions, Modules インストール = 以前に書いた[wiki:epics/install 通常の 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 }}} のように指定する。