Initial import of using libusb-1.0.
[libftdi] / examples / simple.c
CommitLineData
bf956a00
TJ
1/* simple.c
2
3 Simple libftdi usage example
4
5 This program is distributed under the GPL, version 2
6*/
7
ad397a4b 8#include <stdio.h>
579b006f 9#include <stdlib.h>
ad397a4b
TJ
10#include <ftdi.h>
11
6ac169ea 12int main(void)
ad397a4b
TJ
13{
14 int ret;
15 struct ftdi_context ftdic;
6ac169ea
TJ
16 if (ftdi_init(&ftdic) < 0)
17 {
18 fprintf(stderr, "ftdi_init failed\n");
19 return EXIT_FAILURE;
20 }
ad397a4b 21
22d12cda
TJ
22 if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0)
23 {
ad397a4b
TJ
24 fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
25 return EXIT_FAILURE;
26 }
27
cb6250fa 28 // Read out FTDIChip-ID of R type chips
22d12cda
TJ
29 if (ftdic.type == TYPE_R)
30 {
cb6250fa
TJ
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
6ac169ea
TJ
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
ad397a4b
TJ
42 ftdi_deinit(&ftdic);
43
44 return EXIT_SUCCESS;
45}