Logging leds (#52)

* switch to new logger for folowing led devices:
LedDeviceAtmo
LedDeviceFactory
LedDeviceFadeCandy
LedDeviceHyperionUsbasp
LedDeviceLightpack-hidapi
LedDevicePiBlaster
LedDeviceWS281x
LedRs232Device

leddevice base class defines logger already as protected member _log

* migrate to new logger for led devices.
still todo:
LedDeviceWS2812b
LedDeviceWs2812SPI
LedDeviceTinkerforge
LedDeviceLightpack
LedDeviceMultiLightpack

* migrate leddevice tinkerforge to new logger

* migrate Lightpack and MultiLightpack to new logger
This commit is contained in:
redPanther 2016-06-26 11:53:16 +02:00 committed by brindosch
parent 44a550be97
commit e486b10aa6
3 changed files with 35 additions and 35 deletions

View File

@ -71,12 +71,12 @@ int LedDeviceLightpack::open(const std::string & serialNumber)
// initialize the usb context // initialize the usb context
if ((error = libusb_init(&_libusbContext)) != LIBUSB_SUCCESS) if ((error = libusb_init(&_libusbContext)) != LIBUSB_SUCCESS)
{ {
std::cerr << "Error while initializing USB context(" << error << "): " << libusb_error_name(error) << std::endl; Error(_log, "Error while initializing USB context(%s): %s", error, libusb_error_name(error));
_libusbContext = nullptr; _libusbContext = nullptr;
return -1; return -1;
} }
//libusb_set_debug(_libusbContext, 3); //libusb_set_debug(_libusbContext, 3);
std::cout << "USB context initialized" << std::endl; Debug(_log, "USB context initialized");
// retrieve the list of usb devices // retrieve the list of usb devices
libusb_device ** deviceList; libusb_device ** deviceList;
@ -102,11 +102,11 @@ int LedDeviceLightpack::open(const std::string & serialNumber)
{ {
if (_serialNumber.empty()) if (_serialNumber.empty())
{ {
std::cerr << "No Lightpack device has been found" << std::endl; Warning(_log, "No Lightpack device has been found");
} }
else else
{ {
std::cerr << "No Lightpack device has been found with serial " << _serialNumber << std::endl; Error(_log,"No Lightpack device has been found with serial %s", _serialNumber.c_str());
} }
} }
@ -119,14 +119,14 @@ int LedDeviceLightpack::testAndOpen(libusb_device * device, const std::string &
int error = libusb_get_device_descriptor(device, &deviceDescriptor); int error = libusb_get_device_descriptor(device, &deviceDescriptor);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "Error while retrieving device descriptor(" << error << "): " << libusb_error_name(error) << std::endl; Error(_log, "Error while retrieving device descriptor(%s): %s", error, libusb_error_name(error));
return -1; return -1;
} }
if ((deviceDescriptor.idVendor == USB_VENDOR_ID && deviceDescriptor.idProduct == USB_PRODUCT_ID) || if ((deviceDescriptor.idVendor == USB_VENDOR_ID && deviceDescriptor.idProduct == USB_PRODUCT_ID) ||
(deviceDescriptor.idVendor == USB_OLD_VENDOR_ID && deviceDescriptor.idProduct == USB_OLD_PRODUCT_ID)) (deviceDescriptor.idVendor == USB_OLD_VENDOR_ID && deviceDescriptor.idProduct == USB_OLD_PRODUCT_ID))
{ {
std::cout << "Found a lightpack device. Retrieving more information..." << std::endl; Info(_log, "Found a lightpack device. Retrieving more information...");
// get the hardware address // get the hardware address
int busNumber = libusb_get_bus_number(device); int busNumber = libusb_get_bus_number(device);
@ -142,12 +142,12 @@ int LedDeviceLightpack::testAndOpen(libusb_device * device, const std::string &
} }
catch (int e) catch (int e)
{ {
std::cerr << "unable to retrieve serial number from Lightpack device(" << e << "): " << libusb_error_name(e) << std::endl; Error(_log, "unable to retrieve serial number from Lightpack device(%s): %s", e, libusb_error_name(e));
serialNumber = ""; serialNumber = "";
} }
} }
std::cout << "Lightpack device found: bus=" << busNumber << " address=" << addressNumber << " serial=" << serialNumber << std::endl; Debug(_log,"Lightpack device found: bus=%d address=%d serial=%s", busNumber, addressNumber, serialNumber.c_str());
// check if this is the device we are looking for // check if this is the device we are looking for
if (requestedSerialNumber.empty() || requestedSerialNumber == serialNumber) if (requestedSerialNumber.empty() || requestedSerialNumber == serialNumber)
@ -160,7 +160,7 @@ int LedDeviceLightpack::testAndOpen(libusb_device * device, const std::string &
_busNumber = busNumber; _busNumber = busNumber;
_addressNumber = addressNumber; _addressNumber = addressNumber;
std::cout << "Lightpack device successfully opened" << std::endl; Info(_log, "Lightpack device successfully opened");
// get the firmware version // get the firmware version
uint8_t buffer[256]; uint8_t buffer[256];
@ -173,7 +173,7 @@ int LedDeviceLightpack::testAndOpen(libusb_device * device, const std::string &
buffer, sizeof(buffer), 1000); buffer, sizeof(buffer), 1000);
if (error < 3) if (error < 3)
{ {
std::cerr << "Unable to retrieve firmware version number from Lightpack device(" << error << "): " << libusb_error_name(error) << std::endl; Error(_log, "Unable to retrieve firmware version number from Lightpack device(%s): %s", error, libusb_error_name(error));
} }
else else
{ {
@ -213,13 +213,13 @@ int LedDeviceLightpack::testAndOpen(libusb_device * device, const std::string &
_ledBuffer[0] = CMD_UPDATE_LEDS; _ledBuffer[0] = CMD_UPDATE_LEDS;
// return success // return success
std::cout << "Lightpack device opened: bus=" << _busNumber << " address=" << _addressNumber << " serial=" << _serialNumber << " version=" << _firmwareVersion.majorVersion << "." << _firmwareVersion.minorVersion << std::endl; Debug(_log, "Lightpack device opened: bus=%d address=%d serial=%s version=%s.%s.", _busNumber, _addressNumber, _serialNumber.c_str(), _firmwareVersion.majorVersion, _firmwareVersion.minorVersion );
return 0; return 0;
} }
catch(int e) catch(int e)
{ {
_deviceHandle = nullptr; _deviceHandle = nullptr;
std::cerr << "Unable to open Lightpack device. Searching for other device(" << e << "): " << libusb_error_name(e) << std::endl; Warning(_log, "Unable to open Lightpack device. Searching for other device(%s): %s", e, libusb_error_name(e));
} }
} }
} }
@ -289,7 +289,7 @@ int LedDeviceLightpack::writeBytes(uint8_t *data, int size)
return 0; return 0;
} }
std::cerr << "Unable to write " << size << " bytes to Lightpack device(" << error << "): " << libusb_error_name(error) << std::endl; Error(_log, "Unable to write %d bytes to Lightpack device(%s): %s", size, error, libusb_error_name(error));
return error; return error;
} }
@ -302,11 +302,11 @@ int LedDeviceLightpack::disableSmoothing()
libusb_device_handle * LedDeviceLightpack::openDevice(libusb_device *device) libusb_device_handle * LedDeviceLightpack::openDevice(libusb_device *device)
{ {
libusb_device_handle * handle = nullptr; libusb_device_handle * handle = nullptr;
Logger * log = Logger::getInstance("LedDevice");
int error = libusb_open(device, &handle); int error = libusb_open(device, &handle);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "unable to open device(" << error << "): " << libusb_error_name(error) << std::endl; Error(log, "unable to open device(%s): %s", error, libusb_error_name(error));
throw error; throw error;
} }
@ -316,7 +316,7 @@ libusb_device_handle * LedDeviceLightpack::openDevice(libusb_device *device)
error = libusb_detach_kernel_driver(handle, LIGHTPACK_INTERFACE); error = libusb_detach_kernel_driver(handle, LIGHTPACK_INTERFACE);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "unable to detach kernel driver(" << error << "): " << libusb_error_name(error) << std::endl; Error(log, "unable to detach kernel driver(%s): %s", error, libusb_error_name(error));
libusb_close(handle); libusb_close(handle);
throw error; throw error;
} }
@ -325,7 +325,7 @@ libusb_device_handle * LedDeviceLightpack::openDevice(libusb_device *device)
error = libusb_claim_interface(handle, LIGHTPACK_INTERFACE); error = libusb_claim_interface(handle, LIGHTPACK_INTERFACE);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "unable to claim interface(" << error << "): " << libusb_error_name(error) << std::endl; Error(log, "unable to claim interface(%s): %s", error, libusb_error_name(error));
libusb_attach_kernel_driver(handle, LIGHTPACK_INTERFACE); libusb_attach_kernel_driver(handle, LIGHTPACK_INTERFACE);
libusb_close(handle); libusb_close(handle);
throw error; throw error;

