summaryrefslogtreecommitdiff
path: root/sensors/ADXL345Acc/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sensors/ADXL345Acc/client.cpp')
-rw-r--r--sensors/ADXL345Acc/client.cpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/sensors/ADXL345Acc/client.cpp b/sensors/ADXL345Acc/client.cpp
index cd46fe66..747fd654 100644
--- a/sensors/ADXL345Acc/client.cpp
+++ b/sensors/ADXL345Acc/client.cpp
@@ -132,6 +132,12 @@ NTSTATUS ADXL345AccDevice::Initialize(
m_pEnumerationProperties->List[SENSOR_ENUMERATION_PROPERTY_CATEGORY].Key = DEVPKEY_Sensor_Category;
InitPropVariantFromCLSID(GUID_SensorCategory_Motion,
&(m_pEnumerationProperties->List[SENSOR_ENUMERATION_PROPERTY_CATEGORY].Value));
+
+ m_pEnumerationProperties->List[SENSOR_ENUMERATION_PROPERTY_ISPRIMARY].Key = DEVPKEY_Sensor_IsPrimary;
+ InitPropVariantFromBoolean(TRUE,
+ &(m_pEnumerationProperties->List[SENSOR_ENUMERATION_PROPERTY_ISPRIMARY].Value)); // This value should be set to TRUE in order for simple device orientation
+ // to pick up ACC sample readings from this sensor. If this value is set to FALSE
+ // simple device orientation may ignore this sensor.
}
}
@@ -455,7 +461,7 @@ NTSTATUS ADXL345AccDevice::OnStart(
if (nullptr == pAccDevice)
{
Status = STATUS_INVALID_PARAMETER;
- TraceError("ACC %!FUNC! Sensor(%08X) parameter is invalid %!STATUS!", (INT) SensorInstance, Status);
+ TraceError("ACC %!FUNC! Sensor(0x%p) parameter is invalid %!STATUS!", SensorInstance, Status);
}
else if (!pAccDevice->m_PoweredOn)
{
@@ -513,7 +519,7 @@ NTSTATUS ADXL345AccDevice::OnStop(
if (nullptr == pAccDevice)
{
Status = STATUS_INVALID_PARAMETER;
- TraceError("ACC %!FUNC! Sensor(%08X) parameter is invalid %!STATUS!", (INT)SensorInstance, Status);
+ TraceError("ACC %!FUNC! Sensor(0x%p) parameter is invalid %!STATUS!", SensorInstance, Status);
}
else
{
@@ -777,23 +783,6 @@ NTSTATUS ADXL345AccDevice::OnGetDataInterval(
return Status;
}
-// Return the rate that is just less than the desired report interval
-inline DATA_RATE _GetDataRateFromReportInterval(_In_ ULONG ReportInterval)
-{
- DATA_RATE dataRate = ACCELEROMETER_SUPPORTED_DATA_RATES[0];
-
- for (ULONG i = 0; i < ACCELEROMETER_SUPPORTED_DATA_RATES_COUNT; i++)
- {
- dataRate = ACCELEROMETER_SUPPORTED_DATA_RATES[i];
- if (dataRate.DataRateInterval <= ReportInterval)
- {
- break;
- }
- }
-
- return dataRate;
-}
-
// Called by Sensor CLX to set sampling rate of the sensor.
NTSTATUS ADXL345AccDevice::OnSetDataInterval(
_In_ SENSOROBJECT SensorInstance, // Sensor device object
@@ -935,7 +924,7 @@ NTSTATUS ADXL345AccDevice::OnSetDataThresholds(
if (nullptr == pAccDevice)
{
Status = STATUS_INVALID_PARAMETER;
- TraceError("ACC %!FUNC! Sensor(%08X) parameter is invalid %!STATUS!", (INT) SensorInstance, Status);
+ TraceError("ACC %!FUNC! Sensor(0x%p) parameter is invalid %!STATUS!", SensorInstance, Status);
}
else // if (NT_SUCCESS(Status))