Kinoko Module Driver リファレンス

Generic CAMAC 標準モジュール

種別汎用 CAMAC インターフェース
参照名Generic-Standard
読み出しread() / sequentialRead()
サービス要求割り込み(LAM) / ポーリング

読み出しアクション

read(int channel_bit_mask)
read(ReadoutChannelList channel_list)
引数に指定したチャンネルから F0 によりデータを読み出し,indexed 型のデータとしてストリームに送り出す.

sequentialRead(int channel_bit_mask)
引数に指定したチャンネルから Q レスポンスのある間繰り返し F0 によりデータを読み出し,indexed 型のデータとしてストリームに送り出す.

clear()
F9 によりモジュールのデータをクリアする.

readRegister(int address, Register data)
F0 と引数のアドレスによりモジュールから値を読み出し,引数の data に返す.

writeRegister(int address, int data)
F16 と引数のアドレスにより引数 data の値をモジュールに書き込む.

transact(int function, int address)
transact(int function, int address, int data)
transact(int function, int address, Register& data)
transact(int function, int address, Register& data, Register& Q)
transact(int function, int address, Register& data, Register& Q, Register& X)
引数のファンクションとアドレスで CAMAC サイクルを実行する.書き込みサイクルでは引数の data が渡され,読み出しサイクルではデータが data に返される.引数に Q や X のレジスタが渡されていれば,CAMAC サイクルの Q レスポンスと X レスポンスがそれぞれ返される.

読み出しスクリプト例

datasource CamacModule
{
    int station_number = 3;
    long readout_channels = #0..#3;
    
    CamacCrate crate;
    CamacController controller("Toyo-CC7x00");
    CamacModule module("Generic-Standard");
    
    crate.installController(controller);
    crate.installModule(module, station_number);
    
    on trigger(module) {
        module.read(readout_channels);
        module.clear();
    }
}