KonoeCAMACInterruptRegister

クラス概要

CAMACモジュールであるインタラプトレジスタを扱います。

継承関係

KonoeCAMAC16bitModuleを継承しま す。

公開メンバー関数

KonoeCAMACInterruptRegister( const KonoeCAMACCrate* crate, KInt aStationNumber, KInt aChannel )
コンストラクタです。
引数にはインタラプトレジスタモジュールが挿入される KonoeCAMACCrate型オブジェクトへ のポインタとステーション番号、インタラプトレジスタのチャンネル数を 与えます。
~KonoeCAMACInterruptRegister( )
デストラクタです。なにもしません。
void readPattern( )
LAMレジスタを読み込み、その後、LAMを無効にします。
例えば、1番、2番、3番のチャンネルにLAM信号が届いていれば、その値は 7(10)になります。
void read( )
LAMレジスタを読み込みます。
例えば、4番、6番、8番のチャンネルにLAM信号が届いていれば、その値は 168(10)になります。
void read( KInt subAddress )
指定したサブアドレスのLAMレジスタを読み込み、ビットが立っていれば1、 そうでなければ0を返します。
またマスクも適用されるので、以下の例において、
  1. interruptRegister -> read( 1 );
  2. interruptRegister -> read( 2 );
このような、コードを書いた場合、1では1、2では0が返ります。
void readMask( )
LAMマスクレジスタを読み込みます。
例えば、マスクの値が254(10)で、LAMレジスタの値が 7(10)だとすると、有効なLAMは
チャンネル 1234 5678
LAM × ××××
マスク ×
有効なLAM ××× ××××
となります。
ちょっと見慣れない形ですので注意してください。
void clearLAM( )
LAMレジスタをクリアします。
void clearMask( )
LAMマスクレジスタをクリアします。
void clearEnable( )
LAMレジスタをクリアし、LAMを有効にします。
void writeMask( KUShort aData )
LAMマスクを aData に設定します。
void disableLAM( )
LAMを無効にします。
void enableLAM( )
LAMを有効にします。
void testLAM( )
試験的に全チャンネルのLAMを立てます。つまりLAMレジスタの値は8チャン ネルモジュールであれば、255(10)になります。
void disableLAMoutput( )
カタログに載っていたCAMACファンクションなのですが、その動作はよくわ かっていません。
void enableLAMoutput( )
カタログに載っていたCAMACファンクションなのですが、その動作はよくわ かっていません。
KonoeDataSegment* getDataSegment( KInt segmentTag )
オブジェクト生成時に引数に与えたチャンネル分のデータを データセグメントにして返します。
ビットが立っているチャンネルは1、それ以外は0になります。
また、マスクも適用されます。
KInt fillData( KonoeDataElement* anElement, KonoeModuleSubaddress* subAddress )
指定したサブアドレスのデータを データエレメントにして返します。
ビットが立っているチャンネルは1、それ以外は0になります。
また、マスクも適用されます。
void initialize( )
インタラプトレジスタに対し、初期化動作を行います。
具体的にはLAMレジスタとLAMマスクレジスタのクリアを行い、LAMを無効に します。
void clear( )
インタラプトレジスタに対し、クリア動作を行います。
具体的にはLAMレジスタのクリアを行い、LAMを無効にします。
void update( )
インタラプトレジスタを更新します。clear( )と同 じです。

$Id: KonoeCAMACInterruptRegister.html,v 1.8 2002/03/16 08:11:47 iwai Exp $
KONOEコラボレーション konoe-req@konoe.kek.jp