Skip to content

Commit 2eec3e2

Browse files
committed
make SerialHandler's implementation platform-dependant
1 parent bfece25 commit 2eec3e2

File tree

9 files changed

+316
-325
lines changed

9 files changed

+316
-325
lines changed

server/core/build.gradle.kts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
* User Manual available at https://docs.gradle.org/6.3/userguide/java_library_plugin.html
77
*/
88
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
9-
import java.io.ByteArrayOutputStream
109

1110
plugins {
1211
kotlin("jvm")
@@ -64,7 +63,6 @@ dependencies {
6463
implementation("org.apache.commons:commons-collections4:4.4")
6564

6665
implementation("com.illposed.osc:javaosc-core:0.8")
67-
implementation("com.fazecast:jSerialComm:2.+")
6866
implementation("org.java-websocket:Java-WebSocket:1.+")
6967
implementation("com.melloware:jintellitype:1.+")
7068
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1")
@@ -79,13 +77,3 @@ dependencies {
7977
tasks.test {
8078
useJUnitPlatform()
8179
}
82-
83-
fun String.runCommand(currentWorkingDir: File = file("./")): String {
84-
val byteOut = ByteArrayOutputStream()
85-
project.exec {
86-
workingDir = currentWorkingDir
87-
commandLine = this@runCommand.split("\\s".toRegex())
88-
standardOutput = byteOut
89-
}
90-
return String(byteOut.toByteArray()).trim()
91-
}

server/core/src/main/java/dev/slimevr/VRServer.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import dev.slimevr.protocol.ProtocolAPI
1414
import dev.slimevr.reset.ResetHandler
1515
import dev.slimevr.serial.ProvisioningHandler
1616
import dev.slimevr.serial.SerialHandler
17+
import dev.slimevr.serial.SerialHandlerStub
1718
import dev.slimevr.setup.TapSetupHandler
1819
import dev.slimevr.status.StatusSystem
1920
import dev.slimevr.tracking.processor.HumanPoseManager
@@ -41,8 +42,9 @@ typealias SteamBridgeProvider = (
4142
) -> ISteamVRBridge?
4243

4344
class VRServer @JvmOverloads constructor(
44-
driverBridgeProvider: SteamBridgeProvider = { _: VRServer, _: Tracker, _: List<Tracker> -> null },
45-
feederBridgeProvider: (VRServer) -> ISteamVRBridge? = { _: VRServer -> null },
45+
driverBridgeProvider: SteamBridgeProvider = { _, _, _ -> null },
46+
feederBridgeProvider: (VRServer) -> ISteamVRBridge? = { _ -> null },
47+
serialHandlerProvider: (VRServer) -> SerialHandler = { _ -> SerialHandlerStub() },
4648
configPath: String,
4749
) : Thread("VRServer") {
4850
@JvmField
@@ -100,7 +102,7 @@ class VRServer @JvmOverloads constructor(
100102
configManager = ConfigManager(configPath)
101103
configManager.loadConfig()
102104
deviceManager = DeviceManager(this)
103-
serialHandler = SerialHandler()
105+
serialHandler = serialHandlerProvider(this)
104106
provisioningHandler = ProvisioningHandler(this)
105107
resetHandler = ResetHandler()
106108
tapSetupHandler = TapSetupHandler()

server/core/src/main/java/dev/slimevr/protocol/rpc/serial/RPCSerialHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package dev.slimevr.protocol.rpc.serial;
22

3-
import com.fazecast.jSerialComm.SerialPort;
43
import com.google.flatbuffers.FlatBufferBuilder;
54
import dev.slimevr.protocol.GenericConnection;
65
import dev.slimevr.protocol.ProtocolAPI;
76
import dev.slimevr.protocol.rpc.RPCHandler;
87
import dev.slimevr.serial.SerialListener;
8+
import dev.slimevr.serial.SerialPort;
99
import io.eiren.util.logging.LogManager;
1010
import solarxr_protocol.rpc.*;
1111

server/core/src/main/java/dev/slimevr/serial/ProvisioningHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package dev.slimevr.serial;
22

3-
import com.fazecast.jSerialComm.SerialPort;
43
import dev.slimevr.VRServer;
54
import io.eiren.util.logging.LogManager;
5+
import org.jetbrains.annotations.NotNull;
66

77
import java.util.List;
88
import java.util.Timer;
@@ -107,7 +107,7 @@ else if (this.provisioningStatus == ProvisioningStatus.LOOKING_FOR_SERVER)
107107

108108

109109
@Override
110-
public void onSerialConnected(SerialPort port) {
110+
public void onSerialConnected(@NotNull SerialPort port) {
111111
if (!isRunning)
112112
return;
113113
this.tryProvisioning();
@@ -121,7 +121,7 @@ public void onSerialDisconnected() {
121121
}
122122

123123
@Override
124-
public void onSerialLog(String str) {
124+
public void onSerialLog(@NotNull String str) {
125125
if (!isRunning)
126126
return;
127127

0 commit comments

Comments
 (0)