Fix warnings in LogitechProtocolCommon.cpp
This commit is contained in:
parent
f5ddbed890
commit
f4dd9135dc
2 changed files with 28 additions and 27 deletions
|
|
@ -28,7 +28,6 @@ static std::vector<uint16_t> logitech_RGB_pages =
|
|||
|
||||
int getWirelessDevice(usages device_usages, uint16_t pid, wireless_map *wireless_devices)
|
||||
{
|
||||
int result;
|
||||
hid_device* dev_use1;
|
||||
usages::iterator find_usage = device_usages.find(1);
|
||||
if (find_usage == device_usages.end())
|
||||
|
|
@ -52,8 +51,8 @@ int getWirelessDevice(usages device_usages, uint16_t pid, wireless_map *wireless
|
|||
shortFAPrequest get_connected_devices;
|
||||
get_connected_devices.init(LOGITECH_RECEIVER_DEVICE_INDEX, LOGITECH_GET_REGISTER_REQUEST);
|
||||
|
||||
result = hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
result = hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
bool wireless_notifications = response.data[1] & 1; //Connected devices is a flag
|
||||
|
||||
if (!wireless_notifications)
|
||||
|
|
@ -61,8 +60,8 @@ int getWirelessDevice(usages device_usages, uint16_t pid, wireless_map *wireless
|
|||
response.init(); //zero out the response
|
||||
get_connected_devices.init(LOGITECH_RECEIVER_DEVICE_INDEX, LOGITECH_SET_REGISTER_REQUEST);
|
||||
get_connected_devices.data[1] = 1;
|
||||
result = hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
result = hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
|
||||
if(get_connected_devices.feature_index == 0x8F)
|
||||
{
|
||||
|
|
@ -73,8 +72,8 @@ int getWirelessDevice(usages device_usages, uint16_t pid, wireless_map *wireless
|
|||
response.init(); //zero out the response
|
||||
get_connected_devices.init(LOGITECH_RECEIVER_DEVICE_INDEX, LOGITECH_GET_REGISTER_REQUEST);
|
||||
get_connected_devices.feature_command = 0x02; //0x02 Connection State register. Essentially asking for count of paired devices
|
||||
result = hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
result = hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
hid_read_timeout(dev_use1, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
|
||||
unsigned int device_count = response.data[1];
|
||||
LOG_INFO("Count of connected devices to %4X: %i", pid, device_count);
|
||||
|
|
@ -89,7 +88,7 @@ int getWirelessDevice(usages device_usages, uint16_t pid, wireless_map *wireless
|
|||
get_connected_devices.feature_index = LOGITECH_SET_REGISTER_REQUEST;
|
||||
get_connected_devices.feature_command = 0x02; //0x02 Connection State register
|
||||
get_connected_devices.data[0] = 0x02; //Writting 0x02 to the connection state register will ask the receiver to fake a reconnect of paired devices
|
||||
result = hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
hid_write(dev_use1, get_connected_devices.buffer, get_connected_devices.size());
|
||||
|
||||
for(size_t i = 0; i < device_count; i++)
|
||||
{
|
||||
|
|
@ -207,7 +206,7 @@ bool logitech_device::is_valid()
|
|||
LOG_DEBUG("[%s] valid_test - type %i led_count - %i RGB_index - %i", device_name.c_str(), logitech_device_type, leds.size(), RGB_feature_index);
|
||||
|
||||
valid_test = !device_name.empty() // Check if device name exists
|
||||
&& (logitech_device_type >= 0 && logitech_device_type <= 8) // Check if device type has a valid index
|
||||
&& logitech_device_type <= 8 // Check if device type has a valid index
|
||||
&& (device_name[0] >= 32 && device_name[0] < 122) // Check for non valid characters in device name
|
||||
&& device_name.length() > 3 // Check for valid device names lenght
|
||||
&& leds.size() > 0 // Check if a device has at least 1 led
|
||||
|
|
@ -264,10 +263,14 @@ logitech_led logitech_device::getLED_info(uint8_t LED_num)
|
|||
| Get all info about the LEDs and Zones |
|
||||
\*-----------------------------------------------------------------*/
|
||||
|
||||
if(!(LED_num < 0 || LED_num > leds.size()))
|
||||
if(!(LED_num > leds.size()))
|
||||
{
|
||||
return leds[LED_num];
|
||||
}
|
||||
else
|
||||
{
|
||||
return leds[0];
|
||||
}
|
||||
}
|
||||
|
||||
void logitech_device::flushReadQueue()
|
||||
|
|
@ -328,7 +331,6 @@ uint8_t logitech_device::getFeatureIndex(uint16_t feature_page)
|
|||
| Return the mapped feature_index of the given feature page |
|
||||
| for this device or else return 0 |
|
||||
\*-----------------------------------------------------------------*/
|
||||
int result = 0;
|
||||
uint8_t feature_index = 0;
|
||||
hid_device* dev_use2 = getDevice(2);
|
||||
|
||||
|
|
@ -340,9 +342,11 @@ uint8_t logitech_device::getFeatureIndex(uint16_t feature_page)
|
|||
get_index.data[0] = feature_page >> 8;
|
||||
get_index.data[1] = feature_page & 0xFF;
|
||||
|
||||
result = hid_write(dev_use2, get_index.buffer, get_index.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_index.buffer, get_index.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
|
||||
feature_index = response.data[0];
|
||||
|
||||
LOG_DEBUG("[%s] Feature Page %04X found @ index %02X - %02X %02X %02X %02X %02X %02X %02X %02X", device_name.c_str(), feature_page, feature_index,
|
||||
response.data[0], response.data[1], response.data[2], response.data[3], response.data[4], response.data[5], response.data[6], response.data[7]);
|
||||
}
|
||||
|
|
@ -375,8 +379,6 @@ uint16_t logitech_device::getFeaturePage(uint8_t feature_index)
|
|||
|
||||
int logitech_device::getDeviceFeatureList()
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
/*-----------------------------------------------------------------*\
|
||||
| Check the usage map for usage2 (0x11 Long FAP Message) |
|
||||
| then list all features for device |
|
||||
|
|
@ -403,8 +405,8 @@ int logitech_device::getDeviceFeatureList()
|
|||
longFAPrequest get_count;
|
||||
get_count.init(device_index, feature_index, LOGITECH_CMD_FEATURE_SET_GET_COUNT);
|
||||
|
||||
result = hid_write(dev_use2, get_count.buffer, get_count.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_count.buffer, get_count.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
unsigned int feature_count = response.data[0];
|
||||
|
||||
longFAPrequest get_features;
|
||||
|
|
@ -412,8 +414,8 @@ int logitech_device::getDeviceFeatureList()
|
|||
for(std::size_t i = 1; feature_list.size() < feature_count; i++ )
|
||||
{
|
||||
get_features.data[0] = i;
|
||||
result = hid_write(dev_use2, get_features.buffer, get_features.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_features.buffer, get_features.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
LOG_DEBUG("[%s] Feature %04X @ index: %02X", device_name.c_str(), (response.data[0] << 8) | response.data[1], i);
|
||||
feature_list.emplace((response.data[0] << 8) | response.data[1], i);
|
||||
}
|
||||
|
|
@ -441,7 +443,6 @@ int logitech_device::getDeviceName()
|
|||
\*-----------------------------------------------------------------*/
|
||||
blankFAPmessage response;
|
||||
response.init();
|
||||
int result;
|
||||
|
||||
/*-----------------------------------------------------------------*\
|
||||
| Query the root index for the index of the name feature |
|
||||
|
|
@ -455,8 +456,8 @@ int logitech_device::getDeviceName()
|
|||
{
|
||||
longFAPrequest get_length;
|
||||
get_length.init(device_index, feature_index, LOTITECH_CMD_DEVICE_NAME_TYPE_GET_COUNT);
|
||||
result = hid_write(dev_use2, get_length.buffer, get_length.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_length.buffer, get_length.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
unsigned int name_length = response.data[0];
|
||||
LOG_DEBUG("[%s] Name Length %02i - %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", device_name.c_str(), name_length,
|
||||
response.data[0], response.data[1], response.data[2], response.data[3], response.data[4], response.data[5], response.data[6], response.data[7],
|
||||
|
|
@ -467,8 +468,8 @@ int logitech_device::getDeviceName()
|
|||
while(device_name.length() < name_length)
|
||||
{
|
||||
get_name.data[0] = device_name.length(); //This sets the character index to get from the device
|
||||
result = hid_write(dev_use2, get_name.buffer, get_name.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_name.buffer, get_name.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
std::string temp = (char *)&response.data;
|
||||
device_name.append(temp);
|
||||
LOG_DEBUG("[%s] Get Name %02i - %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", device_name.c_str(), device_name.length(),
|
||||
|
|
@ -477,8 +478,8 @@ int logitech_device::getDeviceName()
|
|||
}
|
||||
|
||||
get_name.init(device_index, feature_index, LOGITECH_CMD_DEVICE_NAME_TYPE_GET_TYPE);
|
||||
result = hid_write(dev_use2, get_name.buffer, get_name.size());
|
||||
result = hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
hid_write(dev_use2, get_name.buffer, get_name.size());
|
||||
hid_read_timeout(dev_use2, response.buffer, response.size(), LOGITECH_PROTOCOL_TIMEOUT);
|
||||
logitech_device_type = response.data[0];
|
||||
LOG_DEBUG("[%s] Get Type %02i - %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", device_name.c_str(), logitech_device_type,
|
||||
response.data[0], response.data[1], response.data[2], response.data[3], response.data[4], response.data[5], response.data[6], response.data[7],
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ static std::map<V, K> reverse_map(const std::map<K, V>& map)
|
|||
{
|
||||
std::map<V, K> reversed_map;
|
||||
|
||||
for(const std::pair<K, V>& entry : map)
|
||||
for(const std::pair<const K, V>& entry : map)
|
||||
{
|
||||
reversed_map[entry.second] = entry.first;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue