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
2 changes: 2 additions & 0 deletions gui/public/i18n/cs/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = Obecné nRF
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion


## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/de/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = Generisches nRF
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
2 changes: 2 additions & 0 deletions gui/public/i18n/en/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = Generic nRF
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion
board_type-undefined = Undefined

## Proportions
skeleton_bone-NONE = None
Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/es-419/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = nRF Genérico
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/fr/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = nRF Générique
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/nl/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = Generic nRF
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/pt-BR/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = nRF genérico
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/th/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = บอร์ด NRF ทั่วไป
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/zh-Hans/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = nRF系列
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR蝴蝶 开发版
board_type-SLIMEVR_BUTTERFLY = SlimeVR蝴蝶
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/public/i18n/zh-Hant/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ board_type-ESP32S3_SUPERMINI = ESP32-S3 Supermini
board_type-GENERIC_NRF = 通用 nRF
board_type-SLIMEVR_BUTTERFLY_DEV = SlimeVR Dev Butterfly
board_type-SLIMEVR_BUTTERFLY = SlimeVR Butterfly
board_type-SOMATICVR_ORION = Somatic Orion

## Proportions

Expand Down
1 change: 1 addition & 0 deletions gui/src/components/tracker/TrackerSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ export function TrackerSettingsPage() {
}, []);

const boardType = useMemo(() => {

if (tracker?.device?.hardwareInfo?.officialBoardType) {
return l10n.getString(
'board_type-' +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ enum class BoardType(val id: UInt) {
GENERIC_NRF(24u),
SLIMEVR_BUTTERFLY_DEV(25u),
SLIMEVR_BUTTERFLY(26u),
SOMATICVR_ORION(27u),
DEV_RESERVED(250u),
;

Expand Down Expand Up @@ -94,6 +95,7 @@ enum class BoardType(val id: UInt) {
GENERIC_NRF -> "Generic nRF"
SLIMEVR_BUTTERFLY_DEV -> "SlimeVR Dev Butterfly"
SLIMEVR_BUTTERFLY -> "SlimeVR Butterfly"
SOMATICVR_ORION -> "Somatic Orion"
DEV_RESERVED -> "Prototype"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ class TrackersUDPServer(private val port: Int, name: String, private val tracker
handshake.macString ?: addr.hostAddress,
handshake.boardType,
handshake.mcuType,
handshake.manufacturer,
)
VRServer.instance.deviceManager.addDevice(connection)
connection.protocolVersion = handshake.protocolVersion
Expand All @@ -150,6 +151,7 @@ class TrackersUDPServer(private val port: Int, name: String, private val tracker
// Fixing this would break config!
connection.descriptiveName = "udp:/$addr"
connection.firmwareVersion = handshake.firmware
connection.manufacturer = handshake.manufacturer
synchronized(connections) {
// Register the new connection
val i = connections.size
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ class UDPDevice(
override val hardwareIdentifier: String,
override val boardType: BoardType = BoardType.UNKNOWN,
override val mcuType: MCUType = MCUType.UNKNOWN,
override var manufacturer: String? = null,
) : Device(true) {

override val id: Int = nextLocalDeviceId.incrementAndGet()
Expand Down Expand Up @@ -75,11 +76,5 @@ class UDPDevice(

override fun toString(): String = "udp:/$ipAddress"

override var manufacturer: String?
get() = "SlimeVR"
set(manufacturer) {
super.manufacturer = manufacturer
}

fun getTracker(id: Int): Tracker? = trackers[id]
}
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ data class UDPPacket3Handshake(
var protocolVersion: Int = 0,
var firmware: String? = null,
var macString: String? = null,
var manufacturer: String? = null,
) : UDPPacket(3) {
override fun readData(buf: ByteBuffer) {
if (buf.remaining() == 0) return
Expand Down Expand Up @@ -136,6 +137,24 @@ data class UDPPacket3Handshake(
)
if (macString == "00:00:00:00:00:00") macString = null
}

var trackerType: UInt = 0u
if (buf.remaining() > 1) {
// not sure if this is the right type etc., but we just want to skip over it
trackerType = buf.get().toUInt()
}

var vendorLength = 0
if (buf.remaining() > 0) vendorLength = buf.get().toInt()

// VENDOR_NAME/manufacturer length is 1 longer than
// that because it's null-terminated
var vendor: String = "placeholder"
vendor = readASCIIString(buf, vendorLength)

// redundant, but just in case they are somehow different
manufacturer = vendor

}

override fun writeData(buf: ByteBuffer) {
Expand Down
Loading