View File

@ -51,18 +51,18 @@ int LedDeviceMultiLightpack::open()
} }
else else
{ {
std::cerr << "Error while creating Lightpack device with serial " << serial << std::endl; Error(_log, "Error while creating Lightpack device with serial %s", serial.c_str());
delete device; delete device;
} }
} }
if (_lightpacks.size() == 0) if (_lightpacks.size() == 0)
{ {
std::cerr << "No Lightpack devices were found" << std::endl; Warning(_log, "No Lightpack devices were found");
} }
else else
{ {
std::cout << _lightpacks.size() << " Lightpack devices were found" << std::endl; Info(_log, "%d Lightpack devices were found", _lightpacks.size());
} }
return _lightpacks.size() > 0 ? 0 : -1; return _lightpacks.size() > 0 ? 0 : -1;
@ -86,7 +86,7 @@ int LedDeviceMultiLightpack::write(const std::vector<ColorRgb> &ledValues)
} }
else else
{ {
std::cout << "Unable to write data to Lightpack device: no more led data available" << std::endl; Warning(_log, "Unable to write data to Lightpack device: no more led data available");
} }
} }
@ -106,20 +106,20 @@ int LedDeviceMultiLightpack::switchOff()
std::list<std::string> LedDeviceMultiLightpack::getLightpackSerials() std::list<std::string> LedDeviceMultiLightpack::getLightpackSerials()
{ {
std::list<std::string> serialList; std::list<std::string> serialList;
Logger * log = Logger::getInstance("LedDevice");
std::cout << "Getting list of Lightpack serials" << std::endl; Debug(log, "Getting list of Lightpack serials");
// initialize the usb context // initialize the usb context
libusb_context * libusbContext; libusb_context * libusbContext;
int error = libusb_init(&libusbContext); int error = libusb_init(&libusbContext);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "Error while initializing USB context(" << error << "): " << libusb_error_name(error) << std::endl; Error(log,"Error while initializing USB context(%s): %s", error, libusb_error_name(error));
libusbContext = nullptr; libusbContext = nullptr;
return serialList; return serialList;
} }
//libusb_set_debug(_libusbContext, 3); //libusb_set_debug(_libusbContext, 3);
std::cout << "USB context initialized in multi Lightpack device" << std::endl; Info(log, "USB context initialized in multi Lightpack device");
// retrieve the list of usb devices // retrieve the list of usb devices
libusb_device ** deviceList; libusb_device ** deviceList;
@ -132,14 +132,14 @@ std::list<std::string> LedDeviceMultiLightpack::getLightpackSerials()
error = libusb_get_device_descriptor(deviceList[i], &deviceDescriptor); error = libusb_get_device_descriptor(deviceList[i], &deviceDescriptor);
if (error != LIBUSB_SUCCESS) if (error != LIBUSB_SUCCESS)
{ {
std::cerr << "Error while retrieving device descriptor(" << error << "): " << libusb_error_name(error) << std::endl; Error(log, "Error while retrieving device descriptor(%s): %s", error, libusb_error_name(error));
continue; continue;
} }
if ((deviceDescriptor.idVendor == USB_VENDOR_ID && deviceDescriptor.idProduct == USB_PRODUCT_ID) || if ((deviceDescriptor.idVendor == USB_VENDOR_ID && deviceDescriptor.idProduct == USB_PRODUCT_ID) ||
(deviceDescriptor.idVendor == USB_OLD_VENDOR_ID && deviceDescriptor.idProduct == USB_OLD_PRODUCT_ID)) (deviceDescriptor.idVendor == USB_OLD_VENDOR_ID && deviceDescriptor.idProduct == USB_OLD_PRODUCT_ID))
{ {
std::cout << "Found a lightpack device. Retrieving serial..." << std::endl; Info(log, "Found a lightpack device. Retrieving serial...");
// get the serial number // get the serial number
std::string serialNumber; std::string serialNumber;
@ -151,12 +151,12 @@ std::list<std::string> LedDeviceMultiLightpack::getLightpackSerials()
} }
catch (int e) catch (int e)
{ {
std::cerr << "Unable to retrieve serial number(" << e << "): " << libusb_error_name(e) << std::endl; Error(log,"Unable to retrieve serial number(%s): %s", e, libusb_error_name(e));
continue; continue;
} }
} }
std::cout << "Lightpack device found with serial " << serialNumber << std::endl; Error(log, "Lightpack device found with serial %s", serialNumber.c_str());;
serialList.push_back(serialNumber); serialList.push_back(serialNumber);
} }
} }

