diff options
author | Bdale Garbee <bdale@gag.com> | 2016-09-05 20:59:11 -0600 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2016-09-05 20:59:11 -0600 |
commit | c0ad087008856cfc2233b977abfc3f1dcbaccdcc (patch) | |
tree | adc46abc430793112858ce5d1822d3fe0a395e71 /ao-tools/lib/ao-selfload.c | |
parent | 148b013dd29c26920ddfb53449ed4d8cc5a4b5ee (diff) | |
parent | 4fdf8ca9ca1cd5a84b03bd7a03c5806af64b413d (diff) |
Merge branch 'master' into branch-1.6
Diffstat (limited to 'ao-tools/lib/ao-selfload.c')
-rw-r--r-- | ao-tools/lib/ao-selfload.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/ao-tools/lib/ao-selfload.c b/ao-tools/lib/ao-selfload.c index 41e45adc..0a23dfda 100644 --- a/ao-tools/lib/ao-selfload.c +++ b/ao-tools/lib/ao-selfload.c @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -156,3 +157,40 @@ ao_self_get_uint32(struct cc_usb *cc, uint32_t addr) free(hex); return v; } + +bool +ao_self_get_usb_id(struct cc_usb *cc, struct ao_usb_id *id) +{ + struct ao_hex_image *hex; + bool ret; + + if (!AO_USB_DESCRIPTORS) + return false; + + hex = ao_self_read(cc, AO_USB_DESCRIPTORS, 512); + if (!hex) + return false; + + ret = ao_heximage_usb_id(hex, id); + free(hex); + return ret; +} + +uint16_t * +ao_self_get_usb_product(struct cc_usb *cc) +{ + struct ao_hex_image *hex; + uint16_t *ret; + + if (!AO_USB_DESCRIPTORS) + return NULL; + + hex = ao_self_read(cc, AO_USB_DESCRIPTORS, 512); + if (!hex) + return NULL; + + ret = ao_heximage_usb_product(hex); + free(hex); + return ret; +} + |