1package info
 2
 3import (
 4	"image/color"
 5	"odoki-firmware/battery"
 6	"odoki-firmware/constants"
 7	"strconv"
 8
 9	"tinygo.org/x/drivers/st7789"
10	"tinygo.org/x/tinyfont"
11	"tinygo.org/x/tinyfont/freemono"
12)
13
14func Draw(VoidDisplayed bool, display st7789.Device) bool {
15	if VoidDisplayed {
16		display.FillScreen(color.RGBA{0, 0, 0, 255})
17		tinyfont.WriteLine(&display, &freemono.Bold18pt7b, constants.Padding, constants.Padding+constants.LineHeight*2, "Info", color.RGBA{255, 255, 255, 255})
18		tinyfont.WriteLine(&display, &freemono.Bold9pt7b, constants.Padding, constants.Padding+constants.LineHeight*3, "Go v"+constants.GoVersion, color.RGBA{255, 255, 255, 255})
19		tinyfont.WriteLine(&display, &freemono.Bold9pt7b, constants.Padding, constants.Padding+constants.LineHeight*4, "Firmware v"+constants.FirmwareVersion, color.RGBA{255, 255, 255, 255})
20		tinyfont.WriteLine(&display, &freemono.Bold9pt7b, constants.Padding, constants.Padding+constants.LineHeight*5, "Battery: "+string(strconv.FormatFloat(battery.GetVoltage(), 'f', 3, 64))+" V", color.RGBA{255, 255, 255, 255})
21		charging, percentage := battery.GetPercentage()
22		if charging {
23			tinyfont.WriteLine(&display, &freemono.Bold9pt7b, constants.Padding, constants.Padding+constants.LineHeight*6, "Battery: Charging", color.RGBA{255, 255, 255, 255})
24		} else {
25			tinyfont.WriteLine(&display, &freemono.Bold9pt7b, constants.Padding, constants.Padding+constants.LineHeight*6, "Battery: "+string(strconv.FormatFloat(percentage, 'f', 1, 64))+" %", color.RGBA{255, 255, 255, 255})
26		}
27	}
28	return false
29}