Documentation Portal      

何をお探しですか?

シングルスレッドコールバック

このプログラムは、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 スクリプトを実行してください:
カメラとフレームグラバーを正しく設定してください;
CICイベントの 通知 を有効にします。
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

© 2019 EURESYS s.a.  -  このドキュメントについて  -  Coaxlink 11.2.1。2088