2017-01-20 4 views
0

電話トーチライトで周期的な光パターンを生成するために、非常に正確で一貫したタイマーインターバル(100ms)をコーディングする必要があります。コンシインターインターバルタイマー(実行可能な結果が不十分です)

現在、実行可能な関数を使用していますが、これは多くの偏差を示しています。

フォトダイオードで応答を測定すると、80〜150msの偏差があります。

このエラーは、runnable関数またはTourch関数の有効/無効の実行によって発生します。

+1

より多くの情報が必要な場合はお知らせください!あなたが実行している最小限のコード。 – jakubbialkowski

答えて

0

以下では、電話をかけるために使用したrunnableを見つけることができます。オン/オフ期間は100msでなければなりませんが、オン/オフ期間の長さと変動の不一致です。これはカメラサービスと関係がありますか?

民間最終RunnableをmRunnable =新しいRunnableを(){

public void run() { 
     if (mActive) { 
      if (mSwap) { 

       mSwap = false; 
       mHander.postDelayed(mRunnable, 100); 

       params = camera.getParameters(); 
       params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 
       camera.setParameters(params); 

      } else { 



       mSwap = true; 
       mHander.postDelayed(mRunnable, 100); 

       params = camera.getParameters(); 
       params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); 
       camera.setParameters(params); 
      } 
     } 
    } 
}; 

あなたは例のコードを追加することができ

関連する問題