Skip to content

Instantly share code, notes, and snippets.

@runceel
Created April 10, 2015 07:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save runceel/85e231b5fd46fa3580c9 to your computer and use it in GitHub Desktop.
Save runceel/85e231b5fd46fa3580c9 to your computer and use it in GitHub Desktop.
ISensorManager *pSensorManager;
ISensorCollection *pGyrometerSensorCollection;
ISensor *pGyrometerSensor;
if (!SUCCEEDED(::CoCreateInstance(CLSID_SensorManager, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pSensorManager))))
{
return { -1, -1, -1 };
}
if (!SUCCEEDED(pSensorManager->GetSensorsByCategory(SENSOR_TYPE_GYROMETER_3D, &pGyrometerSensorCollection)))
{
pSensorManager->Release();
return { -2, -2, -2 };
}
if (!SUCCEEDED(pGyrometerSensorCollection->GetAt(0, &pGyrometerSensor)))
{
pGyrometerSensorCollection->Release();
pSensorManager->Release();
return { -3, -3, -3 };
}
ISensorDataReport *pData;
if (!SUCCEEDED(pGyrometerSensor->GetData(&pData)))
{
pGyrometerSensor->Release();
pGyrometerSensorCollection->Release();
pSensorManager->Release();
return { -4, -4, -4 };
}
PROPVARIANT x = {};
if (!SUCCEEDED(pData->GetSensorValue(SENSOR_DATA_TYPE_ANGULAR_VELOCITY_X_DEGREES_PER_SECOND, &x)))
{
pData->Release();
pGyrometerSensor->Release();
pGyrometerSensorCollection->Release();
pSensorManager->Release();
return { -5, -5, -5 };
}
PROPVARIANT y = {};
if (!SUCCEEDED(pData->GetSensorValue(SENSOR_DATA_TYPE_ANGULAR_VELOCITY_Y_DEGREES_PER_SECOND, &y)))
{
pData->Release();
pGyrometerSensor->Release();
pGyrometerSensorCollection->Release();
pSensorManager->Release();
return { -6, -6, -6 };
}
PROPVARIANT z = {};
if (!SUCCEEDED(pData->GetSensorValue(SENSOR_DATA_TYPE_ANGULAR_VELOCITY_Z_DEGREES_PER_SECOND, &z)))
{
pData->Release();
pGyrometerSensor->Release();
pGyrometerSensorCollection->Release();
pSensorManager->Release();
return { -7, -7, -7 };
}
pData->Release();
pGyrometerSensor->Release();
pGyrometerSensorCollection->Release();
pSensorManager->Release();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment