X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=libaltos%2Flibaltos_windows.c;fp=libaltos%2Flibaltos_windows.c;h=0c1f6782fd58f167be01d53a112dede4d04a426f;hp=03c2958f52bc1a63b1a0dc71c01eb43a82472e8a;hb=4e07392c65ec512e3309d89c7465c1406a941b66;hpb=0d298df9e4cf945f3d0dfdb583af07e498c685a0 diff --git a/libaltos/libaltos_windows.c b/libaltos/libaltos_windows.c index 03c2958f..0c1f6782 100644 --- a/libaltos/libaltos_windows.c +++ b/libaltos/libaltos_windows.c @@ -131,6 +131,15 @@ altos_ftdi_list_start(void) return list; } +static struct { + char *windows; + char *real; +} name_map[] = { + { .windows = "AltusMetrum28", .real = "EasyMega" }, + { .windows = "AltusMetrum2c", .real = "EasyMotor" }, + { 0, 0 }, +}; + PUBLIC int altos_list_next(struct altos_list *list, struct altos_device *device) { @@ -148,6 +157,7 @@ altos_list_next(struct altos_list *list, struct altos_device *device) DWORD friendlyname_len; char instanceid[1024]; DWORD instanceid_len; + int i; dev_info_data.cbSize = sizeof (SP_DEVINFO_DATA); while(SetupDiEnumDeviceInfo(list->dev_info, list->index, @@ -230,6 +240,12 @@ altos_list_next(struct altos_list *list, struct altos_device *device) altos_set_last_windows_error(); continue; } + for (i = 0; name_map[i].windows; i++) + if (!strcmp(name_map[i].windows, friendlyname)) { + strcpy(friendlyname, name_map[i].real); + break; + } + device->vendor = vid; device->product = pid; device->serial = serial;