Next: CAMAC シングルアクション(ライト)
Up: USB-CAMAC デバイスドライバの動作
Previous: USB-CAMAC デバイスドライバの動作
USB-CAMAC ライブラリから CAMAC 16ビットデータの読み込むために camac() 関数を
コールした後, デバイスドライバでどのように処理が行なわれ
るかを説明する. 例として ステーション #2 のスイッチレジスタ・モジュールを読む場合を
取り上げる. CAMAC NAF は (n,a,f) = (2,1,0) とする.
- アプリケーションから USB-CAMAC ライブラリの camacw(naf, &data, &q,
&x) をコールする.
- camacw() は コマンドに CAMACW を指定してドライバの ioctl()
関数をコールする.
- ioctl() 関数では内部にある CAMACW 処理ブロックへとぶ.
- CAMACW 処理ブロックでは CAMAC NAF の F に依存した処理を行なう.
この場合は f=0 なのでCAMAC データ読み込みブロックへとぶ.
- CAMAC データ読み込みブロックではデータ長を 2バイトに指定して
scsi_read() 関数をコールする.
- scsi_read() では send_cdb() により SCSI CDB を 3929 へ送る.
- 次に recv_data() により 3929 からデータを取得する.
- データおよび Q, X を camacw() の data, q, x に返す.
Kazuo Nakayoshi
Wed Jun 27 22:15:09 JST 2001