Dell Latitude D430にFLIカメラソフトのインストール (実験用)

FLI USB-CCDカメラソフトウェアのインストール (2008/4/3 : 本原)
FLI CCDカメラのデバイスドライバオートロードと,パーミッションの設定 (2008/11/14 : 本原)
を参照した



●はじめに
gifu:/home/anir/backupからuni2のバックアップをとってくる
ホームで展開、/anirができる

●デバイスドライバモジュールのmake/install
cd fli/fliusb/
make
で fliusb.koができる。
su
insmod fliusb.ko
で、パスが通ってないようなので
[root@dhcp159 fliusb]# insmod fliusb.ko
bash: insmod: command not found
[root@dhcp159 fliusb]# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
[root@dhcp159 fliusb]# export
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/sbin
としてやる
ls -l /dev/fliusb*
でデバイスファイルができていることを確認

●デバイスファイルのパーミッションの設定
MAX38のメモを参照。
udevinfo -a -p /sys/class/usb/fliusb0
/etc/udev/rules.d/50-udev.rules の途中に
# FLI Camera / Filter Wheel
KERNEL=="fliusb*", SYSFS{product}=="CFW-1-5", GROUP="uucp",
MODE="0666"
KERNEL=="fliusb*", SYSFS{product}=="Proline CCD Camera", GROUP="uucp",
MODE="0666"
を追加

●ライブラリのコンパイル
cd fli-dist-1.71/libfli/
make
とするととおらない。というか、usb.h が見付からないと怒られるので、 Makefile を変更する。
cp Makefile Makefile.org
emacs Makefile.org
diffをとって、
diff Makefile Makefile.org

16,18c16,17
< INC   = $(DIR) $(DIR)/unix /lib/modules/$(shell uname
-r)/source/include
< CFLAGS        = -Wall -O2 -L/lib/modules/$(shell uname -r)/build -g
$(patsubst %, -I%, $(INC))
<
---
> INC   = $(DIR) $(DIR)/unix /usr/src/linux/include
> CFLAGS        = -Wall -O2 -g $(patsubst %, -I%, $(INC))
となるように書きかえればOK

●必要なものをいろいろいれる
・MYSQLまわり
apt-get install MySQL-devel
apt-get install MySQL-client
apt-get install MySQL-shared
・CFITSIO
cd /usr/src
wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3181.tar.gz #こっちで
やった#
#wget ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3100.tar.gz #元のメモではこっち#
tar zxvpf cfitsio3100.tar.gz
cd cfitsio
./configure --prefix=/usr/local/
make
make install
●結果
fliexpで画をとってみると、 存在しないデータベースを読みにいってINDEFかNANを返す -->FITSのヘッダ生成に失敗していると思われる
[root@dhcp159 fli]# ./fliexp 1 1 e 5
fliexp: Library version 'FLI Software Development Library for Linux
1.71'
libfli: FLIList() domain 0102
libfli: Entering FLIOpen
libfli: Entering FLIOpen()
libfli: Trying to open file  in domain 258.
libfli: Got device index 0
libfli: Domain: 0x0002
libfli:   Type: 0x0100
libfli: DeviceID 10
libfli: SerialNum 0
libfli: HWRev 256
libfli: FWRev 273
libfli:      Name: PL0062309
libfli:     Array: (   0,   0),(1072,1027)
libfli:   Visible: (   8,   0),(1064,1027)
libfli:  Pix Size: (1.3e-05, 1.3e-05)
libfli:     Temp.: T = AD x 1 + 0
libfli: Exiting FLIOpen
libfli: Entering FLIClose
libfli: Closing device index: 0
libfli: Exiting FLIClose
fliexp: Trying camera '/dev/fliusb0' from USB domain
libfli: Entering FLIOpen
libfli: Entering FLIOpen()
libfli: Trying to open file  in domain 258.
libfli: Got device index 0
libfli: Domain: 0x0002
libfli:   Type: 0x0100
libfli: DeviceID 10
libfli: SerialNum 0
libfli: HWRev 256
libfli: FWRev 273
libfli:      Name: PL0062309
libfli:     Array: (   0,   0),(1072,1027)
libfli:   Visible: (   8,   0),(1064,1027)
libfli:  Pix Size: (1.3e-05, 1.3e-05)
libfli:     Temp.: T = AD x 1 + 0
libfli: Exiting FLIOpen
fliexp: Model:        ProLine PL4710
fliexp: Hardware Rev: 256
fliexp: Firmware Rev: 273
fliexp: Pixel Size:   0.000013 x 0.000013
fliexp: Array area:   (0, 0)(1072, 1027)
fliexp: Visible area: (8, 0)(1064, 1027)
libfli: Setting image area to: (   8,   0),(1064,1027)
fliexp: read_status error: key=[CCD_TEMP_SET] is not found.

fliexp: default value 220.000000 K is used.

libfli: Got 0 from camera.
fliexp: Current Temperature : 304.65 K
fliexp: write_status error: key=[CCD_TEMP_CUR] is not found.

fliexp: write_status error: key=[CCD_EXPTIME] is not found.

fliexp: write_status error: key=[CCD_HBIN] is not found.

fliexp: write_status error: key=[CCD_VBIN] is not found.

fliexp: read_status error: key=[DATA_DIR_NAME] is not found.

fliexp: default value . is used.

fliexp: read_status error: key=[CCD_SERIAL_NUMBER] is not found.

fliexp: default value 1 is used.

fliexp: Image written in  : .//ANOA00000001.fits
telescope: connect: Connection timed out
fliexp: read_status error: key=[CCD_SERIAL_NUMBER] is not found.

