projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libaltos: Add pre-built windows dll binaries
[fw/altos]
/
libaltos
/
libaltos_windows.c
diff --git
a/libaltos/libaltos_windows.c
b/libaltos/libaltos_windows.c
index 846e2217b4c7799ec155cd9870264eb798165b77..b92df70857fb03b1bbf61220cd91608eb307051d 100644
(file)
--- a/
libaltos/libaltos_windows.c
+++ b/
libaltos/libaltos_windows.c
@@
-131,6
+131,15
@@
altos_ftdi_list_start(void)
return list;
}
return list;
}
+static struct {
+ unsigned int vid, pid;
+ char *name;
+} name_map[] = {
+ { .vid = 0xfffe, .pid = 0x0028, .name = "EasyMega" },
+ { .vid = 0xfffe, .pid = 0x002c, .name = "EasyMotor" },
+ { .name = NULL },
+};
+
PUBLIC int
altos_list_next(struct altos_list *list, struct altos_device *device)
{
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;
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,
dev_info_data.cbSize = sizeof (SP_DEVINFO_DATA);
while(SetupDiEnumDeviceInfo(list->dev_info, list->index,
@@
-230,6
+240,23
@@
altos_list_next(struct altos_list *list, struct altos_device *device)
altos_set_last_windows_error();
continue;
}
altos_set_last_windows_error();
continue;
}
+
+ char *space = friendlyname;
+ while (*space) {
+ if (*space == ' ') {
+ *space = '\0';
+ break;
+ }
+ space++;
+ }
+
+ for (i = 0; name_map[i].name; i++) {
+ if (name_map[i].vid == vid && name_map[i].pid == pid) {
+ strcpy(friendlyname, name_map[i].name);
+ break;
+ }
+ }
+
device->vendor = vid;
device->product = pid;
device->serial = serial;
device->vendor = vid;
device->product = pid;
device->serial = serial;
@@
-760,3
+787,9
@@
altos_bt_open(struct altos_bt_device *device)
}
return &file->file;
}
}
return &file->file;
}
+
+void
+altos_pause_one_second(void)
+{
+ Sleep(1000);
+}