Merge branch 'master' into refactor/led_device

This commit is contained in:
Murat Seker
2020-08-23 21:02:25 +02:00
committed by GitHub
272 changed files with 1711 additions and 1738 deletions

View File

@@ -123,7 +123,7 @@ int ProviderHID::close()
return retval;
}
int ProviderHID::writeBytes(const unsigned size, const uint8_t * data)
int ProviderHID::writeBytes(unsigned size, const uint8_t * data)
{
if (_blockedForDelay) {
return 0;
@@ -157,28 +157,30 @@ int ProviderHID::writeBytes(const unsigned size, const uint8_t * data)
else{
ret = hid_write(_deviceHandle, ledData, size + 1);
}
// Handle first error
if(ret < 0){
if(ret < 0)
{
Error(_log,"Failed to write to HID device.");
// Try again
if(_useFeature){
if(_useFeature)
{
ret = hid_send_feature_report(_deviceHandle, ledData, size + 1);
}
else{
else
{
ret = hid_write(_deviceHandle, ledData, size + 1);
}
// Writing failed again, device might have disconnected
if(ret < 0){
Error(_log,"Failed to write to HID device.");
hid_close(_deviceHandle);
_deviceHandle = nullptr;
}
}
return ret;
}