From 0f78eb6ce67962a4147dce37cc4f8538d44b36d7 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Mon, 24 Mar 2014 13:25:49 +0100 Subject: unifying: implement BatteryStatus Battery percentage is fuzzy... ok. Signed-off-by: Peter Wu --- hw/usb/hid-logitech-dj.h | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'hw/usb/hid-logitech-dj.h') diff --git a/hw/usb/hid-logitech-dj.h b/hw/usb/hid-logitech-dj.h index 6a29b6639e..785f0d5b56 100644 --- a/hw/usb/hid-logitech-dj.h +++ b/hw/usb/hid-logitech-dj.h @@ -220,11 +220,23 @@ typedef struct { /* TODO: status (device seen or not, encrypted link) */ struct { - uint8_t level; - enum { - BAT_STS_CHARGING, - /* TODO: charging, discharging, etc. */ - } status; + uint8_t nlevels; + uint8_t level; /* in range (1, nlevels) */ +#define BAT_FLAG_DISABLE_OSD (1 << 0) +#define BAT_FLAG_ENABLE_MILEAGE (1 << 1) +#define BAT_FLAG_RECHARGEABLE (1 << 2) + uint8_t flags; + uint8_t critical_perc; + +#define BAT_STS_DISCHARGING 0 +#define BAT_STS_RECHARGING 1 +#define BAT_STS_CHARGE_FINAL 2 +#define BAT_STS_CHARGE_COMPLETE 3 +#define BAT_STS_RECHARGING_SLOW 4 +#define BAT_STS_INVALID_BATTERY 5 +#define BAT_STS_THERMAL_ERROR 6 +#define BAT_STS_CHARGING_ERROR 7 + uint8_t status; } battery; uint8_t activity_counter; } LHidDevice; -- cgit v1.2.1