シングルスレッドコールバック
このプログラムは、CallbackSingleThread
model. This is the C# version of the C++ CallbackSingleThread
の例を使用して、グラバーによって生成されたCICイベントに関する基本情報を表示します。
using System;
namespace Callbacks {
class CallbackExample {
static void showEvents(Euresys.EGrabberCallbackSingleThread grabber) {
grabber.runScript("config.js"); // 1
grabber.onCicEvent = delegate(Euresys.EGrabberCallbackSingleThread g, // 2
Euresys.CicData data) {
System.Console.WriteLine("timestamp: {0} us, {1}", // 3
data.timestamp, data.numid);
}; // 4
grabber.enableCicDataEvent(); // 5
grabber.reallocBuffers(3); // 6
grabber.start(); // 6
while (true) { // 6
}
}
static void Main() {
try {
using (Euresys.EGenTL gentl = new Euresys.EGenTL()) {
using (Euresys.EGrabberCallbackSingleThread grabber =
new Euresys.EGrabberCallbackSingleThread(gentl)) {
showEvents(grabber);
}
}
} catch (System.Exception e) {
System.Console.WriteLine("error: {0}", e.Message);
}
}
}
}
|
1.
|
config.js スクリプトを実行してください: | ● | カメラとフレームグラバーを正しく設定してください; |
|
|
2.
|
CIC イベント用のコールバック関数を登録します: | ● | delegate that will be called by
EGrabber when a CIC event occurs; this delegate
will be called with two arguments: the grabber and the
CicData containing information about the event; |
| ● | set the grabber's onDataStreamEvent to this
delegate 関数を作成します。 |
|
|
3.
|
コールバック関数の本体では、単にイベントに関する基本情報を表示します。 |
|
4.
|
これで onCicEvent コールバック関数の定義は終了です。 |
|
5.
|
onCicEvent コールバックを有効にしてください。 |
|
6.
|
グラバーを起動して無限ループに入ります。CIC イベントは専用スレッドで通知されます。 |
プログラム出力例
timestamp: 2790824897 us, EVENT_DATA_NUMID_CIC_CAMERA_TRIGGER_RISING_EDGE
timestamp: 2790824897 us, EVENT_DATA_NUMID_CIC_STROBE_RISING_EDGE
timestamp: 2790824902 us, EVENT_DATA_NUMID_CIC_CXP_TRIGGER_ACK
timestamp: 2790825897 us, EVENT_DATA_NUMID_CIC_STROBE_FALLING_EDGE
timestamp: 2790830397 us, EVENT_DATA_NUMID_CIC_CAMERA_TRIGGER_FALLING_EDGE
timestamp: 2790830401 us, EVENT_DATA_NUMID_CIC_CXP_TRIGGER_ACK
timestamp: 2790842190 us, EVENT_DATA_NUMID_CIC_ALLOW_NEXT_CYCLE
timestamp: 2790842190 us, EVENT_DATA_NUMID_CIC_CAMERA_TRIGGER_RISING_EDGE
timestamp: 2790842191 us, EVENT_DATA_NUMID_CIC_STROBE_RISING_EDGE
timestamp: 2790842195 us, EVENT_DATA_NUMID_CIC_CXP_TRIGGER_ACK
Euresysのドキュメントについて
このドキュメントは、バージョン44のGoogle Chrome、バージョン20のMicrosoft Edge向けに最適化されています。
適切に表示するにはJavascriptが必要です。ブラウザでアクティブなスクリプトを有効にする必要があります。
推奨される画面解像度は、少なくとも1280 x 1024です。
本書はCoaxlink 11.2 (doc build ) とともに提供されます。2088
利用規約
EURESYS s.a. は、ハードウェアおよびソフトウェアのドキュメントおよび EURESYS s.a. の商標のあらゆる所有権、権原および権益を留保します。
本書に記載されているすべての会社名および製品名は、各所有者の商標である可能性があります。
EURESYS s.a. のハードウェアまたはソフトウェア、ブランドまたは本書に含まれるドキュメントのライセンス供与、使用、リース、貸し出し、翻訳、複製、複写または変更は、事前の通知なく許可されていません。
EURESYS s.a. は、随時、自由裁量で、事前の通知なく製品の仕様を変更したり、本書に記載されている情報を変更することができます。
EURESYS s.a. は、EURESYS s.a. のハードウェアまたはソフトウェアの使用に関連して発生した、または本書での欠落または誤りの結果生じた、収入、利益、営業権、データ、情報システムのいかなる損失または損害、またはその他のあらゆる種類の特別な、偶発的な、間接的な、派生的な、または懲罰的な損害に対し一切の責任を負いません。