Initial import of using libusb-1.0.
[libftdi] / examples / simple.c
1 /* simple.c
2
3    Simple libftdi usage example
4
5    This program is distributed under the GPL, version 2
6 */
7
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <ftdi.h>
11
12 int main(void)
13 {
14     int ret;
15     struct ftdi_context ftdic;
16     if (ftdi_init(&ftdic) < 0)
17     {
18         fprintf(stderr, "ftdi_init failed\n");
19         return EXIT_FAILURE;
20     }
21
22     if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0)
23     {
24         fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
25         return EXIT_FAILURE;
26     }
27
28     // Read out FTDIChip-ID of R type chips
29     if (ftdic.type == TYPE_R)
30     {
31         unsigned int chipid;
32         printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(&ftdic, &chipid));
33         printf("FTDI chipid: %X\n", chipid);
34     }
35
36     if ((ret = ftdi_usb_close(&ftdic)) < 0)
37     {
38         fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
39         return EXIT_FAILURE;
40     }
41
42     ftdi_deinit(&ftdic);
43
44     return EXIT_SUCCESS;
45 }