【.NET Gadgeteer】 NETMF 4.3 R2 Beta で Camera Module は動作するか?

・・・今一つ安定している気がしない、.NET Micro Framework 4.3 R2 Beta。
※ベータですしね。

「なんか Camera が動作しない気がするけど、ちょっと追試してみて」というリクエストをいただいたので、やってみました。
具体的には CameraReady プロパティ、TakePicture メソッドあたりがバグっぽい orz

一度は諦めかけたんですが、悔しいので少しがんばってみました。
(せっかくなので Serial Camera についても動作を確認してみました。こちらの記事 を参照してください)

この記事を書いている時点では、

  • CameraReady / TakePicture は動作してくれません
  • ストリーミング系のイベントは一応動作しているようです。(一応と書いたのは、パフォーマンスが 4.2 時代より落ちている気がするから)

当面は CameraConnected, BitmapStreamed イベントを使うことになりそうです。これならちゃんと撮影できます。

WP_20141227_002

使ったボード/モジュールは以下の通り。

※ユニバーサルボードにカメラっぽいモジュールが2つ載っているのは、次の記事では Serial Camera について書く予定だから。先にボードにネジ止めしておいただけで、以下のコードの実行時は Camera Module のみメインボードに接続しています。


■CameraReady / TakePicture

CameraReady / TakePicture は動作しないようです。
CameraReady がいつまで待っても true になってくれません。
(実際には 定期的に CameraReady を呼ぶだけのコードだとちゃんと true になってくれますが、TakePicture を呼ぶ処理を入れる入れると false を返すようになってしまいます)

■CameraConnected / BitmapStreamed

検証してみると、CameraConnected / BitStreamed イベントを使うと撮影できました。

  • Camera の初期化が完了すると CameraConnected イベントが発行されます
  • 撮影した画像の準備ができると BitmapStreamed イベントが発行されます

CameraReady を見る必要もないし、TakePicture する必要もありません。

こんな感じ。

using Gadgeteer.Modules.GHIElectronics;
using Microsoft.SPOT;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;

namespace Camera43Test
{
    public partial class Program
    {
        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            camera.CameraConnected += camera_CameraConnected;
            camera.BitmapStreamed += camera_BitmapStreamed;

            // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
            Debug.Print("Program Started");
        }

        void camera_CameraConnected(Camera sender, EventArgs e)
        {
            camera.CurrentPictureResolution = new Camera.PictureResolution(320, 240);
            camera.StartStreaming();
        }

        void camera_BitmapStreamed(Camera sender, Bitmap e)
        {
            displayTE35.SimpleGraphics.DisplayImage(e, 0, 0);
            PulseDebugLED();
        }
    }
}

NETMF 4.2 がかなり枯れて安定していたので戻りたくなるんですが、Visual Studio 2015 の姿も見えてきている中で Visual Studio 2012 のみ使用可能というのは、やはりちょっと引っかかります。ということで NETMF 4.3 R2 Beta としばらく格闘していきたいと思います。

広告
カテゴリー: .NET Micro Framework, IoT タグ: , , パーマリンク

【.NET Gadgeteer】 NETMF 4.3 R2 Beta で Camera Module は動作するか? への1件のフィードバック

  1. ピンバック: 【.NET Gadgeteer】 NETMF 4.3 R2 Beta で Serial Camera Module は動作するか? | 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中