次の方法で共有


光センサーのしきい値

このトピックでは、光センサーのしきい値について説明します。

次の表に、光センサーのドライバーの既定のしきい値を示します。 光センサーの既定の間隔は 10 Hz です。 型列に記載されている型の詳細については、PROPVARIANT 構造を参照してください。

プロパティ キー Type 必須/オプション 規定値 説明
PKEY_SensorData_LightLevel_Lux VT_R4 必須 0.25f しきい値に達するために必要な照度の変化の最小量を、lux のパーセンテージで測定します。 値が 0.25f の場合、輝度が 25% 変化します。
PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference VT_R4 省略可能 1.0f しきい値に達するために必要な照度の変化の最小量を lux 単位で測定します。 1.0f の値は、輝度の 1 lux 変化を意味します。
メモ このしきい値の実装は、低環境光環境でのバッテリー電力消費の削減に役立つポータブルデバイスで強くお勧めします。
PKEY_SensorData_LightChromaticityX VT_R4 色がサポートされている場合は必要です。 それ以外の場合はオプション 0.01f しきい値に達するために必要なCIE 1931 x カラー座標の最小変化量は、絶対差として表されます。
PKEY_SensorData_LightChromaticityY VT_R4 色がサポートされている場合は必要です。 それ以外の場合はオプション 0.01f しきい値に達するために必要なCIE 1931 y カラー座標の最小変化量は、絶対差として表されます。
PKEY_SensorData_LightTemperature_Kelvins VT_R4 色がサポートされている場合は必要です。 それ以外の場合はオプション 50.0f しきい値に達するために必要な光温度の最小変化量を、ケルビン単位で測定します。

光センサーは、LUX 値が変更された場合にのみ、新しいデータサンプルを報告する必要があります。 このお勧めのレポートモデルにより、完全に暗いゼロ (0) LUX 環境にある場合に、光センサーが新しいデータサンプルを繰り返し報告しないようにします。

PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference が提供されていない場合、環境光センサードライバーは、PKEY_SensorData_LightLevel_Lux のしきい値が満たされたときに SensorsCxSensorDataReady を呼び出して、センサークラス拡張機能にサンプル測定値を報告する必要があります。 PKEY_SensorData_LightLevel_Lux のしきい値は、lux の差に対する割合で表されます。 たとえば、このしきい値が 0.25f に設定されていて、センサークラス拡張機能に報告された最後のサンプルが 40 lux の場合、報告される次のサンプルは 30 lux より小さいか、50 lux (+/-25% of 40) である必要があります。 PKEY_SensorData_LightLevel_Lux に加えて、PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference が提供されている場合、環境光センサーは、両方のしきい値が満たされた場合に、センサー クラス拡張機能にサンプルの読み取り値を報告する必要があります。 たとえば、PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference が 4.0 lux に設定され、PKEY_SensorData_LightLevel_Lux が 0.25 (つまり 25%) に設定され、センサークラス拡張機能に報告された最後のサンプル読み取りの値が 4 lux の場合、最も制限の厳しいしきい値は PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference となります。 したがって、報告される次のサンプルの読み取り値は、0 lux または 8 lux である必要があります。 一方で、PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference が 4.0 lux に設定され、PKEY_SensorData_LightLevel_Lux が 0.25 (つまり 25%) に設定されますが、センサークラス拡張機能に報告された最後のサンプル読み取りの値が 40 lux の場合、最も制限の厳しいしきい値は PKEY_SensorData_LightLevel_Lux となります。 この場合、報告される次のサンプル読み取り値は 30 lux または 50 lux である必要があります。 PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference は、PKEY_SensorData_LightLevel_Lux なしでは設定されません。

センサードライバーが色度 x および色度 y 色コンポーネントを報告する場合、環境光センサードライバーは、PKEY_SensorData_LightChromaticityX、PKEY_SensorData_LightChromaticityY、PKEY_SensorData_LightTemperature_Kelvins のしきい値もサポートする必要があります。 環境光センサードライバーは、PKEY_SensorData_LightChromaticityX、PKEY_SensorData_LightChromaticityY、PKEY_SensorData_LightTemperature_Kelvins のしきい値のいずれかが満たされたときに、センサークラス拡張機能にサンプルの読み取りを報告します。

しきい値に関係なく、センサークラス拡張機能が EvtSensorStart のコールバックを呼び出した直後に、環境光センサードライバーは毎回ひとつのサンプル測定値を報告する必要があります。 このサンプルは、初期サンプル読み取りと呼ばれます。

Note

また、環境光センサードライバーは、設定されているしきい値に関係なく、IsValid のデータフィールドが変更されたときに、センサークラス拡張機能にサンプルの読み取りを報告する必要があります。

PKEY_SensorData_LightLevel_Lux_Threshold_AbsoluteDifference と PKEY_SensorData_LightLevel_Luxが 0.0f に設定されている場合、ドライバーは、間隔ごとにセンサークラス拡張機能にサンプルの読み取り値を報告する必要があります。 PKEY_SensorData_LightChromaticityX または PKEY_SensorData_LightChromaticityY または PKEY_SensorData_LightTemperature_Kelvins が 0.0f に設定されている場合、ドライバーは、間隔ごとにセンサークラス拡張機能にサンプルの読み取り値を報告する必要があります。 センサーサンプルを間隔ごとに報告することは、センサーサンプルストリーミング呼ばれます。

Note

しきい値モードでは、PKEY_SensorData_IsValid が FALSE に設定されている連続したサンプルを報告しないでください。 つまり、しきい値設定モードでは、PKEY_SensorData_IsValid が FALSE に切り替えられた最初のサンプルのみを送信します。