mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
35 lines
881 B
TypeScript
35 lines
881 B
TypeScript
import { FlatDeviceTracker } from '@/store/app-store';
|
|
import { useMemo } from 'react';
|
|
|
|
const IGNORED_BOARDS = new Set(['Sony Mocopi', 'Haritora']);
|
|
|
|
export function useIsRestCalibrationTrackers(
|
|
connectedTrackers: FlatDeviceTracker[]
|
|
): boolean {
|
|
const imuExists = useMemo(
|
|
() =>
|
|
connectedTrackers.some(
|
|
(tracker) =>
|
|
tracker.tracker.info?.isImu &&
|
|
!(
|
|
tracker.device?.hardwareInfo?.boardType &&
|
|
IGNORED_BOARDS.has(tracker.device?.hardwareInfo?.boardType as string)
|
|
)
|
|
),
|
|
[connectedTrackers]
|
|
);
|
|
|
|
return imuExists;
|
|
}
|
|
|
|
export function useRestCalibrationTrackers(
|
|
connectedTrackers: FlatDeviceTracker[]
|
|
): FlatDeviceTracker[] {
|
|
const restTrackers = useMemo(
|
|
() => connectedTrackers.filter((tracker) => tracker.tracker.info?.isImu),
|
|
[connectedTrackers]
|
|
);
|
|
|
|
return restTrackers;
|
|
}
|