Fixed Context::open as get_strings() closes the device before. Thanks to Chris M...
[libftdi] / examples / simple.c
... / ...
CommitLineData
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 <ftdi.h>
10
11int main(void)
12{
13 int ret;
14 struct ftdi_context ftdic;
15 if (ftdi_init(&ftdic) < 0)
16 {
17 fprintf(stderr, "ftdi_init failed\n");
18 return EXIT_FAILURE;
19 }
20
21 if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0)
22 {
23 fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
24 return EXIT_FAILURE;
25 }
26
27 // Read out FTDIChip-ID of R type chips
28 if (ftdic.type == TYPE_R)
29 {
30 unsigned int chipid;
31 printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(&ftdic, &chipid));
32 printf("FTDI chipid: %X\n", chipid);
33 }
34
35 if ((ret = ftdi_usb_close(&ftdic)) < 0)
36 {
37 fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
38 return EXIT_FAILURE;
39 }
40
41 ftdi_deinit(&ftdic);
42
43 return EXIT_SUCCESS;
44}