Armadilloフォーラム

camctrlのセルフコンパイルの件

shinji.nagata

2014年10月30日 15時33分

作成者:nagata 作成日:2014/10/30

お世話になります。長田と申します。

セルフコンパイル環境のArmadillo-810で、camctrlを使用したいと考えています。
atmark-dist-20140602の/user/camctrlにソースとMakefileがあったので、これらをそっくりArmadillo-810上にコピーしてmakeしたところ、
首尾よく実行ファイルまではできたのですが、いざ実行してみると次のようなエラーが出ます。
セルフコンパイル環境でもcamctrlを使用できるようにする、良い方法をご教示ください。

root@debian:/home/camctrl# ./camctrl --all
Error: Write address failed: Input/output error
Error: Read data failed: Input/output error

なお当方の環境は、以下のとおりです。
ハード:armadillo-810カメラモデル
ブート方法:SD
ルートファイルシステム:debian-wheezy-armhf_a810_20130116
linuxカーネル:linux-a810-v1.08.bin
ブートローダ:loader-armadillo810-mmcsd-v3.2.4.bin

                            以上

コメント

at_kojiro.yamada

2014年11月20日 17時38分

> 首尾よく実行ファイルまではできたのですが、いざ実行してみると次のようなエラーが出ます。

camctrlはカメラが動作(open)していないと使用できません。
標準カメラのデバイスファイル(/dev/video1)がopenされていない状態だと、標準カメラには電源が供給されていません。
この場合、標準カメラとの通信ができないので、camctrlが失敗します。
http://manual.atmark-techno.com/armadillo-810/armadillo-810_camera_star…

Atmark Distの場合、起動するとuvc-gadgetが動作するので、camctrlが正常に動作します。
しかし、Debianの場合、カメラを使用しているアプリが無いので、camctrlが失敗します。

マニュアルに記載されているv4l2-sampleがデバイスを開いた後、sleep()を使用して60秒待たせている間にcamctrlを実行すると、Debianでも正常に動作することが確認できました。
v4l2-sampleのパッチを貼っておきます。
参考にしてください。

ファイル ファイルの説明
camera2ppm-sleep60.patch 60秒間sleep追加パッチ

> > 首尾よく実行ファイルまではできたのですが、いざ実行してみると次のようなエラーが出ます。
>
> camctrlはカメラが動作(open)していないと使用できません。
> 標準カメラのデバイスファイル(/dev/video1)がopenされていない状態だと、標準カメラには電源が供給されていません。
> この場合、標準カメラとの通信ができないので、camctrlが失敗します。
> http://manual.atmark-techno.com/armadillo-810/armadillo-810_camera_star…
>
> Atmark Distの場合、起動するとuvc-gadgetが動作するので、camctrlが正常に動作します。
> しかし、Debianの場合、カメラを使用しているアプリが無いので、camctrlが失敗します。
>
> マニュアルに記載されているv4l2-sampleがデバイスを開いた後、sleep()を使用して60秒待たせている間にcamctrlを実行すると、Debianでも正常に動作することが確認できました。
> v4l2-sampleのパッチを貼っておきます。
> 参考にしてください。

返信大変遅くなり、申し訳ありません。
OpenCVにより、連続的にキャプチャーする自作プログラムがありましたので、これをバックグランド実行させながらですと、camctrlが正常に実行できました。ご教示、有難うございました。