Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions gui/public/i18n/en/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -292,9 +292,6 @@ widget-overlay = Overlay
widget-overlay-is_visible_label = Show Overlay in SteamVR
widget-overlay-is_mirrored_label = Display Overlay as Mirror

## Widget: Drift compensation
widget-drift_compensation-clear = Clear drift compensation

## Widget: Clear Mounting calibration
widget-clear_mounting = Clear mounting calibration

Expand Down Expand Up @@ -384,9 +381,6 @@ tracker-settings-assignment_section-edit = Edit assignment
tracker-settings-mounting_section = Mounting orientation
tracker-settings-mounting_section-description = Where is the tracker mounted?
tracker-settings-mounting_section-edit = Edit mounting
tracker-settings-drift_compensation_section = Allow drift compensation
tracker-settings-drift_compensation_section-description = Should this tracker compensate for its drift when drift compensation is enabled?
tracker-settings-drift_compensation_section-edit = Allow drift compensation
tracker-settings-use_mag = Allow magnetometer on this tracker
# Multiline!
tracker-settings-use_mag-description =
Expand Down Expand Up @@ -540,29 +534,6 @@ settings-general-tracker_mechanics-filtering-type-prediction = Prediction
settings-general-tracker_mechanics-filtering-type-prediction-description = Reduces latency and makes movements more snappy, but may increase jitter.
settings-general-tracker_mechanics-filtering-amount = Amount
settings-general-tracker_mechanics-yaw-reset-smooth-time = Yaw reset smooth time (0s disables smoothing)
settings-general-tracker_mechanics-drift_compensation = Drift compensation
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-description =
Compensates for IMU yaw drift by applying an inverse rotation.
Change the amount of compensation and the number of resets taken into account.
This should only be used if you need to reset very often!
settings-general-tracker_mechanics-drift_compensation-enabled-label = Drift compensation
settings-general-tracker_mechanics-drift_compensation-prediction = Drift compensation prediction
# This cares about multilines
settings-general-tracker_mechanics-drift_compensation-prediction-description =
Predicts yaw drift compensation beyond previously measured range.
Enable this if your trackers are continuously spinning on the yaw axis.
settings-general-tracker_mechanics-drift_compensation-prediction-label = Drift compensation prediction
settings-general-tracker_mechanics-drift_compensation_warning =
<b>Warning:</b> Only use drift compensation if you need to reset
very often (every ~5-10 minutes).

Some IMUs prone to frequent resets include:
Joy-Cons, owoTrack, and MPUs (without recent firmware).
settings-general-tracker_mechanics-drift_compensation_warning-cancel = Cancel
settings-general-tracker_mechanics-drift_compensation_warning-done = I understand
settings-general-tracker_mechanics-drift_compensation-amount-label = Compensation amount
settings-general-tracker_mechanics-drift_compensation-max_resets-label = Use up to x last resets
settings-general-tracker_mechanics-save_mounting_reset = Save automatic mounting calibration
settings-general-tracker_mechanics-save_mounting_reset-description =
Saves the automatic mounting calibration for the trackers between restarts. Useful
Expand All @@ -582,7 +553,6 @@ settings-stay_aligned = Stay Aligned
settings-stay_aligned-description = Stay Aligned reduces drift by gradually adjusting your trackers to match your relaxed poses.
settings-stay_aligned-setup-label = Setup Stay Aligned
settings-stay_aligned-setup-description = You must complete "Setup Stay Aligned" to enable Stay Aligned.
settings-stay_aligned-warnings-drift_compensation = ⚠ Please turn off Drift Compensation! Drift Compensation will conflict with Stay Aligned.
settings-stay_aligned-enabled-label = Adjust trackers
settings-stay_aligned-hide_yaw_correction-label = Hide adjustment (to compare with no Stay Aligned)
settings-stay_aligned-general-label = General
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ export function ManualMountingPage() {
mountingOrientationDegrees
);
assignreq.trackerId = td.tracker.trackerId;
assignreq.allowDriftCompensation = false;

sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
Sentry.metrics.count('manual_mounting_set', 1, {
Expand Down Expand Up @@ -177,7 +176,6 @@ export function ManualMountingPageStayAligned({
mountingOrientationDegrees
);
assignreq.trackerId = td.tracker.trackerId;
assignreq.allowDriftCompensation = false;

sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
Sentry.metrics.count('manual_mounting_set', 1, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ export function TrackersAssignPage() {
null,
null,
null,
null,
newTapSettings
)
);
Expand All @@ -128,7 +127,6 @@ export function TrackersAssignPage() {
null,
null,
null,
null,
newTapSettings
)
);
Expand Down Expand Up @@ -216,7 +214,6 @@ export function TrackersAssignPage() {
assignreq.bodyPosition = role;
assignreq.mountingOrientation = rotation;
assignreq.trackerId = trackerId;
assignreq.allowDriftCompensation = false;

sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
};
Expand Down
3 changes: 0 additions & 3 deletions gui/src/components/tracker/TrackerSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ export function TrackerSettingsPage() {
);
assignreq.bodyPosition = tracker?.tracker.info?.bodyPart || BodyPart.NONE;
assignreq.trackerId = tracker?.tracker.trackerId;
assignreq.allowDriftCompensation = false;
sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
setSelectRotation(false);
};
Expand All @@ -96,7 +95,6 @@ export function TrackerSettingsPage() {
const assignreq = new AssignTrackerRequestT();
assignreq.bodyPosition = role;
assignreq.trackerId = tracker?.tracker.trackerId;
assignreq.allowDriftCompensation = false;
sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
setSelectBodypart(false);
};
Expand All @@ -116,7 +114,6 @@ export function TrackerSettingsPage() {

assignreq.displayName = trackerName ?? null;
assignreq.trackerId = tracker?.tracker.trackerId;
assignreq.allowDriftCompensation = false;
sendRPCPacket(RpcMessage.AssignTrackerRequest, assignreq);
};

Expand Down
18 changes: 0 additions & 18 deletions server/core/src/main/java/dev/slimevr/VRServer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ class VRServer @JvmOverloads constructor(
queueTask {
humanPoseManager.trackerUpdated(tracker)
updateSkeletonModel()
refreshTrackersDriftCompensationEnabled()
configManager.vrConfig.writeTrackerConfig(tracker)
configManager.saveConfig()
}
Expand Down Expand Up @@ -281,7 +280,6 @@ class VRServer @JvmOverloads constructor(
if (tracker.isComputed) {
vMCHandler.addComputedTracker(tracker)
}
refreshTrackersDriftCompensationEnabled()
}

@ThreadSecure
Expand Down Expand Up @@ -441,22 +439,6 @@ class VRServer @JvmOverloads constructor(
return null
}

fun clearTrackersDriftCompensation() {
for (t in allTrackers) {
if (t.isImu()) {
t.resetsHandler.clearDriftCompensation()
}
}
}

fun refreshTrackersDriftCompensationEnabled() {
for (t in allTrackers) {
if (t.isImu()) {
t.resetsHandler.refreshDriftCompensationEnabled()
}
}
}

fun trackerStatusChanged(tracker: Tracker, oldStatus: TrackerStatus, newStatus: TrackerStatus) {
trackerStatusListeners.forEach { it.onTrackerStatusChanged(tracker, oldStatus, newStatus) }
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ class TrackerConfig {
var adjustment: ObjectQuaternion? = null
var mountingOrientation: ObjectQuaternion? = null
var mountingResetOrientation: ObjectQuaternion? = null
var allowDriftCompensation: Boolean? = null

/**
* Only checked if [ServerConfig.useMagnetometerOnAllTrackers] enabled
Expand All @@ -27,7 +26,6 @@ class TrackerConfig {
constructor(tracker: Tracker) {
this.designation = if (tracker.trackerPosition != null) tracker.trackerPosition!!.designation else null
this.customName = tracker.customName
allowDriftCompensation = tracker.isImu()
shouldHaveMagEnabled = tracker.isImu()
}

Expand Down
3 changes: 0 additions & 3 deletions server/core/src/main/java/dev/slimevr/config/VRConfig.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ class VRConfig {

val filters: FiltersConfig = FiltersConfig()

val driftCompensation: DriftCompensationConfig = DriftCompensationConfig()

val oscRouter: OSCConfig = OSCConfig()

val vrcOSC: VRCOSCConfig = VRCOSCConfig()
Expand Down Expand Up @@ -108,7 +106,6 @@ class VRConfig {
if (tracker.userEditable) {
val config = getTracker(tracker)
tracker.readConfig(config)
if (tracker.isImu()) tracker.resetsHandler.readDriftCompensationConfig(driftCompensation)
tracker.resetsHandler.readResetConfig(resetsConfig)
if (tracker.allowReset) {
tracker.saveMountingResetOrientation(config)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,7 @@ public static int createTrackerInfos(

// TODO need support: TrackerInfo.addPollRate(fbb, tracker.);

if (tracker.isImu()) {
TrackerInfo.addIsImu(fbb, true);
TrackerInfo
.addAllowDriftCompensation(
fbb,
tracker.getResetsHandler().getAllowDriftCompensation()
);
} else {
TrackerInfo.addIsImu(fbb, false);
TrackerInfo.addAllowDriftCompensation(fbb, false);
}
TrackerInfo.addIsImu(fbb, tracker.isImu());

if (tracker.getAllowMounting()) {
Quaternion quaternion = tracker.getResetsHandler().getMountingOrientation();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ class RPCHandler(private val api: ProtocolAPI) : ProtocolHandler<RpcMessageHeade
::onAssignTrackerRequest,
)

registerPacketListener(
RpcMessage.ClearDriftCompensationRequest,
::onClearDriftCompensationRequest,
)

registerPacketListener(
RpcMessage.RecordBVHRequest,
::onRecordBVHRequest,
Expand Down Expand Up @@ -312,26 +307,9 @@ class RPCHandler(private val api: ProtocolAPI) : ProtocolHandler<RpcMessageHeade
tracker.customName = req.displayName()
}

if (tracker.isImu()) {
tracker.resetsHandler.allowDriftCompensation = req.allowDriftCompensation()
}

api.server.trackerUpdated(tracker)
}

fun onClearDriftCompensationRequest(
conn: GenericConnection,
messageHeader: RpcMessageHeader,
) {
if (messageHeader
.message(ClearDriftCompensationRequest()) !is ClearDriftCompensationRequest
) {
return
}

api.server.clearTrackersDriftCompensation()
}

fun onLegTweaksTmpChange(
conn: GenericConnection,
messageHeader: RpcMessageHeader,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,20 +113,6 @@ public static int createFilterSettings(
);
}

public static int createDriftCompensationSettings(
FlatBufferBuilder fbb,
DriftCompensationConfig driftCompensationConfig
) {
return DriftCompensationSettings
.createDriftCompensationSettings(
fbb,
driftCompensationConfig.getEnabled(),
driftCompensationConfig.getPrediction(),
driftCompensationConfig.getAmount(),
driftCompensationConfig.getMaxResets()
);
}

public static int createTapDetectionSettings(
FlatBufferBuilder fbb,
TapDetectionConfig tapDetectionConfig
Expand Down Expand Up @@ -366,11 +352,6 @@ public static int createSettingsResponse(FlatBufferBuilder fbb, VRServer server)
fbb,
server.configManager.getVrConfig().getFilters()
),
RPCSettingsBuilder
.createDriftCompensationSettings(
fbb,
server.configManager.getVrConfig().getDriftCompensation()
),
RPCSettingsBuilder
.createOSCRouterSettings(
fbb,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,17 +77,6 @@ class RPCSettingsHandler(var rpcHandler: RPCHandler, var api: ProtocolAPI) {
}
}

if (req.driftCompensation() != null) {
val driftCompensationConfig = api.server.configManager
.vrConfig
.driftCompensation
driftCompensationConfig.enabled = req.driftCompensation().enabled()
driftCompensationConfig.prediction = req.driftCompensation().prediction()
driftCompensationConfig.amount = req.driftCompensation().amount()
driftCompensationConfig.maxResets = req.driftCompensation().maxResets()
driftCompensationConfig.updateTrackersDriftCompensation()
}

if (req.oscRouter() != null) {
val oscRouterConfig = api.server.configManager
.vrConfig
Expand Down Expand Up @@ -391,7 +380,7 @@ class RPCSettingsHandler(var rpcHandler: RPCHandler, var api: ProtocolAPI) {
val settings = SettingsResponse
.createSettingsResponse(
fbb,
RPCSettingsBuilder.createSteamVRSettings(fbb, bridge), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
RPCSettingsBuilder.createSteamVRSettings(fbb, bridge), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
)
val outbound =
rpcHandler.createRPCMessage(fbb, RpcMessage.SettingsResponse, settings)
Expand Down
Loading
Loading