gotop/vendor/github.com/distatus/battery
Caleb Bassi 27a9ea080b Switch back to using distatus/battery upstream repo
Got PR merged upstream https://github.com/distatus/battery/pull/10
2019-02-22 11:52:07 -08:00
..
.gitignore Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
.travis.yml Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
LICENSE.md Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
README.md Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_darwin.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_freebsd_dragonfly_.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_linux.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_netbsd.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_openbsd.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_solaris.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
battery_windows.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
errors.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00
ioctl.go Switch back to using distatus/battery upstream repo 2019-02-22 11:52:07 -08:00

README.md

battery Build Status Go Report Card GoDoc

Cross-platform, normalized battery information library.

Gives access to a system independent, typed battery state, capacity, charge and voltage values recalculated as necessary to be returned in mW, mWh or V units.

Currently supported systems:

  • Linux 2.6.39+
  • OS X 10.10+
  • Windows XP+
  • FreeBSD
  • DragonFlyBSD
  • NetBSD
  • OpenBSD
  • Solaris

Installation

$ go get -u github.com/distatus/battery

Code Example

import (
	"fmt"

	"github.com/distatus/battery"
)

func main() {
	batteries, err := battery.GetAll()
	if err != nil {
		fmt.Println("Could not get battery info!")
		return
	}
	for i, battery := range batteries {
		fmt.Printf("Bat%d: ", i)
		fmt.Printf("state: %f, ", battery.State)
		fmt.Printf("current capacity: %f mWh, ", battery.Current)
		fmt.Printf("last full capacity: %f mWh, ", battery.Full)
		fmt.Printf("design capacity: %f mWh, ", battery.Design)
		fmt.Printf("charge rate: %f mW, ", battery.ChargeRate)
		fmt.Printf("voltage: %f V, ", battery.Voltage)
		fmt.Printf("design voltage: %f V\n", battery.DesignVoltage)
	}
}

CLI

There is also a little utility which - more or less - mimicks the GNU/Linux acpi -b command.

Installation

$ go get -u github.com/distatus/battery/cmd/battery

Usage

$ battery
BAT0: Full, 95.61% [Voltage: 12.15V (design: 12.15V)]