How do I...
Ian Smith
smithi at nimnet.asn.au
Sat Nov 25 19:32:16 PST 2006
On Sat, 25 Nov 2006, M. Warner Losh wrote:
> In message: <4568AA2F.4050602 at root.org>
> Nate Lawson <nate at root.org> writes:
> : M. Warner Losh wrote:
> : > ... run a command when there's < 1% battery life left?
> : >
> : > Warner
> :
> : You add support here in acpi_cmbat.c:
> : /* XXX If all batteries are critical, perhaps we should suspend. */
> : if (sc->bst.state & ACPI_BATT_STAT_CRITICAL) {
> : if ((sc->flags & ACPI_BATT_STAT_CRITICAL) == 0) {
> : sc->flags |= ACPI_BATT_STAT_CRITICAL;
> : device_printf(dev, "critically low charge!\n");
> : }
> : }
> :
> : Use the acpi_NotifyMumble function to send a value to devd. You
> : probably want to make sure you're off AC power also since you may still
> : have that crit state when plugged in. So read the value of AC status
> : (see kern_power.c for how to do this) before sending the notify.
>
> I was thinking of sending the critical message as well as for each %
> of battery life that changed. I just wanted to make sure that it
> wasn't being done already and i was captain clueless.
>
> Warner
I suspect what you're after is basically the functionality previously
provided by apmd for APM battery % {dis,}charging (and other) power
related events, where you could define in apmd.conf, eg from mine:
apm_battery 20% discharging {
exec "logger -p user.notice battery status low [20%]";
exec "echo T250L8CE-GE-C >>/dev/speaker";
}
Me too .. and here's where Nate says 'well write it then!' :)
Cheers, Ian
More information about the freebsd-acpi
mailing list