Kinoko Module Driver リファレンス

林栄精器 RPV-130

種別VME Interrupt & I/O Register
製造者林栄精器 (http://www.repic.co.jp)
参照名Rinei-RPV130
読み出しなし
サービス要求割り込み / ポーリング

読み出しアクション

inputLatch1(Register data)
Latch1 でホールドされたデータを読み出し,data 引数に格納

inputLatch2(Register data)
Latch2 でホールドされたデータを読み出し,data 引数に格納

inputFlipFlop(Register data)
FlipFlop モードでデータを読み出し,data 引数に格納

inputThrough(Register data)
Through モードでデータを読み出し,data 引数に格納

outputLevel(int data)
data 引数のビットパターンをレベルモードで出力

outputPulse(int data)
data 引数のビットパターンをパルスモードで出力

enable(int channel_bit_pattern)
信号が入ったときに割り込みを発行するようにする.引数 channel の番号は以下のとおり.
チャンネルチャンネル番号チャンネルビット
FIN110x01 (#1)
FIN220x02 (#2)
Input30x04 (#3)

disable(int channel_bit_pattern)
信号が入っても割り込みを発行しないようにする.

clear()
割り込み要求をクリア.データもクリアされてしまう.

読み出しスクリプト例

datasource VmeIORegister
{
    int base_address = 0x8000;
    int irq = 3;
    int vector = 0xfff0;

    VmeCrate crate;
    VmeController controller("SBS-620");
    VmeModule io_register("Rinei-RPV130");

    crate.installController(controller);
    crate.installModule(io_register, base_address, irq, vector);

    on run_begin {
	// enable FIN1/FIN2 interrupts //
        io_register.enable(#1..#2);
    }

    on trigger(io_register) {
	// input data //
        Register latch1, latch2, flipflop, through;
        io_register.inputLatch1(latch1);
        io_register.inputLatch2(latch2);
        io_register.inputFlipFlop(flipflop);
        io_register.inputThrough(through);

	// send the data to data-stream/data-file //
        DataRecord input_register;
        input_register.fill("latch1", latch1);
        input_register.fill("latch2", latch2);
        input_register.fill("flipflop", flipflop);
        input_register.fill("through", through);
	input_register.send();

	// output pulse //
        io_register.outputPulse(#0..#7);
    }
}