本文整理汇总了C++中Rotation::Process方法的典型用法代码示例。如果您正苦于以下问题:C++ Rotation::Process方法的具体用法?C++ Rotation::Process怎么用?C++ Rotation::Process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rotation
的用法示例。
在下文中一共展示了Rotation::Process方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SensorFusionProc
//.........这里部分代码省略.........
if (!event) {
goto EXIT;
}
dwCnt = 0;
tmM = tmA = GetCurrentSeconds();
dwTimeout = period;
while (!g_pMain->bStopSignal) {
xIST_DBG("dwTimeout = %u ms\n", dwTimeout);
dwRet = WaitForSingleObject(event, dwTimeout);
if (WAIT_TIMEOUT != dwRet) {
xIST_DBG("dwRet = %u\n", dwRet);
g_pMain->bStopSignal = true;
continue;
}
dwStart = GetTickCount();
/* get real gyroscope data */
if (FALSE == ReadSensorData(gyro_sensor, &gx, &gy, &gz, CSensorBase::GYRO_UNITS::CONFIG_GYRO_UNITS_RAD)){
g_pMain->bStopSignal = true;
continue;
}
gs[0] = FloatType(gx);
gs[1] = FloatType(gy);
gs[2] = FloatType(gz);
/* Get accelerator data */
if (FALSE == ReadSensorData(accel_sensor, &ax, &ay, &az, CSensorBase::ACCEL_UNITS::CONFIG_ACCEL_UNITS_MPSS)){
g_pMain->bStopSignal = true;
continue;
}
if (accel_cal->Process(accel_cal, ax, ay, az, dT)) {
accel_cal->GetData(accel_cal, &ax, &ay, &az);
}
gdata[0] = FloatType(ax);
gdata[1] = FloatType(ay);
gdata[2] = FloatType(az);
xIST_DBG("a[%14.10f,%14.10f,%14.10f]\n", ax, ay, az);
/* Get magnet field data */
if (FALSE == ReadSensorData(magnet_sensor, &mx, &my, &mz, CSensorBase::MAG_UNITS::CONFIG_MAG_UNITS_UT)){
g_pMain->bStopSignal = true;
continue;
}
dT = EllapsedSeconds(&tmM);
mdata[0] = FloatType(mx);
mdata[1] = FloatType(my);
mdata[2] = FloatType(mz);
xIST_DBG("m[%14.10f,%14.10f,%14.10f]\n", mx, my, mz);
#ifndef MAGNET_VELOCITY
rotation_done = rotation->Process(rotation, mdata, gdata, FloatType(dT));
#endif
magnet_done = magnet->Process(magnet, mdata, FloatType(dT));
#ifndef MAGNET_VELOCITY
/* check valid */
xIST_DBG("rotation_done:%s\n", rotation_done ? "YES" : "NO");
#endif
xIST_DBG("magnet_done:%s\n", magnet_done ? "YES" : "NO");
#ifndef MAGNET_VELOCITY
if (rotation_done && magnet_done) {