다음을 통해 공유


Compass.ReportInterval 속성

정의

나침반의 현재 보고서 간격을 가져오거나 설정합니다.

public:
 property unsigned int ReportInterval { unsigned int get(); void set(unsigned int value); };
uint32_t ReportInterval();

void ReportInterval(uint32_t value);
public uint ReportInterval { get; set; }
var uInt32 = compass.reportInterval;
compass.reportInterval = uInt32;
Public Property ReportInterval As UInteger

속성 값

UInt32

unsigned int

uint32_t

현재 보고서 간격(밀리초)입니다.

설명

보고서 간격은 센서 드라이버의 구현에 따라 달라지는 기본값으로 설정됩니다. 앱에서 이 기본값을 사용하지 않으려면 이벤트 처리기를 등록하거나 GetCurrentReading을 호출하기 전에 보고서 간격을 0이 아닌 값으로 설정해야 합니다. 그런 다음 센서는 센서를 사용하여 다른 앱의 요구 사항을 분산시키면서 애플리케이션의 요구 사항을 충족하기 위해 리소스를 할당하려고 시도합니다.

이벤트 처리기가 등록되었거나 GetCurrentReading 이 호출된 후 보고서 간격 변경 내용이 후속 센서 판독값 배달에 적용될 수 있습니다.

반대로, 애플리케이션이 센서로 완료되면 센서를 0으로 설정하여 센서를 기본 보고서 간격으로 명시적으로 반환해야 합니다. 이는 특히 가비지 수집 전에 센서 개체를 무기한 활성 상태로 유지할 수 있는 언어를 사용하는 경우 전력 보존에 중요합니다.

애플리케이션은 센서가 요청된 보고서 간격을 준수할 수 있도록 보고서 간격을 설정하기 전에 MinimumReportInterval 속성을 참조해야 합니다. 지원되는 최소 간격 아래로 값을 설정하면 예외가 트리거되거나 정의되지 않은 결과가 발생합니다.

애플리케이션은 특정 보고서 간격을 요청하도록 이 값을 설정할 수 있지만 드라이버는 내부 논리에 따라 실제 보고서 간격을 결정합니다. 예를 들어 드라이버는 호출자가 요청한 가장 짧은 보고서 간격을 사용할 수 있습니다.

값이 0으로 설정된 경우 드라이버는 기본 보고서 간격을 사용합니다. 특정 간격을 요청하는 것과 마찬가지로 드라이버는 다른 클라이언트 요청 및 내부 논리에 따라 다른 간격을 선택할 수 있습니다.

센서 플랫폼은 현재 보고서 간격에 따라 나침반의 변경 민감도를 자동으로 설정합니다. 이 표에서는 지정된 간격에 대한 변경 민감도 값을 지정합니다.

현재 보고서 간격 민감도 변경
1ms – 16ms 0.01도
17ms – 32ms 0.5도
>= 33ms 2도

적용 대상