The open source OpenXR runtime

t/libmonado: Update Python example

* Use new device properties.
* Remove device ID it's deprecated because it's not stable.

+16 -8
+1 -1
src/xrt/targets/libmonado/example.py
··· 51 51 devices = m.get_devices() 52 52 print(f"Devices: {len(devices)}") 53 53 for dev in devices: 54 - print(f"\tid: {dev.ident:4d}, name: {dev.name}") 54 + print(f"\tname: {dev.name}, serial: {dev.serial}") 55 55 56 56 roles_map = m.get_device_roles() 57 57 print(f"Roles: {len(roles_map)}")
+15 -7
src/xrt/targets/libmonado/monado.py
··· 68 68 69 69 70 70 class Device: 71 - def __init__(self, ident, name): 72 - self.ident = ident 71 + def __init__(self, name, serial): 73 72 self.name = name 73 + self.serial = serial 74 74 75 75 76 76 class Client: ··· 109 109 self.name_ptr = self.ffi.new("char **") 110 110 self.flags_ptr = self.ffi.new("uint32_t *") 111 111 self.client_id_ptr = self.ffi.new("uint32_t *") 112 - self.device_id_ptr = self.ffi.new("uint32_t *") 113 112 self.device_name_ptr = self.ffi.new("char **") 113 + self.device_serial_ptr = self.ffi.new("char **") 114 114 self.device_count_ptr = self.ffi.new("uint32_t *") 115 115 116 116 def update_clients(self): ··· 185 185 return self.device_count_ptr[0] 186 186 187 187 def get_device_at_index(self, index): 188 - ret = self.lib.mnd_root_get_device_info(self.root, index, self.device_id_ptr, self.device_name_ptr) 188 + prop = self.lib.MND_PROPERTY_NAME_STRING 189 + ret = self.lib.mnd_root_get_device_info_string(self.root, index, prop, self.device_name_ptr) 189 190 if ret != 0: 190 - raise Exception(f"Could not get device at index:{index}") 191 - dev_id = self.device_id_ptr[0] 191 + raise Exception(f"Could not get device name at index:{index}") 192 + 193 + prop = self.lib.MND_PROPERTY_SERIAL_STRING 194 + ret = self.lib.mnd_root_get_device_info_string(self.root, index, prop, self.device_serial_ptr) 195 + if ret != 0: 196 + raise Exception(f"Could not get device serial at index:{index}") 197 + 192 198 dev_name = self.ffi.string(self.device_name_ptr[0]).decode("utf-8") 193 - return Device(dev_id, dev_name) 199 + dev_serial = self.ffi.string(self.device_serial_ptr[0]).decode("utf-8") 200 + 201 + return Device(dev_name, dev_serial) 194 202 195 203 def get_devices(self): 196 204 devices = []