Skip to content

Commit a5959d4

Browse files
SirDifferentialxlz
authored andcommitted
openni2: Add serial parameter to uri
The URI format is now this: freenect2://0?serial=0123456789&depth-size=123x456 Opening OpenNI2 by serial number is not implemented now so the serial parameter in the URI is only informative for distinguishing between devices. depth-size is still optional. Close OpenKinect#762
1 parent ab6c937 commit a5959d4

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/openni2/DeviceDriver.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -432,18 +432,21 @@ namespace Freenect2Driver
432432
int devices_found = freenect2.enumerateDevices();
433433
for (int i = 0; i < devices_found; i++)
434434
{
435-
std::string uri = devid_to_uri(i);
435+
std::string serial = freenect2.getDeviceSerialNumber(i);
436+
437+
std::string uri = devid_to_uri(i) + "?serial=" + serial;
436438
const char* modes_c[] = {
437439
"",
438-
"?depth-size=640x480",
439-
"?depth-size=512x424",
440+
"&depth-size=640x480",
441+
"&depth-size=512x424",
440442
};
443+
441444
std::vector<std::string> modes(modes_c, modes_c + 3);
442445

443446
WriteMessage("Found device " + uri);
444447

445-
for (unsigned i = 0; i < modes.size(); i++) {
446-
register_uri(uri + modes[i]);
448+
for (int j = 0; j < 3; j++) {
449+
register_uri(uri + modes[j]);
447450
}
448451

449452
#if 0

0 commit comments

Comments
 (0)