X-Git-Url: http://developer.intra2net.com/git/?p=libftdi;a=blobdiff_plain;f=examples%2Fbitbang.c;h=ff2fbed2a7a8103c8dd00a8226aada8744eca138;hp=74251eebadd9ee00ae8a6bd2612757e90e340727;hb=05c2e40a3c720c63a75d36a33d0d5de0677f8f57;hpb=898c34ddbfd67272da1d7ff281dc500479e78869 diff --git a/examples/bitbang.c b/examples/bitbang.c index 74251ee..ff2fbed 100644 --- a/examples/bitbang.c +++ b/examples/bitbang.c @@ -1,20 +1,29 @@ /* This program is distributed under the GPL, version 2 */ #include +#include #include +#ifdef __WIN32__ +#define sleep(x) Sleep(x) +#endif #include int main(int argc, char **argv) { struct ftdi_context ftdic; int f,i; - char buf[1]; + unsigned char buf[1]; - ftdi_init(&ftdic); + if (ftdi_init(&ftdic) < 0) + { + fprintf(stderr, "ftdi_init failed\n"); + return EXIT_FAILURE; + } f = ftdi_usb_open(&ftdic, 0x0403, 0x6001); - if(f < 0 && f != -5) { + if (f < 0 && f != -5) + { fprintf(stderr, "unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(&ftdic)); exit(-1); } @@ -22,14 +31,15 @@ int main(int argc, char **argv) printf("ftdi open succeeded: %d\n",f); printf("enabling bitbang mode\n"); - ftdi_enable_bitbang(&ftdic, 0xFF); + ftdi_set_bitmode(&ftdic, 0xFF, BITMODE_BITBANG); sleep(3); buf[0] = 0x0; printf("turning everything on\n"); f = ftdi_write_data(&ftdic, buf, 1); - if(f < 0) { + if (f < 0) + { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic)); } @@ -38,21 +48,25 @@ int main(int argc, char **argv) buf[0] = 0xFF; printf("turning everything off\n"); f = ftdi_write_data(&ftdic, buf, 1); - if(f < 0) { + if (f < 0) + { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic)); } sleep(3); - for(i = 0; i < 32; i++) { + for (i = 0; i < 32; i++) + { buf[0] = 0 | (0xFF ^ 1 << (i % 8)); - if( i > 0 && (i % 8) == 0) { + if ( i > 0 && (i % 8) == 0) + { printf("\n"); } printf("%02hhx ",buf[0]); fflush(stdout); f = ftdi_write_data(&ftdic, buf, 1); - if(f < 0) { + if (f < 0) + { fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic)); } sleep(1); @@ -65,4 +79,6 @@ int main(int argc, char **argv) ftdi_usb_close(&ftdic); ftdi_deinit(&ftdic); + + return 0; }