From 2d790e377ad5f1c61b38436aa3d5a201c9184028 Mon Sep 17 00:00:00 2001 From: Thomas Jarosch Date: Thu, 29 Sep 2011 22:09:34 +0200 Subject: [PATCH] Remove old ftdi_enable_bitbang() function. It was marked as deprecated for two years --- ftdipp/ftdi.cpp | 15 +++++---------- ftdipp/ftdi.hpp | 1 - src/ftdi.c | 49 ++++++++----------------------------------------- src/ftdi.h | 3 +-- 4 files changed, 14 insertions(+), 54 deletions(-) diff --git a/ftdipp/ftdi.cpp b/ftdipp/ftdi.cpp index 18dd81c..5e45dce 100644 --- a/ftdipp/ftdi.cpp +++ b/ftdipp/ftdi.cpp @@ -272,16 +272,6 @@ int Context::set_error_char(unsigned char errorch, unsigned char enable) return ftdi_set_error_char(d->ftdi, errorch, enable); } -int Context::bitbang_enable(unsigned char bitmask) -{ - return ftdi_set_bitmode(d->ftdi, bitmask, BITMODE_BITBANG); -} - -int Context::bitbang_disable() -{ - return ftdi_disable_bitbang(d->ftdi); -} - int Context::set_bitmode(unsigned char bitmask, unsigned char mode) { return ftdi_set_bitmode(d->ftdi, bitmask, mode); @@ -292,6 +282,11 @@ int Context::set_bitmode(unsigned char bitmask, enum ftdi_mpsse_mode mode) return ftdi_set_bitmode(d->ftdi, bitmask, mode); } +int Context::bitbang_disable() +{ + return ftdi_disable_bitbang(d->ftdi); +} + int Context::read_pins(unsigned char *pins) { return ftdi_read_pins(d->ftdi, pins); diff --git a/ftdipp/ftdi.hpp b/ftdipp/ftdi.hpp index 3a5d993..ec0e13d 100644 --- a/ftdipp/ftdi.hpp +++ b/ftdipp/ftdi.hpp @@ -123,7 +123,6 @@ public: /* BitBang mode */ int set_bitmode(unsigned char bitmask, unsigned char mode); int set_bitmode(unsigned char bitmask, enum ftdi_mpsse_mode mode); - int DEPRECATED(bitbang_enable(unsigned char bitmask)); int bitbang_disable(); int read_pins(unsigned char *pins); diff --git a/src/ftdi.c b/src/ftdi.c index 17d1d0f..1f45e95 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -1902,21 +1902,19 @@ int ftdi_read_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunks return 0; } - /** - Enable bitbang mode. - - \deprecated use \ref ftdi_set_bitmode with mode BITMODE_BITBANG instead + Enable/disable bitbang modes. \param ftdi pointer to ftdi_context \param bitmask Bitmask to configure lines. HIGH/ON value configures a line as output. + \param mode Bitbang mode: use the values defined in \ref ftdi_mpsse_mode \retval 0: all fine \retval -1: can't enable bitbang mode \retval -2: USB device unavailable */ -int ftdi_enable_bitbang(struct ftdi_context *ftdi, unsigned char bitmask) +int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode) { unsigned short usb_val; @@ -1924,15 +1922,12 @@ int ftdi_enable_bitbang(struct ftdi_context *ftdi, unsigned char bitmask) ftdi_error_return(-2, "USB device unavailable"); usb_val = bitmask; // low byte: bitmask - /* FT2232C: Set bitbang_mode to 2 to enable SPI */ - usb_val |= (ftdi->bitbang_mode << 8); - - if (libusb_control_transfer(ftdi->usb_dev, FTDI_DEVICE_OUT_REQTYPE, - SIO_SET_BITMODE_REQUEST, usb_val, ftdi->index, - NULL, 0, ftdi->usb_write_timeout) < 0) - ftdi_error_return(-1, "unable to enter bitbang mode. Perhaps not a BM type chip?"); + usb_val |= (mode << 8); + if (libusb_control_transfer(ftdi->usb_dev, FTDI_DEVICE_OUT_REQTYPE, SIO_SET_BITMODE_REQUEST, usb_val, ftdi->index, NULL, 0, ftdi->usb_write_timeout) < 0) + ftdi_error_return(-1, "unable to configure bitbang mode. Perhaps not a BM/2232C type chip?"); - ftdi->bitbang_enabled = 1; + ftdi->bitbang_mode = mode; + ftdi->bitbang_enabled = (mode == BITMODE_RESET) ? 0 : 1; return 0; } @@ -1957,34 +1952,6 @@ int ftdi_disable_bitbang(struct ftdi_context *ftdi) return 0; } -/** - Enable/disable bitbang modes. - - \param ftdi pointer to ftdi_context - \param bitmask Bitmask to configure lines. - HIGH/ON value configures a line as output. - \param mode Bitbang mode: use the values defined in \ref ftdi_mpsse_mode - - \retval 0: all fine - \retval -1: can't enable bitbang mode - \retval -2: USB device unavailable -*/ -int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode) -{ - unsigned short usb_val; - - if (ftdi == NULL || ftdi->usb_dev == NULL) - ftdi_error_return(-2, "USB device unavailable"); - - usb_val = bitmask; // low byte: bitmask - usb_val |= (mode << 8); - if (libusb_control_transfer(ftdi->usb_dev, FTDI_DEVICE_OUT_REQTYPE, SIO_SET_BITMODE_REQUEST, usb_val, ftdi->index, NULL, 0, ftdi->usb_write_timeout) < 0) - ftdi_error_return(-1, "unable to configure bitbang mode. Perhaps not a 2232C type chip?"); - - ftdi->bitbang_mode = mode; - ftdi->bitbang_enabled = (mode == BITMODE_RESET) ? 0 : 1; - return 0; -} /** Directly read pin state, circumventing the read buffer. Useful for bitbang mode. diff --git a/src/ftdi.h b/src/ftdi.h index 03a7d52..fc60ec1 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -474,9 +474,8 @@ extern "C" struct ftdi_transfer_control *ftdi_read_data_submit(struct ftdi_context *ftdi, unsigned char *buf, int size); int ftdi_transfer_data_done(struct ftdi_transfer_control *tc); - int DEPRECATED(ftdi_enable_bitbang(struct ftdi_context *ftdi, unsigned char bitmask)); - int ftdi_disable_bitbang(struct ftdi_context *ftdi); int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode); + int ftdi_disable_bitbang(struct ftdi_context *ftdi); int ftdi_read_pins(struct ftdi_context *ftdi, unsigned char *pins); int ftdi_set_latency_timer(struct ftdi_context *ftdi, unsigned char latency); -- 1.7.1