View File

@ -40,7 +40,7 @@ int LedDeviceTinkerforge::open()
// Check if connection is already createds // Check if connection is already createds
if (_ipConnection != nullptr) if (_ipConnection != nullptr)
{ {
std::cout << "Attempt to open existing connection; close before opening" << std::endl; Error(_log, "Attempt to open existing connection; close before opening");
return -1; return -1;
} }
@ -51,7 +51,7 @@ int LedDeviceTinkerforge::open()
int connectionStatus = ipcon_connect(_ipConnection, _host.c_str(), _port); int connectionStatus = ipcon_connect(_ipConnection, _host.c_str(), _port);
if (connectionStatus < 0) if (connectionStatus < 0)
{ {
std::cerr << "Attempt to connect to master brick (" << _host << ":" << _port << ") failed with status " << connectionStatus << std::endl; Warning(_log, "Attempt to connect to master brick (%s:%d) failed with status %d", _host.c_str(), _port, connectionStatus);
return -1; return -1;
} }
@ -62,7 +62,7 @@ int LedDeviceTinkerforge::open()
int frameStatus = led_strip_set_frame_duration(_ledStrip, _interval); int frameStatus = led_strip_set_frame_duration(_ledStrip, _interval);
if (frameStatus < 0) if (frameStatus < 0)
{ {
std::cerr << "Attempt to connect to led strip bricklet (led_strip_set_frame_duration()) failed with status " << frameStatus << std::endl; Error(_log,"Attempt to connect to led strip bricklet (led_strip_set_frame_duration()) failed with status %d", frameStatus);
return -1; return -1;
} }
@ -75,7 +75,7 @@ int LedDeviceTinkerforge::write(const std::vector<ColorRgb> &ledValues)
if (nrLedValues > MAX_NUM_LEDS) if (nrLedValues > MAX_NUM_LEDS)
{ {
std::cerr << "Invalid attempt to write led values. Not more than " << MAX_NUM_LEDS << " leds are allowed." << std::endl; Error(_log,"Invalid attempt to write led values. Not more than %d leds are allowed.", MAX_NUM_LEDS);
return -1; return -1;
} }
@ -134,7 +134,7 @@ int LedDeviceTinkerforge::transferLedData(LEDStrip *ledStrip, unsigned index, un
const int status = led_strip_set_rgb_values(ledStrip, i, copyLength, reds, greens, blues); const int status = led_strip_set_rgb_values(ledStrip, i, copyLength, reds, greens, blues);
if (status != E_OK) if (status != E_OK)
{ {
std::cerr << "Setting led values failed with status " << status << std::endl; Warning(_log, "Setting led values failed with status %d", status);
return status; return status;
} }
} }