# CAMERA_SetLED*

## 構文

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_SetLED(BOOL isBlink);`
  `CAMERAResult CAMERA_SetLEDAsync(BOOL isBlink, CAMERACallback callback, void *arg);`

## 引数

isBlink | 点滅させたいなら TRUE、点灯ならば FALSE を指定する
callback | 非同期処理が完了した際に呼び出す関数
arg | コールバック関数の呼び出し時の引数

## 返り値

設定に成功したらCAMERA_RESULT_SUCCESSを返します。

## 説明

外側カメラランプの点滅、点灯を変更します。
外側カメラランプは、外側カメラをアクティブにした場合に点灯するようになっており、その状態で 本関数を呼び出すことにより、点滅、点灯を切り替えることが可能となります。
そのため、外側カメラがアクティブでない場合には失敗することに注意してください。
また、点滅は消灯から始まり、点滅から点灯に移行するのは点灯しているタイミングのみであるため、 点滅に変更した後にすぐ点灯に変更したとしても、必ず一回は点滅が行われることになります。
点滅時の消灯、点灯の時間はそれぞれ約 0.8sec になりますが、カメラの個体差により 5% 程度のばらつきがあります。
点滅に変更した後に 6msec 以上の間隔を空けてから点灯に変更しなければ、一回の点滅が保証されないという制限があるため、 点滅に変更した後、6msec 以内に点灯に変更しようとした場合、点灯への変更である `CAMERA_SetLED(FALSE)` の 呼び出しから返ってくるまでの時間が `CAMERA_SetLED(TRUE)` の呼び出しから数えて 6msec となります。
例えば、TRUE の呼び出しが返ってきた 3msec 後に FALSE を呼び出した場合、(6-3 = 3)msec だけ FALSE の呼び出しから返ってくるまでの時間が余分にかかることになります。

## 参照

`CAMERA_I2CActivate*`

## 履歴

2009/06/08 関数内部でブロックされる時間、点滅の時間についての説明追加
2009/04/15 FALSE を指定した場合に関数内部でブロックされることがある点を追加
2008/05/23 初版