Bump the library version number to 2.0.0
[libftdi] / ftdipp / ftdi.cpp
index 18dd81c..e2755d8 100644 (file)
@@ -132,6 +132,7 @@ int Context::open(struct libusb_device *dev)
 int Context::close()
 {
     d->open = false;
+    d->dev = 0;
     return ftdi_usb_close(d->ftdi);
 }
 
@@ -272,16 +273,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 +283,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);
@@ -321,6 +317,11 @@ int Context::get_strings()
 
 int Context::get_strings_and_reopen()
 {
+    if ( d->dev == 0 )
+    {
+        d->dev = libusb_get_device(d->ftdi->usb_dev);
+    }
+
     // Get device strings (closes device)
     int ret=get_strings();
     if (ret < 0)