Dr.DAQをハックしよう! Part3
とうとうDr.DAQのハックも3回目に来てしまった。
なんか、Partなんて書くと、2ちゃんねら〜と思われるのは、
かなんのだが、昔からこういうときはPartと書いていたので、
気にしないことにしよう。
今回は、卒業研究で使用していたNIM/CAMACモジュールを
制御するために、京都大学大学院の森井さんが作ってくれた
easydaqみたいな制御を出来る用にしようと思って実装した。
と思って、早速電話した。で、昔の仕様を聞いたので実装。
そうだったeasydaqは、一番最初の形で、それを分離したんだった。
numdaqとtimedaq。イベント数で区切るか、時間で区切るか。
それを発展させてeasydaqとして、run number管理機能も実装したんだった。
はっきりいって、管理を本気でしたかったら、
ブラウザ経由で実行できるようにphpをかますと楽勝
なのですが。
まぁ将来html形式でログを出力できるようにすればよいかな。
実装例を示す。
Usage:consoledaq [port] [sensor] [lNum] [fBehind]
port 1->LPT1 2->LPT2 x.. etc 101->USB port1 10x.. etc
sensor [nothing] or * -> All Sensor
sensor 1->Sound Waveform
sensor 2->Sound Level
sensor 3->Voltage
sensor 4->Resistance
sensor 5->pH
sensor 6->Temperature
sensor 7->Light
sensor 8->External 1
sensor 9->External 2
sensor a->the sensor type resistors for EXT1
sensor b->the sensor type resistors for EXT2
lNum The Number of DAQ.Default is 100.
lfBehind DAQ time. [ms] Default is 1000[ms]
これでnumdaqの完成。
今後のTO DO
- Dr.DAQ関係
numdaqの実装
timerdaqの実装
easydaqの実装
- 市教研算数ソフトウェア開発
メモリデバイスコンテキストの実装をするのを忘れてた。 テスト用のプログラムをそのままリリースしてしまった。
- google map
校区内交通安全マップ作り。それをデータベースで一覧表示ができるように拡張機能を付ける。
- 健康観察管理システムのバージョンアップとデバッグ
なぜか1年生から2年生に学年を上げると、データベースには たまるのに、 学校のプリント形式にPDF出力する機能がうまく動作しない。 でも1年生のデータはうまくいく。というバグが見つかり、 原因究明に時間がかかってしまった。結果は、ものすごく 馬鹿なことで、X年Y月Z日A年生B組のデータ抽出関数で、 なんと、引数を変数ではなくて、``1''と決めうちにしている という重大な欠陥でした。発見・修正に図書の空き時間のうち 30分も使ってしまった。 後の15分は1年生の様子を見に行っていたのでした。後は、出席簿形式でPDFを吐く機能を実装したい。
- ROOT言語の仕様書作成。
ROOT言語の勉強をして、javadoc形式にしてまとめたい。 とりあえずの目標は、あと48ページ。
- アンケートシステム構築
これはテンプレートさえ固定してしまえば、 やろうと思ったらすぐできそうなので、夏休みでいいや。 これしたら、集計作業がいらないので、 しょっちゅうアンケートしてもOKである。 そのためにパソコン室に行くのが、面倒だと思うけど。
- 校内イントラネット電話システム
これが、ものすごく難しい。 Visual C++で作ろうか。 でも、文字列周りで超苦戦しそうなので、 STLを使いたいが、VCの場合、これが 厄介にしている。そこで、上記目的を達成するために、 とりあえず、文字列操作をSTLを用いずに、 STLの基本的な機能を実装するための、 クラスを作りたい。
こんなところか。