local BasePowerD = require("device/generic/powerd") local ffi = require("ffi") local inkview = ffi.load("inkview") ffi.cdef[[ void OpenScreen(); int GetFrontlightState(void); void SetFrontlightState(int flstate); int GetBatteryPower(); int IsCharging(); ]] local PocketBookPowerD = BasePowerD:new{ is_charging = nil, fl_min = 0, fl_max = 100, } function PocketBookPowerD:init() -- needed for SetFrontlightState / GetFrontlightState inkview.OpenScreen() end function PocketBookPowerD:frontlightIntensityHW() if not self.device:hasFrontlight() then return 0 end return inkview.GetFrontlightState() end function PocketBookPowerD:setIntensityHW(intensity) if intensity == 0 then inkview.SetFrontlightState(-1) else inkview.SetFrontlightState(intensity) end end function PocketBookPowerD:getCapacityHW() return inkview.GetBatteryPower() end function PocketBookPowerD:isChargingHW() if inkview.IsCharging() > 0 then return true else return false end end return PocketBookPowerD