X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=examples%2Fsimple.c;h=0fcf4e8f222a6613fd9c5ec288cb9fd934d7a4e2;hp=5568712b99a96484ac381e24b4ec60821015587d;hb=05c2e40a3c720c63a75d36a33d0d5de0677f8f57;hpb=ad397a4bb9a5c258c8655e30f6856c0103d49a9e diff --git a/examples/simple.c b/examples/simple.c index 5568712..0fcf4e8 100644 --- a/examples/simple.c +++ b/examples/simple.c @@ -1,18 +1,44 @@ +/* simple.c + + Simple libftdi usage example + + This program is distributed under the GPL, version 2 +*/ + #include +#include #include -int main(int argc, char **argv) +int main(void) { int ret; struct ftdi_context ftdic; - ftdi_init(&ftdic); + if (ftdi_init(&ftdic) < 0) + { + fprintf(stderr, "ftdi_init failed\n"); + return EXIT_FAILURE; + } - if((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0) { + if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0) + { fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); return EXIT_FAILURE; } - ftdi_usb_close(&ftdic); + // Read out FTDIChip-ID of R type chips + if (ftdic.type == TYPE_R) + { + unsigned int chipid; + printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(&ftdic, &chipid)); + printf("FTDI chipid: %X\n", chipid); + } + + if ((ret = ftdi_usb_close(&ftdic)) < 0) + { + fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); + return EXIT_FAILURE; + } + ftdi_deinit(&ftdic); return EXIT_SUCCESS;