SSブログ

OS X用GigE Visionカメラドライバ - その18 [OS X用GigE Vision]

抄訳の続き。今日の部分はアクセスモード。ごく一般的な話で難しいところはない。サクッとすましたい。

2.5  アクセスモード

ノードはそれぞれ次に定義するアクセスモードを持っている。
Readable Writable Implemented Access Mode
* * 0 NI - not implemented未実装
0 0 1 NA - not Available利用可能でない
0 1 1 WO - write only書き込みのみ
1 0 1 RO - read only読み込みのみ
1 1 1 RW - readable and writable読み書き可能
ただし 1 = yes, 0 = no, * = don't careである。

カメラに機能は実装されているが、一時的に利用できないという場合もある。もし利用可能なら当然ながら、読み込み可能あるいは書き込み可能、あるいはその両方である。

あるノードはアスセス可能性制御のためのエレメントを持っている。例えばレジスタノードである。それに加えてGenICamはランタイムにアクセス可能性を変更する三つのみカニズムを提供している。
  • 他のノードの値にに従って、一時的にロックできる。ロックされている間はその機能は書き込みできない。上の表の観点から書き込み可能フラグは一時的に0に強制される。
  • 他のノードの値にに従って、利用可能でなくすことができる。読み込み可能と書き込み可能フラグは一時定期に0に強制される。
  • 依存するノードすべての値によって、実装されていないとすることができる。両方のフラグは0に強制される。
利用可能と実装されていることの差はGUIがその差を異なるように扱うことを欲するだろうからそう実装されている。実装されていなければ表示されないようにして、利用不可であれば"ー"に置き換えられてグレー表示される。一時的にロックされた機能はグレー表示されているが値は表示されている。

オンオフできるハードウェアトリガ(hardware Trigger)は典型的な「一時的に利用不可」の例である。もしオンにしたら追加の機能であるトリガ極性(TyiggerPolality)は利用可能になって、ハードウェア信号がActiveHighかActiveLowのどちらがトリガと解釈されるかを示すようになる。

図-7にこういったことがカメラ記述ファイルにどのように扱われているかを示す。TriggerとTriggerPolarityはEnumerationタイプのノードとして実装されていて、整数値の列挙に対応している。例えば、Trigger機能はOn=1でOff=0などである。整数値はIntRegタイプのノードを使ってレジスタにマップされる。
1010fig07.png
TriggerPolarityノードはpIsAvailableリンクを持っていてそれはIIntegerインターフェイスにつながっていて、表示されるようになっている。このノードの値が0ならもとのノードは一時的にアクセス不能となる。

この例ではpIsAvailableTriggerRegを直接さしているが、それはTrigger=Onは1に、Trigger=Offは0にマップされているからである。このような場合でなければ数式を使うことがきるIntSwissKnifeタイプが役に立つ。XMLファイルの中では次のようになる。
<IntSwissKnife Name="TriggerEnabled">
 <ToolTip>Determines if the Trigger feature is switched on</ToolTip>
 <pVariable Name="TRIGGER">TriggerReg</pVariable>
 <Formula>TRIGGER==1</Formula>
</IntSwissKnife>
<Formula>エントリにある数式が評価されてノードの結果として出力される。変数のシンボル名は対応するノードの値に置き換えられる。この例ではただひとつのTRIGGERという名前の<pVariable>エントリがTriggerRegノードを参照している。これは数式TRIGGER==1から読みとることができる。

従ってもしユーザインターフェイスが更新されたとき、TriggerPolarityが利用可能になったかどうかを尋ねる。TriggerPolarityノードはIntSwissKnifeをチェックしにいき、TriggerRegノードの値の結果を計算する。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。