2017-11-09 14 views
2

私はカメラでUSB経由で通信する必要があるarduinoプロジェクトに取り組んでいます。Arduino:USB経由でカメラからイベントをキャッチ

キヤノンのカメラとのやりとりの例や使用方法の例がたくさんあります。何らかのイベント処理でさえ、githubの例があります!

非常に長い間、私はただ完了しません:写真を撮ったときにイベントをキャッチ

私はEOSEventLab exampleと他のすべての例を掘り下げてインターネットを検索しましたが、私の問題に対する答えは見つかりませんでした。誰もがキャプチャ後にコードをトリガするために "遅延"を使用するようだ...私はこれを必要とする唯一の人になることはできません。 :)

次の手順を実行する必要があります:

  1. セットアップカメラパラメータとmax。画像の数(完了)
  2. カメラが画像別名再び準備ができたときにいくつかのより多くのコードを実行する(行う)画像
  3. を取るが最大になるまで2から
  4. リピート捕捉されます。イメージの数がキャプチャされます

私は必要な場合いくつかのコードを与えることができますが、主にEOSEventLabの例にあるコードです。

ありがとうございました!

答えて

0

はい!

コードをクロールした後(そしておそらくarduino IDEからVisual Studio ==良いコードハイライト、コード補完に切り替えるため)...私は答えを見つけました。それは私の顔の前に直接座っていた!

それはhttps://github.com/felis/PTP_2.0/tree/master/examples/Canon_EOS/EOSRemote

一つ上のcppファイルは、メソッドを追加する必要があり、ヘッダ内だ "OnObjectCreated" eoseventhandlers.h

virtual void OnObjectCreated(const EOSEvent *evt); 

eoseventhandlers.cppでこのメソッドを実装し

void EosEventHandlers::OnObjectCreated(const EOSEvent *evt) 
{ 
    E_Notify(PSTR("capturing done!"), 0x80); 
} 

残りは上がっていますあなたへ! 「Object Created」は、「Capturing done」の同義語の一種です。私が正しく理解すれば、このメソッド内でevt-> propCodeを使ってイメージ(オブジェクト)にアドレスを取得します。私はファイル名の抽出などにその情報を使用しようとはしませんでしたが、それは役に立つかもしれません。

この回答は素晴らしいですが、カメラがトリガするすべてのイベントには適用されませんが、私が探していたイベントは「のみ」に適用されます。遅延を使用する代わりに、写真がキャプチャされるのを待つことができれば嬉しいです。

関連する問題