WIll the Librem 14 support limiting charge in firmware?

Thinkpads and Dell laptops support limiting the charge of your battery in firmware so you can increase the longevity of your battery by not overcharging it. This would have to be handled in firmware so your battery doesn’t overcharge if you leave it charging while shut down. I found some old discussions about the librem 13 hardware which suggest those devices did not support this feature, but since the librem 14 is new hardware with a new ODM I was wondering if such a feature is going to be supported?

Old threads on the topic:


5 Likes

Replying for posterity, looks like Purism is adding support for this in the librem 14 based on this blog post: https://puri.sm/posts/librem-14-progress-hardware-development/

Second we will expose as much of the battery charging into Linux userspace as we can in order to give better control of charging and discharging of the battery. This can be used to extend the battery life at the expense of some battery run time or to manually kick off a full charge cycle because, for instance, you know you will be on the road and need as full a battery as possible.

I wouldn’t necessarily expect that to be a release-day feature (or any of the features listed in that post)

oh certainly, but thanks for clarifying.

Oh no! I really want to program that RGB LED to flash different colors like a disco ball and play the Bee Gees in the background. :notes: :sparkler: :dancer:

1 Like

Controlling the LED light run as root or with feedbackd group permission.
This appears to work as if “anded” with battery status light control, and probably other status led indicators. Meaning that if battery is charging, the red led light will stay on even if “red:status/brightness” is set to 0.

Ref: https://github.com/torvalds/linux/blob/master/Documentation/ABI/testing/sysfs-class-led

$ more blinky.sh 
# Librem 5 - Flash blue led twice
blue_led='/sys/devices/platform/led-controller/leds/blue:status/brightness'
max_bright=`cat /sys/devices/platform/led-controller/leds/blue\:status/max_brightness`
echo bright $max_bright
echo 0 > $blue_led
sleep 1
echo $max_bright > $blue_led
sleep 1
echo 0 > $blue_led
sleep 1
echo $max_bright > $blue_led
sleep 1
echo 0 > $blue_led

Based on the relative intensity of the LEDs and their perceived intensity.

The following appears to be white (according to my eyes)
red = 70
green = 248
blue = 170

Implying that red dominates over the other colors at full brightness.

1 Like