@@ -32,7 +32,7 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer<Tracker>)
3232 private val hidServices: HidServices
3333
3434 init {
35- hidServicesSpecification.isAutoStart = false
35+ hidServicesSpecification.setAutoStart( false )
3636 hidServices = HidManager .getHidServices(hidServicesSpecification)
3737 hidServices.addHidServicesListener(this )
3838 val dataReadThread = Thread (dataReadRunnable)
@@ -43,7 +43,7 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer<Tracker>)
4343
4444 private fun checkConfigureDevice (hidDevice : HidDevice ) {
4545 if (hidDevice.vendorId == 0x2FE3 && hidDevice.productId == 0x5652 ) { // TODO: Use correct ids
46- if (! hidDevice.isOpen ) {
46+ if (hidDevice.isClosed ) {
4747 check(hidDevice.open()) { " Unable to open device" }
4848 }
4949 // TODO: Configure the device here
@@ -164,7 +164,7 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer<Tracker>)
164164 var devicesPresent = false
165165 for ((hidDevice, deviceList) in devicesByHID) {
166166 val dataReceived: Array <Byte > = try {
167- hidDevice.read(80 , 1 ) // Read up to 80 bytes, timeout 1ms
167+ hidDevice.read(80 , 0 ) // Read up to 80 bytes
168168 } catch (e: NegativeArraySizeException ) {
169169 continue // Skip devices with read error (Maybe disconnected)
170170 }
@@ -174,6 +174,7 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer<Tracker>)
174174 // TODO: make this less bad
175175 if (dataReceived.size % 20 != 0 ) {
176176 LogManager .info(" [TrackerServer] Malformed HID packet, ignoring" )
177+ continue // Don't continue with this data
177178 }
178179 val packetCount = dataReceived.size / 20
179180 var i = 0
@@ -243,6 +244,10 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer<Tracker>)
243244 // TODO:
244245 }
245246
247+ override fun hidDataReceived (p0 : HidServicesEvent ? ) {
248+ // Seems to have issues with the size of data returned
249+ }
250+
246251 companion object {
247252 /* *
248253 * Change between IMU axes and OpenGL/SteamVR axes
0 commit comments