fixed EEPROM user-area space checks for FT232R and FT245R chips in ftdi_eeprom_build()
[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 <stdlib.h>
10#include <ftdi.h>
11
12int main(void)
13{
14 int ret;
15 struct ftdi_context *ftdi;
16 struct ftdi_version_info version;
17 if ((ftdi = ftdi_new()) == 0)
18 {
19 fprintf(stderr, "ftdi_new failed\n");
20 return EXIT_FAILURE;
21 }
22
23 version = ftdi_get_library_version();
24 printf("Initialized libftdi %s (major: %d, minor: %d, micro: %d, snapshot ver: %s)\n",
25 version.version_str, version.major, version.minor, version.micro,
26 version.snapshot_str);
27
28 if ((ret = ftdi_usb_open(ftdi, 0x0403, 0x6001)) < 0)
29 {
30 fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(ftdi));
31 ftdi_free(ftdi);
32 return EXIT_FAILURE;
33 }
34
35 // Read out FTDIChip-ID of R type chips
36 if (ftdi->type == TYPE_R)
37 {
38 unsigned int chipid;
39 printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(ftdi, &chipid));
40 printf("FTDI chipid: %X\n", chipid);
41 }
42
43 if ((ret = ftdi_usb_close(ftdi)) < 0)
44 {
45 fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(ftdi));
46 ftdi_free(ftdi);
47 return EXIT_FAILURE;
48 }
49
50 ftdi_free(ftdi);
51
52 return EXIT_SUCCESS;
53}