From 2c5a162cc42ac26bc28811a591e4c258683fdb2a Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Fri, 24 Dec 2021 15:48:16 +0100 Subject: [PATCH] dfu: add debug level, only print device open fails in debug mode --- src/dfu.cpp | 14 +++++++------- src/dfu.hpp | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/dfu.cpp b/src/dfu.cpp index 691fadb..90e0b06 100644 --- a/src/dfu.cpp +++ b/src/dfu.cpp @@ -48,7 +48,7 @@ enum dfu_cmd { DFU::DFU(const string &filename, uint16_t vid, uint16_t pid, int16_t altsetting, - int verbose_lvl):_verbose(verbose_lvl > 0), + int verbose_lvl):_verbose(verbose_lvl > 0), _debug(verbose_lvl > 1), _quiet(verbose_lvl < 0), dev_idx(0), _vid(0), _pid(0), _altsetting(altsetting), usb_ctx(NULL), dev_handle(NULL), curr_intf(0), transaction(0), @@ -302,7 +302,12 @@ int DFU::searchDFUDevices() } int ret = libusb_open(usb_dev, &handle); - if (ret != 0) { + if (ret == 0) { + if (searchIfDFU(handle, usb_dev, &desc) != 0) { + return EXIT_FAILURE; + } + libusb_close(handle); + } else if (_debug) { char mess[256]; sprintf(mess,"Unable to open device: " "%04x:%04x (bus %d, device %2d) Error: %s -> skip\n", @@ -311,11 +316,6 @@ int DFU::searchDFUDevices() libusb_get_device_address(usb_dev), libusb_error_name(ret)); printWarn(mess); - } else { - if (searchIfDFU(handle, usb_dev, &desc) != 0) { - return EXIT_FAILURE; - } - libusb_close(handle); } } diff --git a/src/dfu.hpp b/src/dfu.hpp index e039c15..f9be4a2 100644 --- a/src/dfu.hpp +++ b/src/dfu.hpp @@ -228,6 +228,7 @@ class DFU { struct libusb_device_descriptor *desc); bool _verbose; /**< display more message */ + bool _debug; /**< display debug message */ bool _quiet; /**< don't use progressBar */ std::vector dfu_dev; /**< available dfu devices */ int dev_idx; /**< device index in dfu_dev */