2015年11月13日金曜日

NIのドライバーがMacの64bitに対応していた

久しぶりにNIのウェブサイトを拝見したら,NIのGP-IB関係のソフトウエアが一新されていました.
MacOSX版のNI488.2が64bitに対応しているみたいなので,早速ダウンロードして,Linux用の電気抵抗測定プログラムをMacでmakeし直してみました.

変えたところは,

#include <gpib/ib.h>



#include <NI4882/ni4882.h>

と変更し,Makefileの

gcc -lm -lgpib `pkg-config --cflags --libs gtk+-2.0 gthread-2.0`

のlgpibを

gcc -lm -framework NI4882 `pkg-config --cflags --libs gtk+-2.0 gthread-2.0`

としたくらいです.

warningすら出ず,一発で動きました.



2015年7月20日月曜日

GPIB通信エラー

長時間測定しているとGPIBの通信エラーが起こる問題に悩まされています.

いちいち測定器をローカルモードに入れているからエラーが起こるのだろうと推測し,ローカルモードに戻すボタンをGUIに追加して,ループ中はローカルモードに戻さないようにしました.

以前,測定ループ中で通信する測定器がかわるたびにibdevコマンドを入れていちいちデバイスデスクリプタを取得していたらやはり通信エラーが起こったので,プログラムの最初だけ,測定器ごとにあらかじめ異なるデバイスデスクリプタを取得するようにした,という経緯がありました.

いちいちローカルモードに戻していた理由は,測定中に計測器のパネルが入力を受け付けなくなるのがイヤだった,という理由なのですが.
S木T男先輩から,『だったらローカルモードにするボタンをつけておけばいいだろ!』という至極もっともなご指摘をいただいたので,その通りにいたしました.

うまくいくこと祈りながら今日は帰宅します.




2015年6月4日木曜日

Scientific Linux7で変わったこと(TigerVNCとfirewalld)

GPIB制御するラップトップを変更するのは怖いので,musrfitを実行するサーバーだけScientific Linux 7にアップグレードしてみました.

SELinuxをとめないとSSH接続できなかったので,

[root@korma yishii]# setenforce 0
[root@korma yishii]# getenforce
Permissive

[root@korma yishii]# 

設定ファイルを書き換えて,再起動時にもSELinuxを動かさないようにする.

[root@korma yishii]# more /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are pro
tected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@korma yishii]# 


こんな感じでした.

iptablesはfirewalldに変わっていました.
VNCはfirewallをとめないと入れなかったので,

[root@korma .vnc]# systemctl stop firewalld
[root@korma .vnc]# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'


vncはtigervncをインストールし,vncpasswdコマンドでパスワードを設定した後,vncserver :1とだけやって起動.
もちろん一般ユーザで実行しないと怖いことになります.
vncを止める時は.vncserver -kill :1だけで切れます.

2015年4月4日土曜日

iPhoneのKindleアプリで,英辞郎をデフォルト辞書として使うために

iPhoneのKindleアプリで,調べたい単語を長押ししたときにポップアップウインドウで辞書が出使える機能があります.

Kindle版の英辞郎を買ってあるので,デフォルトを英辞郎にしたいのですが,本によっては辞書を一度英辞郎に指定しても,次回は日本語ー日本語辞書に戻ってしまうので,いちいち指定し直さなくては行けないのが面倒でした.

ネットで軽く検索してみると,iPhoneの言語設定を英語にするとデフォルトが英英辞典になるという情報をみつけ,日本語辞書が立ち上がるよりはいいかと思い,試しにiPhoneの言語を英語にしてみました.
すると,なぜか無事に英辞郎がデフォルトになりました???

理由は分かりませんが,とりあえずこれで目的は達成できたので,よしとします...


2015年2月7日土曜日

GPIBで測定しながらグラフも表示する

GPIBで測定しながらリアルタイムでGnuplotを使ってグラフを描くようなプログラムをちょこちょこ書いています.

3Heクライオスタットの,4HeVTIの温度とsampleポッドの温度を五秒おきに測定してgnuplotにパイプを渡してプロットしています.



gnuplotはwxtターミナルを使っていて,プロットレンジの拡大などのめんどくさい部分はすべてgnuplotに任せています.
GPIBで測定器と通信してgnuplotに渡す部分を別スレッドにしているのですが,待ち時間もこのスレッドの中に入れてしまっているので,だんだん時刻がズレているのが分かります.

今後の課題です.