X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/68037080cd50887746db0529e20c4bd1f8c404d4..434d5f32aa3a19763bf6bb2eed40f881fd918309:/widgets/contrib/tpbat/smapi.lua diff --git a/widgets/contrib/tpbat/smapi.lua b/widgets/contrib/tpbat/smapi.lua index 59b916b..9002585 100644 --- a/widgets/contrib/tpbat/smapi.lua +++ b/widgets/contrib/tpbat/smapi.lua @@ -1,9 +1,11 @@ ---[[ - smapi.lua - Interface with thinkpad battery information +--[[ + + smapi.lua + Interface with thinkpad battery information + Licensed under GNU General Public License v2 - * (c) 2013, Conor Heine + * (c) 2013, Conor Heine --]] @@ -14,47 +16,46 @@ local tonumber = tonumber local setmetatable = setmetatable local smapi = {} - local apipath = "/sys/devices/platform/smapi" -- Most are readable values, but some can be written to (not implemented, yet?) local readable = { - barcoding = true, - charging_max_current = true, - charging_max_voltage = true, - chemistry = true, - current_avg = true, - current_now = true, - cycle_count = true, - design_capacity = true, - design_voltage = true, - dump = true, - first_use_date = true, - force_discharge = false, - group0_voltage = true, - group1_voltage = true, - group2_voltage = true, - group3_voltage = true, - inhibit_charge_minutes = false, - installed = true, - last_full_capacity = true, - manufacture_date = true, - manufacturer = true, - model = true, - power_avg = true, - power_now = true, - remaining_capacity = true, - remaining_charging_time = true, - remaining_percent = true, - remaining_percent_error = true, - remaining_running_time = true, + barcoding = true, + charging_max_current = true, + charging_max_voltage = true, + chemistry = true, + current_avg = true, + current_now = true, + cycle_count = true, + design_capacity = true, + design_voltage = true, + dump = true, + first_use_date = true, + force_discharge = false, + group0_voltage = true, + group1_voltage = true, + group2_voltage = true, + group3_voltage = true, + inhibit_charge_minutes = false, + installed = true, + last_full_capacity = true, + manufacture_date = true, + manufacturer = true, + model = true, + power_avg = true, + power_now = true, + remaining_capacity = true, + remaining_charging_time = true, + remaining_percent = true, + remaining_percent_error = true, + remaining_running_time = true, remaining_running_time_now = true, - serial = true, - start_charge_thresh = false, - state = true, - stop_charge_thresh = false, - temperature = true, - voltage = true, + serial = true, + start_charge_thresh = false, + state = true, + stop_charge_thresh = false, + temperature = true, + voltage = true, } function smapi:battery(name) @@ -62,7 +63,7 @@ function smapi:battery(name) bat.name = name bat.path = apipath .. "/" .. name - + function bat:get(item) return self.path ~= nil and readable[item] and first_line(self.path .. "/" .. item) or nil end @@ -80,13 +81,11 @@ function smapi:battery(name) local time_val = bat_now.status == 'discharging' and 'remaining_running_time' or 'remaining_charging_time' local mins_left = self:get(time_val) - if mins_left:find("^%d+") == nil - then - return "N/A" - end - - local hrs = mins_left / 60 + if not mins_left:find("^%d+") then return "N/A" end + + local hrs = math.floor(mins_left / 60) local min = mins_left % 60 + return string.format("%02d:%02d", hrs, min) end @@ -97,4 +96,4 @@ function smapi:battery(name) return setmetatable(bat, {__metatable = false, __newindex = false}) end -return smapi \ No newline at end of file +return smapi