From 5fa5fabf02a455aa65dd4bf5341d10ad820c0229 Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Sun, 27 Sep 2015 01:02:37 +0200 Subject: [PATCH 1/2] Fix battery status on the K4 And also probably prevent a crash when trying to enable WiFi there. We really shouldn't even show the WiFi stuff on some of these old devices, but at least now it doesn't crash ;). --- frontend/device/kindle/device.lua | 5 +++++ frontend/device/kindle/powerd.lua | 4 ++-- frontend/ui/networkmgr.lua | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/device/kindle/device.lua b/frontend/device/kindle/device.lua index 215126f45..d164e9a50 100644 --- a/frontend/device/kindle/device.lua +++ b/frontend/device/kindle/device.lua @@ -112,6 +112,11 @@ end function Kindle4:init() self.screen = require("ffi/framebuffer_einkfb"):new{device = self, debug = DEBUG} + self.powerd = require("device/kindle/powerd"):new{ + device = self, + batt_capacity_file = "/sys/devices/system/yoshi_battery/yoshi_battery0/battery_capacity", + is_charging_file = "/sys/devices/platform/fsl-usb2-udc/charging", + } self.input = require("device/input"):new{ device = self, event_map = require("device/kindle/event_map_kindle4"), diff --git a/frontend/device/kindle/powerd.lua b/frontend/device/kindle/powerd.lua index 8b07db2b2..6d025d5bb 100644 --- a/frontend/device/kindle/powerd.lua +++ b/frontend/device/kindle/powerd.lua @@ -11,8 +11,8 @@ local KindlePowerD = BasePowerD:new{ } function KindlePowerD:init() - local lipc = require("liblipclua") - if lipc then + local haslipc, lipc = pcall(require, "liblipclua") + if haslipc and lipc then self.lipc_handle = lipc.init("com.github.koreader.kindlepowerd") end if self.device.hasFrontlight() then diff --git a/frontend/ui/networkmgr.lua b/frontend/ui/networkmgr.lua index ea879bc2d..8a495664b 100644 --- a/frontend/ui/networkmgr.lua +++ b/frontend/ui/networkmgr.lua @@ -8,9 +8,9 @@ local _ = require("gettext") local NetworkMgr = {} local function kindleEnableWifi(toggle) - local lipc = require("liblipclua") + local haslipc, lipc = pcall(require, "liblipclua") local lipc_handle = nil - if lipc then + if haslipc and lipc then lipc_handle = lipc.init("com.github.koreader.networkmgr") end if lipc_handle then From d17ca951d3909cc4ee562df0a09eb142538ed480 Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Sun, 27 Sep 2015 01:44:50 +0200 Subject: [PATCH 2/2] Fix battery status on K3. Will probably be more complex on older devices, where, AFAICT, gasgauge-info is bitbanging over i2c... --- frontend/device/kindle/device.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frontend/device/kindle/device.lua b/frontend/device/kindle/device.lua index d164e9a50..0c9e9c09f 100644 --- a/frontend/device/kindle/device.lua +++ b/frontend/device/kindle/device.lua @@ -79,6 +79,10 @@ local KindlePaperWhite3 = Kindle:new{ function Kindle2:init() self.screen = require("ffi/framebuffer_einkfb"):new{device = self, debug = DEBUG} + self.powerd = require("device/kindle/powerd"):new{ + device = self, + is_charging_file = "/sys/devices/platform/charger/charging", + } self.input = require("device/input"):new{ device = self, event_map = require("device/kindle/event_map_keyboard"), @@ -90,6 +94,10 @@ end function KindleDXG:init() self.screen = require("ffi/framebuffer_einkfb"):new{device = self, debug = DEBUG} + self.powerd = require("device/kindle/powerd"):new{ + device = self, + is_charging_file = "/sys/devices/platform/charger/charging", + } self.input = require("device/input"):new{ device = self, event_map = require("device/kindle/event_map_keyboard"), @@ -101,6 +109,11 @@ end function Kindle3:init() self.screen = require("ffi/framebuffer_einkfb"):new{device = self, debug = DEBUG} + self.powerd = require("device/kindle/powerd"):new{ + device = self, + batt_capacity_file = "/sys/devices/system/luigi_battery/luigi_battery0/battery_capacity", + is_charging_file = "/sys/devices/platform/fsl-usb2-udc/charging", + } self.input = require("device/input"):new{ device = self, event_map = require("device/kindle/event_map_keyboard"),