Refactor device identifiers

This commit is contained in:
LordGrey 2023-03-26 19:30:32 +00:00
parent af65f6f128
commit 7bf2ad2cbf
2 changed files with 23 additions and 8 deletions

View File

@ -1119,6 +1119,9 @@ $(document).ready(function () {
case "karate":
case "sedu":
case "tpm2":
case "ws2812_ftdi":
case "sk6812_ftdi":
case "apa102_ftdi":
if (storedAccess === 'expert') {
filter.discoverAll = true;
}
@ -1901,7 +1904,7 @@ var updateOutputSelectList = function (ledType, discoveryInfo) {
if ($.inArray(ledType, devNET) != -1) {
ledTypeGroup = "devNET";
} else if ($.inArray(ledType, devSerial) != -1) {
} else if ($.inArray(ledType, devSerial) != -1 || ledType.endsWith("_ftdi")) {
ledTypeGroup = "devSerial";
} else if ($.inArray(ledType, devRPiSPI) != -1) {
ledTypeGroup = "devRPiSPI";
@ -1998,6 +2001,9 @@ var updateOutputSelectList = function (ledType, discoveryInfo) {
case "karate":
case "sedu":
case "tpm2":
case "ws2812_ftdi":
case "sk6812_ftdi":
case "apa102_ftdi":
for (const device of discoveryInfo.devices) {
if (device.udev) {
enumVals.push(device.systemLocation);
@ -2093,7 +2099,6 @@ var updateOutputSelectList = function (ledType, discoveryInfo) {
async function discover_device(ledType, params) {
const result = await requestLedDeviceDiscovery(ledType, params);
var discoveryResult = {};
if (result) {
if (result.error) {

View File

@ -181,14 +181,24 @@ QJsonObject ProviderFtdi::discover(const QJsonObject & /*params*/)
libusb_device_descriptor desc;
libusb_get_device_descriptor(curdev->dev, &desc);
QString value = QString("i:0x%1:0x%2")
.arg(desc.idVendor, 4, 16, QChar{'0'})
.arg(desc.idProduct, 4, 16, QChar{'0'});
uint8_t bus_number = libusb_get_bus_number(curdev->dev);
uint8_t device_address = libusb_get_device_address(curdev->dev);
QString portName = QString("d:%1/%2")
.arg(bus_number, 3, 10, QChar{'0'})
.arg(device_address, 3, 10, QChar{'0'});
QString vendorIdentifier = QString("0x%1").arg(desc.idVendor, 4, 16, QChar{'0'});
QString productIdentifier = QString("0x%1").arg(desc.idProduct, 4, 16, QChar{'0'});
QString name = QString("%1 (%2)").arg(manufacturer, description);
deviceList.push_back(QJsonObject{
{"value", value},
{"name", name}});
{"portName", portName},
{"vendorIdentifier", vendorIdentifier},
{"productIdentifier", productIdentifier},
{"manufacturer", manufacturer},
{"description", description},
});
curdev = curdev->next;
}