History

Add VR display auto-calibration user message calculations

David Rowe committed 12 years ago

Commit 0a4bc2b1 parent d3b37681 file · +16 −0Browse files

Showing the changes to interface/src/devices/OculusManager.cpp (1 of 1 file). Show all

Unified · Split

interface/src/devices/OculusManager.cpp+16−0
@@ -186,6 +186,8 @@ void OculusManager::disconnect() { · 185 unmodified lines
186 186
187void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {187void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {
188#ifdef HAVE_LIBOVR188#ifdef HAVE_LIBOVR
189 static QString progressMessage;
190
189 switch (_calibrationState) {191 switch (_calibrationState) {
190 192
191 case UNCALIBRATED:193 case UNCALIBRATED:
@@ -210,6 +212,8 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { · 18 unmodified lines
210 && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) {212 && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) {
211 _calibrationStartTime = usecTimestampNow();213 _calibrationStartTime = usecTimestampNow();
212 _calibrationState = WAITING_FOR_ZERO_HELD;214 _calibrationState = WAITING_FOR_ZERO_HELD;
215 qDebug() << "Progress box: Hold still to calibrate";
216 progressMessage = "";
213 } else {217 } else {
214 _calibrationPosition = position;218 _calibrationPosition = position;
215 _calibrationOrientation = orientation;219 _calibrationOrientation = orientation;
@@ -221,7 +225,19 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) { · 5 unmodified lines
221 && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) {225 && glm::angle(orientation * glm::inverse(_calibrationOrientation)) < CALIBRATION_ZERO_MAXIMUM_ANGLE) {
222 if ((usecTimestampNow() - _calibrationStartTime) > CALIBRATION_ZERO_HOLD_TIME) {226 if ((usecTimestampNow() - _calibrationStartTime) > CALIBRATION_ZERO_HOLD_TIME) {
223 _calibrationState = CALIBRATED;227 _calibrationState = CALIBRATED;
228 qDebug() << "Delete progress box";
224 Application::getInstance()->resetSensors();229 Application::getInstance()->resetSensors();
230 } else {
231 // 3...2...1...
232 quint64 quarterSeconds = (usecTimestampNow() - _calibrationStartTime) / 250000;
233 if (quarterSeconds + 1 > progressMessage.length()) {
234 if (quarterSeconds == 4 * (quarterSeconds / 4)) {
235 progressMessage += QString::number(CALIBRATION_ZERO_HOLD_TIME / 1000000 - quarterSeconds / 4);
236 } else {
237 progressMessage += ".";
238 }
239 qDebug() << progressMessage;
240 }
225 }241 }
226 } else {242 } else {
227 _calibrationPosition = position;243 _calibrationPosition = position;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t