X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=examples%2Fsimple.c;h=cfd674bebf604c8d2a3429056afab207fcfdc225;hp=8abd7b3944a88ebf9a0e5bc9791f3b1872d07295;hb=def58aa9bb045ccfbd2c521bae527f77ba3d916b;hpb=6ac169eafa5ac3e12d901cf8d1737d28176a3001 diff --git a/examples/simple.c b/examples/simple.c index 8abd7b3..cfd674b 100644 --- a/examples/simple.c +++ b/examples/simple.c @@ -6,39 +6,48 @@ */ #include +#include #include int main(void) { int ret; - struct ftdi_context ftdic; - if (ftdi_init(&ftdic) < 0) - { - fprintf(stderr, "ftdi_init failed\n"); + struct ftdi_context *ftdi; + struct ftdi_version_info version; + if ((ftdi = ftdi_new()) == 0) + { + fprintf(stderr, "ftdi_new failed\n"); return EXIT_FAILURE; } - if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6001)) < 0) + version = ftdi_get_library_version(); + printf("Initialized libftdi %s (major: %d, minor: %d, micro: %d, snapshot ver: %s)\n", + version.version_str, version.major, version.minor, version.micro, + version.snapshot_str); + + if ((ret = ftdi_usb_open(ftdi, 0x0403, 0x6001)) < 0) { - fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); + fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(ftdi)); + ftdi_free(ftdi); return EXIT_FAILURE; } // Read out FTDIChip-ID of R type chips - if (ftdic.type == TYPE_R) + if (ftdi->type == TYPE_R) { unsigned int chipid; - printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(&ftdic, &chipid)); + printf("ftdi_read_chipid: %d\n", ftdi_read_chipid(ftdi, &chipid)); printf("FTDI chipid: %X\n", chipid); } - if ((ret = ftdi_usb_close(&ftdic)) < 0) + if ((ret = ftdi_usb_close(ftdi)) < 0) { - fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic)); + fprintf(stderr, "unable to close ftdi device: %d (%s)\n", ret, ftdi_get_error_string(ftdi)); + ftdi_free(ftdi); return EXIT_FAILURE; } - ftdi_deinit(&ftdic); + ftdi_free(ftdi); return EXIT_SUCCESS; }