FLI USB-CCDカメラソフトウェアのインストール (2008/4/3 : 本原) ●はじめに 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.orgdiffをとって、 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 makecfitsio.hがみつからないとおこられる デスクトップに展開してあり、コピー先がわからないのでとりあえず emacs MakefileL18を編集 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! |