-
Notifications
You must be signed in to change notification settings - Fork 83
Configuring the Driver
Lucas LucidVR edited this page Aug 19, 2021
·
7 revisions
Configuring the driver is a necessary requirement to getting the glove to work with your expected behavior. If using the Steam version of the driver, editing the configuration file is no longer necessary as there is a UI for the settings. The same settings still apply. As of driver v0.4, the UI now changes the settings in steamvr.vrsettings instead of default.vrsettings.
Without the UI, you will need to change the configuration file located in opengloves/resources/settings/default.vrsettings
.
Below is what the structure of the configuration should look like:
{
"driver_openglove":
{
"left_enabled": true,
"right_enabled": true,
"communication_protocol": 0,
"device_driver": 1,
"encoding_protocol": 1
},
//device_driver = 0
"device_lucidgloves":
{
"left_serial_number": "lucidgloves-left",
"right_serial_number": "lucidgloves-right"
},
//device_driver = 1
"device_knuckles":
{
"left_serial_number": "LHR-E217CD00",
"right_serial_number": "LHR-E217CD01"
},
"pose_settings":
{
"right_x_offset_position": -0.1,
"right_y_offset_position": -0.08,
"right_z_offset_position": -0.03,
"right_x_offset_degrees": 0.0,
"right_y_offset_degrees": 0.0,
"right_z_offset_degrees": 0.0,
"left_x_offset_position": 0.1,
"left_y_offset_position": -0.08,
"left_z_offset_position": -0.03,
"left_x_offset_degrees": 0.0,
"left_y_offset_degrees": 0.0,
"left_z_offset_degrees": 0.0,
"pose_time_offset": -0.01,
"controller_override": false,
"controller_override_left": 3,
"controller_override_right": 4
},
//communication_protocol = 0
"communication_serial":
{
"left_port": "\\\\.\\COM4",
"right_port": "\\\\.\\COM5",
"baud_rate": 115200
},
//communication_protocol = 1
"communication_btserial":
{
"left_name": "lucidgloves-left",
"right_name": "lucidgloves-right"
},
//encoding_protocol = 0
"encoding_legacy":
{
"max_analog_value": 1023
},
//encoding_protocol = 1
"encoding_alpha":
{
"max_analog_value": 1023
}
}
Notably:
- When using USB serial communication, you will almost certainly need to edit
left_port
andright_port
in the configuration (undercommunication_serial
) - Likewise, when using BT serial communication, you may want to edit
left_name
andright_name
in the configuration (undercommunication_btserial
) - You can manually configure the offsets of the glove from the controller it is tracking (under
pose_settings
). Note: It is recommended to use a physical calibration button or the settings UI's auto-calibrate button instead, as these support more automatic alignment. - When using either encoding scheme, ensure the
max_analog_value
matches your board. For example, it is usually 1023 for Arduino, and 4095 ESP32. - You can choose whether to emulate knuckle controllers, or use the lucidglove controllers (knuckle emulation is default, and preferred by most games)
This process may be necersarry if the controller discovery does not pick up the controllers that you want it to for use with tracking.
- First install the driver and launch SteamVR. You'll notice there are two new controllers which are greyed out (or tracking to different controllers)
- In the configuration, set
controller_override
totrue
.- To find the ids for the controllers, count upwards from 0 (including the headset) in the devices list in the SteamVR app.
- Set
controller_override_left
andcontroller_override_right
to the ids. (For example, they might be 5 & 6 as shown in the image above, but they can vary).
- To find the ids for the controllers, count upwards from 0 (including the headset) in the devices list in the SteamVR app.
- Saving and restarting SteamVR should colour the controllers and the gloves should now be tracking with the controllers.