fliexp: read_status error: key=[CCD_EXPOSURE_ID] is not found.

fliexp: read_status error: key=[CCD_DATA_TYPE] is not found.

fliexp: read_status error: key=[OBSERVER] is not found.

fliexp: read_status error: key=[OBSERVATORY] is not found.

fliexp: read_status error: key=[TELESCOPE] is not found.

fliexp: read_status error: key=[INSTRUMENT-ASSEMBE-VERSION] is not found.

fliexp: read_status error: key=[CCD_NAME] is not found.

fliexp: read_status error: key=[CCD_PIXELSIZE] is not found.

fliexp: read_status error: key=[CCD_HBIN] is not found.

fliexp: read_status error: key=[CCD_VBIN] is not found.

fliexp: read_status error: key=[CCD_CONVERSION_FACTOR] is not found.

^[[B^[[Bfliexp: read_status error: key=[CCD_FOCUS] is not found.

fliexp: read_status error: key=[CCD_DICHROIC] is not found.

fliexp: read_status error: key=[CCD_FILTER_NAME_CURRENT] is not found.

fliexp: read_status error: key=[FOC-POS] is not found.

fliexp: read_status error: key=[FOC-VAL] is not found.

fliexp: read_status error: key=[INSROT] is not found.

fliexp: read_status error: key=[INST-PA] is not found.

fliexp: read_status error: key=[INST-PA-OFFSET] is not found.

fliexp: read_status error: key=[CCD_CDELT1] is not found.

fliexp: read_status error: key=[CCD_CDELT2] is not found.

fliexp: read_status error: key=[CCD_CRPIX1] is not found.

fliexp: read_status error: key=[CCD_CRPIX2] is not found.

fliexp: read_status error: key=[RA] is not found.

fliexp: read_status error: key=[DEC] is not found.


FITSIO status = 402: bad float to string conversion
Error in ffr2e: float value is a NaN or INDEF
fliexp: writefits() failed: Unknown error 4294966894
libfli: Entering FLIClose
libfli: Closing device index: 0
libfli: Exiting FLIClose
●MYSQLのインストール
データベースでつまづいたのでMYSQLのインストールから
まずはrokkakuから最新のデータをもってくる
wget http://rokkaku/~anir/0906atacama/uni2/mysql.20090612
apt-get install mysql
apt-get install mysql-client
apt-get install MySQL-devel MySQL-shared MySQL-Max

/usr/bin/mysql_install_db
/usr/bin/mysqladmin -u root password "chopchop"
インポート
mysql -u root -p < mysql.20090612
このままではMYSQLからインポートしたはずのステータスが読めない
localhostではなくuni2のデータベースを読みにいっていたので書きかえる
emacs -nw /home/anir/anir/stat/src/statlib.h
で、
#define HOST            "uni2"
//#define HOST            "localhost"
//#define HOST            "uni2"
#define HOST            "localhost"
としてやる

●fliexpのmake
pwd
/home/anir/anir/fli/libfli/fliexp
make
cfitsio.hがみつからないとおこられる
デスクトップに展開してあり、コピー先がわからないのでとりあえず
emacs Makefile
L18を編集
CFLAGS  = -Wall -g $(patsubst %, -I%, $(INC)) -L/usr/local/lib
CFLAGS  = -Wall -g $(patsubst %, -I%, $(INC)) -L/usr/local/lib -I/home/anir/Desktop/cfitsio/include -L/home/anir/Desktop/cfitsio/lib
これでとれるようになった!
しかし
telescope: connect: Connection timed out
とでるように、タイムアウト待ちで時間を食う
望遠鏡とのリンクをはずすためにMakefileを再編集
emacs Makefile
冒頭の
#Telescope
#TEL = ENA
TEL = DISA
#Telescope
TEL = ENA
#TEL = DISA
とするが、tellib.oに関して怒られてmakeが通らない
#Telescope
TEL = ENA
#TEL = DISA

ifeq ($(TEL),ENA)
TELDIR = ../../../tel/src
TELLIB =  $(TELDIR)/tellib.o
else
TELLIB =
endif


CC      = gcc

INC     = .. $(HOME)/templates /usr/pkg/include /usr/local/include

# Library
CFLAGS  = -Wall -g $(patsubst %, -I%, $(INC)) -L/usr/local/lib -I/home/anir/Desktop/cfitsio/include -L/home/anir/Desktop/cfitsio/lib
CFLAGS  += -DUSEFITS

ifeq ($(TEL),ENA)
CFLAGS  += -D USE_TELESCOPE -I$(TELDIR)
endif


LIBS    = fli cfitsio m
LIBPATH = .. /usr/local/lib /usr/pkg/lib
LDLIBS  = $(patsubst %, -l%, $(LIBS))
LOADLIBES= $(patsubst %, -L%, $(LIBPATH))

LIBDIR = ../../../stat/src
INCDIR = ../../../stat/src

STATLIB = $(LIBDIR)/statlib.o

SQLINCDIR = /usr/include/mysql
SQLLIBDIR = /usr/lib/mysql
SQLFLAGS =  -lmysqlclient -lz -L$(SQLLIBDIR)

CFLAGS  += -I$(LIBDIR) -I$(INCDIR) -I$(SQLINCDIR)

fliexp: fliexp.c
        $(CC) $(CFLAGS) -o ../../$@ $^ $(LOADLIBES) $(LDLIBS) $(STATLIB) $(SQLFLAGS) $(TELLIB)

clean:
        rm -f fliexp
として逃げた
動作OK!