-
-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logitech Gaming Headset G733 battery level is very differnt from official software #169
Comments
Confirm that this issue is present, windows shows 15%, this shows 47, and reading go ups and down: ex: from 69 to 70 then 65, if any additional information is needed let me know! |
Update, the headphones start reproducing the sound of low battery when the program shows 50%, it goes then down very fast to around 10% and then i noticed the red LED blinking on the headphones, the issue of the value not being constant (going from 10 to 16% without it being in charge) still remanins |
That readings go up and down is normal. The implementation simply reads the voltage, and tries to guess the battery level using this information. This is probably more worse when the battery is low. I guess Logitech simply averages the readings to not confuse the user. Or they may go even further and calibrate the battery. If your readings are far off, then it could be that the G733 may use a different type of battery then the other ones, then this function: static float estimate_battery_level(uint16_t voltage) would have to be adjusted. This is how the function looks like: |
Yeah, I was looking at the source code the other day and I guessed that it was based on voltage, but unfortunately my c knowledge stops there, I'll try to see if I can make my readings more precise. |
Yes you can simply insert Or before calling the function you can print the voltage and the result of the function as comparison:
To calibrate it, you can simply record which voltage is which percentage. But note that this may only useful for you, as every battery (even the same model) is different, and even while the battery ages, the curve could change. The exception would be when the battery of this model uses a different kind, which has completely other voltage ranges, then we possibly need to adapt it for everyone. |
Thank you, I will try to do that later, I'll let you know what I find out |
I have installed headsetcontrol-2.6, and the battery request is timing out. But switching the LED off works! Here is a USB trace from the control endpoint:
|
Found the solution (this is on FreeBSD)
Looks like there is a conflict receiving HID packets on the interrupt endpoint, so the status packet gets lost.
|
This issue is stale because it has been open 300 days with no activity. Remove stale label or comment or this will be closed in 60 days. |
Im facing this issue |
I have tinkered around in the past and, as Sapd already said, adjusting the This code works for me: static float estimate_battery_level(uint16_t voltage)
{
// Charging
if (voltage == 65535)
return (float) (BATTERY_CHARGING);
// Disconnected
if (voltage <= 3000)
return (float) (BATTERY_UNAVAILABLE);
// Empty
if (voltage <= 3647)
return (float) 0.0;
// Polynom 1
if (voltage <= 3726)
return (float) (0.0000671638202 * pow(voltage, 3) - 0.746307678145 * pow(voltage, 2) + 2764.3173240131123 * voltage - 3413055.137837838);
// Polynom 2
if (voltage <= 3885)
return (float) (-0.0000112590873 * pow(voltage, 3) + 0.1272931815966 * pow(voltage, 2) - 479.336522317864 * voltage + 601218.8751422882);
// Polynom 3
if (voltage <= 3984)
return (float) (-0.000002711158 * pow(voltage, 3) + 0.032582506827 * pow(voltage, 2) - 130.3351489423122 * voltage + 173611.6066702439);
// Polynom 4
if (voltage <= 4120)
return (float) (0.000010859959 * pow(voltage, 3) - 0.131425350889 * pow(voltage, 2) + 530.2926489312302 * voltage - 713325.3412124208);
return (float) 100.0;
} I came up with these values by simply periodically checking the voltage with HeadsetControl and then rebooting into Windows to check the according percentage in G HUB. |
Logitech G Hub on Windows reports reaming battery is 18% but HeadsetControl reports 66%
Thank you in advance.
The text was updated successfully, but these errors were encountered: