diff --git a/packages/addons/service/fd628/changelog.txt b/packages/addons/service/fd628/changelog.txt deleted file mode 100644 index 7e95b5bcd7..0000000000 --- a/packages/addons/service/fd628/changelog.txt +++ /dev/null @@ -1,13 +0,0 @@ -110 -- Rewrite add-on from scratch -- Add support for APPS, SETUP, CVBS (X92) and POWER (A1 Max) indicators. -- Add a configuration dialog: - * Adjust display brightness. - * Storage access indication. - * Advanced hardware configuration of the display. -- Fix crash if aml_fd628 module is not loaded (led_on, led_off files don't exist) -- Fix disable add-on from Kodi UI. -- Turn off indicators when add-on is disabled. - -100 -- Initial add-on diff --git a/packages/addons/service/fd628/icon/icon.png b/packages/addons/service/fd628/icon/icon.png deleted file mode 100644 index 265d6fa943..0000000000 Binary files a/packages/addons/service/fd628/icon/icon.png and /dev/null differ diff --git a/packages/addons/service/fd628/package.mk b/packages/addons/service/fd628/package.mk deleted file mode 100644 index 14aaa72623..0000000000 --- a/packages/addons/service/fd628/package.mk +++ /dev/null @@ -1,30 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="fd628" -PKG_VERSION="1.1" -PKG_REV="100" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://libreelec.tv" -PKG_URL="" -PKG_DEPENDS_TARGET="toolchain" -PKG_SECTION="service" -PKG_SHORTDESC="fd628: Kodi service to light up additional icons on devices with FD628 display" -PKG_LONGDESC="fd628: Kodi service to light up additional icons on devices with FD628 display" -PKG_TOOLCHAIN="manual" - -PKG_IS_ADDON="yes" -PKG_ADDON_NAME="service.fd628" -PKG_ADDON_PROJECTS="S905 S912" -PKG_ADDON_TYPE="xbmc.service" - -make_target() { - sed -e "s|@PKG_VERSION@|$PKG_VERSION|g" \ - -i addon.xml -} - -addon() { - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID - cp -R $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID -} diff --git a/packages/addons/service/fd628/sources/addon.xml b/packages/addons/service/fd628/sources/addon.xml deleted file mode 100644 index 781a99bf3d..0000000000 --- a/packages/addons/service/fd628/sources/addon.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - Service for controlling FD628 VFD display icons - Service for controlling FD628 VFD display icons, e.g. Ethernet/WiFi connection status and Time - all - - resources/icon.png - - - - diff --git a/packages/addons/service/fd628/sources/resources/language/resource.language.en_gb/strings.po b/packages/addons/service/fd628/sources/resources/language/resource.language.en_gb/strings.po deleted file mode 100644 index 2173018e15..0000000000 --- a/packages/addons/service/fd628/sources/resources/language/resource.language.en_gb/strings.po +++ /dev/null @@ -1,136 +0,0 @@ -# Kodi Media Center language file -# Addon Name: FD628 Display -# Addon id: service.fd628 -# Addon Provider: Team LibreELEC -msgid "" -msgstr "" -"Project-Id-Version: XBMC-Addons\n" -"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n" -"POT-Creation-Date: 2018-02-12 17:48+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_GB\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -# Kodi Settings -msgctxt "#30000" -msgid "General" -msgstr "" - -msgctxt "#30001" -msgid "Turn on display" -msgstr "" - -msgctxt "#30002" -msgid "Display brightness" -msgstr "" - -msgctxt "#30003" -msgid "Advanced settings" -msgstr "" - -msgctxt "#30004" -msgid "Display type" -msgstr "" - -msgctxt "#30026" -msgid "Common anode display (transposed ram)" -msgstr "" - -msgctxt "#30013" -msgid "Enable storage access (RW) indicator" -msgstr "" - -msgctxt "#30014" -msgid "Select which icon is to be used as the access indicator" -msgstr "" - -msgctxt "#30028" -msgid "Clock colon (:) always on" -msgstr "" - -msgctxt "#30015" -msgid "play" -msgstr "" - -msgctxt "#30016" -msgid "pause" -msgstr "" - -msgctxt "#30017" -msgid "hdmi" -msgstr "" - -msgctxt "#30018" -msgid "cvbs" -msgstr "" - -msgctxt "#30019" -msgid "eth" -msgstr "" - -msgctxt "#30020" -msgid "wifi" -msgstr "" - -msgctxt "#30021" -msgid "setup" -msgstr "" - -msgctxt "#30022" -msgid "apps" -msgstr "" - -msgctxt "#30023" -msgid "usb" -msgstr "" - -msgctxt "#30024" -msgid "sd" -msgstr "" - -msgctxt "#30025" -msgid "alarm" -msgstr "" - -msgctxt "#30027" -msgid "power" -msgstr "" - -msgctxt "#30012" -msgid "Reorder character indexes" -msgstr "" - -msgctxt "#30005" -msgid "Index 0" -msgstr "" - -msgctxt "#30006" -msgid "Index 1" -msgstr "" - -msgctxt "#30007" -msgid "Index 2" -msgstr "" - -msgctxt "#30008" -msgid "Index 3" -msgstr "" - -msgctxt "#30009" -msgid "Index 4" -msgstr "" - -msgctxt "#30010" -msgid "Index 5" -msgstr "" - -msgctxt "#30011" -msgid "Index 6" -msgstr "" - -# Max index 30028 diff --git a/packages/addons/service/fd628/sources/resources/lib/fd628dev.py b/packages/addons/service/fd628/sources/resources/lib/fd628dev.py deleted file mode 100644 index 36963fc2b2..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/fd628dev.py +++ /dev/null @@ -1,78 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -import os -import struct -from fd628utils import * - -_led_cmd = '/sys/class/leds/le-vfd/led_cmd' - -class fd628Dev: - def __init__(self): - import ioctl - import ctypes - size = ctypes.sizeof(ctypes.c_int(0)) - self._FD628_IOC_MAGIC = ord('M') - self._FD628_IOC_SMODE = ioctl.IOW(self._FD628_IOC_MAGIC, 1, size) - self._FD628_IOC_GMODE = ioctl.IOR(self._FD628_IOC_MAGIC, 2, size) - self._FD628_IOC_SBRIGHT = ioctl.IOW(self._FD628_IOC_MAGIC, 3, size) - self._FD628_IOC_GBRIGHT = ioctl.IOR(self._FD628_IOC_MAGIC, 4, size) - self._FD628_IOC_POWER = ioctl.IOW(self._FD628_IOC_MAGIC, 5, size) - self._FD628_IOC_GVER = ioctl.IOR(self._FD628_IOC_MAGIC, 6, size) - self._FD628_IOC_STATUS_LED = ioctl.IOW(self._FD628_IOC_MAGIC, 7, size) - self._FD628_IOC_GDISPLAY_TYPE = ioctl.IOR(self._FD628_IOC_MAGIC, 8, size) - self._FD628_IOC_SDISPLAY_TYPE = ioctl.IOW(self._FD628_IOC_MAGIC, 9, size) - self._FD628_IOC_SCHARS_ORDER = ioctl.IOW(self._FD628_IOC_MAGIC, 10, 7) - self._FD628_IOC_USE_DTB_CONFIG = ioctl.IOW(self._FD628_IOC_MAGIC, 11, size) - self._FD628_IOC_MAXNR = 12 - - def enableDisplay(self, value): - self.__writeFD628(self._FD628_IOC_POWER, int(value)) - - def getBrightness(self): - return self.__readFD628(self._FD628_IOC_GBRIGHT) - - def setBrightness(self, value): - self.__writeFD628(self._FD628_IOC_SBRIGHT, value) - - def getDisplayType(self): - return self.__readFD628(self._FD628_IOC_GDISPLAY_TYPE) - - def setDisplayType(self, value): - self.__writeFD628(self._FD628_IOC_SDISPLAY_TYPE, value) - - def setCharacterOrder(self, value): - pack = struct.pack('BBBBBBB', value[0], value[1], value[2], value[3], value[4], value[5], value[6]) - self.__writeFD628(self._FD628_IOC_SCHARS_ORDER, pack, True) - - def useDtbConfig(self): - self.__writeFD628(self._FD628_IOC_USE_DTB_CONFIG, 0) - - def __readFD628(self, cmd, isBuf = False): - import ioctl - ret = None - if (ioctl.DIR(cmd) == ioctl.READ and self.__writeFD628(cmd, 0)): - with open(_led_cmd, "rb") as vfd: - ret = vfd.read() - if (ret == ''): - ret = None - if (not isBuf and ret != None): - ret = int(ret, 0) - kodiLog('fd628Dev.__readFD628: value = {0}'.format(str(ret))) - return ret - - def __writeFD628(self, cmd, value, isBuf = False): - ret = False - if (os.path.isfile(_led_cmd)): - if isBuf: - value = ''.join([struct.pack('I', cmd), value]) - else: - value = struct.pack('Ii', cmd, value) - kodiLog('fd628Dev.__writeFD628: value = {0}'.format(repr(value))) - try: - with open(_led_cmd, "wb") as vfd: - vfd.write(value) - ret = True - except Exception as inst: - kodiLogError(inst) - return ret diff --git a/packages/addons/service/fd628/sources/resources/lib/fd628settings.py b/packages/addons/service/fd628/sources/resources/lib/fd628settings.py deleted file mode 100644 index 2e22db6931..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/fd628settings.py +++ /dev/null @@ -1,95 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -import xbmcaddon - -addon = xbmcaddon.Addon(id='service.fd628') - -def getSetting(id): - return addon.getSetting(id) - -def getSettingBool(id): - value = getSetting(id).lower() - if (value == 'true'): - value = True - else: - value = False - return value - -def getSettingInt(id): - return int(getSetting(id)) - -def getSettingNumber(id): - return float(getSetting(id)) - -class fd628Settings: - def __init__(self): - self.readValues() - - def isDisplayOn(self): - return self._displayOn - - def isAdvancedSettings(self): - return self._displayAdvanced - - def getBrightness(self): - return self._displayBrightness - - def getDisplayType(self): - return self._displayType - - def isCommonAnode(self): - return self._commonAnode - - def getDisplay(self): - value = self.getDisplayType() - if (self.isCommonAnode()): - value = value + (1 << 16) - return value - - def getCharacterIndex(self, i): - return self._characterIndexes[i] - - def getCharacterIndexes(self): - return self._characterIndexes - - def isStorageIndicator(self): - return self._storageIndicator - - def getStorageIndicatorIcon(self): - return self._storageIndicatorIcon - - def isColonOn(self): - return self._colonOn - - def readValues(self): - self._displayAdvanced = False - self._displayOn = getSettingBool('display.on') - if (self._displayOn): - self._displayBrightness = getSettingInt('display.brightness') - self._storageIndicator = getSettingBool('display.storage.indicator') - self._storageIndicatorIcon = getSetting('display.storage.indicator.icon') - self._colonOn = getSettingBool('display.colon.on') - self._displayAdvanced = getSettingBool('display.advanced') - if (self._displayAdvanced): - self._displayType = getSettingInt('display.type') - self._commonAnode = getSettingBool('display.common.anode') - self._characterIndexes = [] - for i in range(7): - self._characterIndexes.append(getSettingInt('display.char.index{0}'.format(i))) - else: - self.__initDefaultValues() - else: - self.__initDefaultValues() - - def __initDefaultValues(self): - if not (self._displayOn): - self._displayBrightness = 7 - self._storageIndicator = False - self._storageIndicatorIcon = '' - self._colonOn = False - self._displayAdvanced = False - if not (self._displayAdvanced): - self._displayType = 0 - self._commonAnode = False - self._characterIndexes = range(0, 7) diff --git a/packages/addons/service/fd628/sources/resources/lib/fd628states.py b/packages/addons/service/fd628/sources/resources/lib/fd628states.py deleted file mode 100644 index 081d80142f..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/fd628states.py +++ /dev/null @@ -1,187 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -import xbmc -import os -from fd628utils import * - -class fd628State(object): - def __init__(self, ledName): - self._value = False - self._hasChanged = False - self._ledName = ledName - - def _getStr(self, className): - return '{0} ({1})'.format(className, self._ledName) - - def update(self): - raise NotImplementedError - - def getValue(self): - return self._value - - def hasChanged(self): - return self._hasChanged - - def getLedName(self): - return self._ledName - - def _update(self, value): - if (value != self._value): - self._hasChanged = True - self._value = value - else: - self._hasChanged = False - -class fd628IconIndicator(fd628State): - def __init__(self, on, ledName): - super(fd628IconIndicator, self).__init__(ledName) - self._on = on - - def __str__(self): - return self._getStr('fd628IconIndicator') - - def turnOn(self): - self._on = True - - def turnOff(self): - self._on = False - - def toggle(self): - self._on = not self._on - - def update(self): - self._update(self._on) - -class fd628CondVisibility(fd628State): - def __init__(self, ledName, cmd): - super(fd628CondVisibility, self).__init__(ledName) - self._cmd = cmd - - def __str__(self): - return self._getStr('fd628CondVisibility') - - def update(self): - value = xbmc.getCondVisibility(self._cmd) - self._update(value) - -class fd628FileContains(fd628State): - def __init__(self, ledName, path, strings): - super(fd628FileContains, self).__init__(ledName) - self._path = path - self._strings = strings - - def __str__(self): - return self._getStr('fd628FileContains') - - def update(self): - if (os.path.isfile(self._path)): - with open(self._path, 'rb') as state: - content = state.read() - value = self.__checkContent(content) - self._update(value) - else: - self._update(False) - - def __checkContent(self, content): - ret = False - for s in self._strings: - if (s in content): - ret = True - break - return ret - -class fd628WindowChecker(fd628State): - def __init__(self, ledName, windows): - super(fd628WindowChecker, self).__init__(ledName) - self._windows = windows - - def __str__(self): - return self._getStr('fd628WindowChecker') - - def update(self): - value = False - for id in self._windows: - if (xbmc.getCondVisibility('Window.IsVisible({0})'.format(id))): - value = True - break - self._update(value) - -class fd628ExtStorageChecker(fd628State): - def __init__(self, ledName, path): - super(fd628ExtStorageChecker, self).__init__(ledName) - self._path = path - - def __str__(self): - return self._getStr('fd628ExtStorageChecker') - - def update(self): - value = False - for folder, subs, files in os.walk('/dev/disk/by-uuid'): - for filename in files: - path = os.path.realpath(os.path.join(folder, filename)) - if (path.startswith(self._path)): - value = True - break - self._update(value) - -class fd628ExtStorageCount(fd628State): - def __init__(self, ledName, drives, type): - super(fd628ExtStorageCount, self).__init__(ledName) - if (drives == None): # Monitor all drives - self._drives = None - drives = self.__getAllDrives() - else: # Monitor listed drives - self._drives = drives - drives = self.__getSelectedDrives() - self._driveStats = {key: self.__readStatus(key) for key in drives} - kodiLogNotice('fd628ExtStorageCount.__init__: Drive stats ' + str(self._driveStats)) - self._read = False - self._write = False - if (type == 'r'): - self._read = True - elif (type == 'w'): - self._write = True - elif (type == 'rw'): - self._read = True - self._write = True - else: - raise Exception('\'type\' must be \'r\', \'w\' or \'rw\'.') - - def update(self): - value = False - if (self._drives == None): - drives = self.__getAllDrives() - else: - drives = self.__getSelectedDrives() - for drive in drives: - if (not drive in self._driveStats): - self._driveStats[drive] = None - kodiLogNotice('fd628ExtStorageCount.update: New drive found \'{0}\''.format(drive)) - for path, stats in self._driveStats.iteritems(): - newStats = self.__readStatus(path) - if (stats != None and newStats != None): - if (self._read): - value = value or stats[0] != newStats[0] - if (self._write): - value = value or stats[1] != newStats[1] - self._driveStats[path] = newStats - self._update(value) - - def __readStatus(self, path): - path = os.path.join('/sys/block', path, 'stat') - if (os.path.isfile(path)): - with open(path, 'rb') as status: - values = status.read().split() - return (values[2], values[6]) - else: - return None - - def __getAllDrives(self): - drives = [] - for folder, subs, files in os.walk('/sys/block'): - drives = [sub for sub in subs if (not sub.startswith('loop'))] - return drives - - def __getSelectedDrives(self): - return [drive for drive in self.__getAllDrives() if ([d for d in self._drives if drive.startswith(d)])] diff --git a/packages/addons/service/fd628/sources/resources/lib/fd628utils.py b/packages/addons/service/fd628/sources/resources/lib/fd628utils.py deleted file mode 100644 index 3f72dd9de2..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/fd628utils.py +++ /dev/null @@ -1,19 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -import xbmc -import xbmcaddon - -addonName = xbmcaddon.Addon(id='service.fd628').getAddonInfo('name') - -def kodiLog(message, level = xbmc.LOGDEBUG): - xbmc.log('{0} -> {1}'.format(addonName, str(message)), level) - -def kodiLogError(message): - kodiLog(message, xbmc.LOGERROR) - -def kodiLogWarning(message): - kodiLog(message, xbmc.LOGWARNING) - -def kodiLogNotice(message): - kodiLog(message, xbmc.LOGNOTICE) diff --git a/packages/addons/service/fd628/sources/resources/lib/ioctl.py b/packages/addons/service/fd628/sources/resources/lib/ioctl.py deleted file mode 100644 index e368e16d35..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/ioctl.py +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/python - -""" -Author: SpliFF -License: Public Domain - -Python ioctl constants and functions module - -Mostly follows specifications in asm-generic/ioctl.h from linux 2.5.36 - -Notable differences: -* no architecture dependant stuff -* size parameters are all passed as bytes, not types (ie pass 4, not int) - -!! WARNING EXPERIMENTAL SOFTWARE !! -Make sure the values returned by these functions are properly tested before using fcntl on anything remotely valuable! -""" - -NRBITS = 8 -TYPEBITS = 8 - -# may be arch dependent - -SIZEBITS = 14 -DIRBITS = 2 - -NRMASK = (1 << NRBITS) - 1 -TYPEMASK = (1 << TYPEBITS) - 1 -SIZEMASK = (1 << SIZEBITS) - 1 -DIRMASK = (1 << DIRBITS) - 1 - -NRSHIFT = 0 -TYPESHIFT = NRSHIFT + NRBITS -SIZESHIFT = TYPESHIFT + TYPEBITS -DIRSHIFT = SIZESHIFT + SIZEBITS - -# may be arch dependent - -NONE = 0x0 -WRITE = 0x1 -READ = 0x2 - -# for the drivers/sound files... - -IN = WRITE << DIRSHIFT -OUT = READ << DIRSHIFT -INOUT = (WRITE | READ) << DIRSHIFT -IOCSIZE_MASK = SIZEMASK << SIZESHIFT -IOCSIZE_SHIFT = SIZESHIFT - -# used to create numbers ... - -def IO( _type, nr): - return IOC(NONE, _type, nr, 0) - -def IOC(direction, _type, nr, size): - return (direction << DIRSHIFT) | (_type << TYPESHIFT) | (nr << NRSHIFT) | (size << SIZESHIFT) - -def IOR( _type, nr, size): - return IOC(READ, _type, nr, size) - -def IOW(_type, nr, size): - return IOC(WRITE, _type, nr, size) - -def IOWR(_type, nr, size): - return IOC(READ|WRITE, _type, nr, size) - -def IOR_BAD(_type, nr, size): - return IOC(READ, _type, nr, size) - -def IOW_BAD(_type, nr, size): - return IOC(WRITE, _type, nr, size) - -def IOWR_BAD(_type, nr, size): - return IOC(READ|WRITE, _type, nr, size) - -# used to decode ioctl numbers.. - -def DIR(nr): - return (nr >> DIRSHIFT) & DIRMASK - -def TYPE(nr): - return (nr >> TYPESHIFT) & TYPEMASK - -def NR(nr): - return (nr >> NRSHIFT) & NRMASK - -def SIZE(nr): - return (nr >> SIZESHIFT) & SIZEMASK diff --git a/packages/addons/service/fd628/sources/resources/lib/service.py b/packages/addons/service/fd628/sources/resources/lib/service.py deleted file mode 100644 index e6de460acc..0000000000 --- a/packages/addons/service/fd628/sources/resources/lib/service.py +++ /dev/null @@ -1,143 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -import xbmcaddon -import threading -import os -import fd628states -import fd628dev -import fd628settings -from fd628utils import * - -addon = xbmcaddon.Addon(id='service.fd628') - -class fd628Monitor(xbmc.Monitor): - def __init__(self): - super(fd628Monitor, self).__init__() - self._settingsChangedCallback = None - - def setSettingsChangedCallback(self, callbackObject): - self._settingsChangedCallback = callbackObject - - def onSettingsChanged(self): - kodiLog('Enter fd628Monitor.onSettingsChanged') - if (self._settingsChangedCallback != None): - self._settingsChangedCallback.onSettingsChanged() - -class fd628Addon(): - def __init__(self, monitor): - self._fd628 = fd628dev.fd628Dev() - self._states = [] - self._monitor = monitor - self._monitor.setSettingsChangedCallback(self) - self._settings = fd628settings.fd628Settings() - self._vfdon = '/sys/class/leds/le-vfd/led_on' - self._vfdoff = '/sys/class/leds/le-vfd/led_off' - self._rlock = threading.RLock() - - def run(self): - firstLoop = True - while not self._monitor.abortRequested(): - if self._monitor.waitForAbort(0.5): - break - if (not os.path.isfile(self._vfdon) or not os.path.isfile(self._vfdoff)): - firstLoop = True - continue - if (firstLoop): - self.onSettingsChanged() - firstLoop = False - self.__updateIndicators() - self.__cleanUp() - - def __updateIndicators(self): - ledon = [] - ledoff = [] - if (self._rlock.acquire()): - for state in self._states: - state.update() - if (state.hasChanged()): - if (state.getValue()): - ledon.append(state.getLedName()) - else: - ledoff.append(state.getLedName()) - self.__writeFile(self._vfdon, ledon) - self.__writeFile(self._vfdoff, ledoff) - self._rlock.release() - - def __cleanUp(self): - self.__turnOffIndicators() - self._monitor = None - - def __turnOffIndicators(self): - if (self._rlock.acquire()): - ledoff = [state.getLedName() for state in self._states] - self.__writeFile(self._vfdoff, ledoff) - self._rlock.release() - - def __writeFile(self, path, values): - if (os.path.isfile(path)): - with open(path, "wb") as vfd: - for j in values: - vfd.write(j) - vfd.flush() - - def onSettingsChanged(self): - kodiLog('Enter fd628Addon.onSettingsChanged') - self._settings.readValues() - if (self._rlock.acquire()): - self.__createStates() - self._fd628.enableDisplay(self._settings.isDisplayOn()) - if (self._settings.isDisplayOn()): - self._fd628.setBrightness(self._settings.getBrightness()) - if (self._settings.isAdvancedSettings()): - self._fd628.setDisplayType(self._settings.getDisplay()) - self._fd628.setCharacterOrder(self._settings.getCharacterIndexes()) - else: - self._fd628.useDtbConfig() - if (self._colonIcon != None and self._settings.isColonOn()): - self._colonIcon.turnOn() - self.__updateIndicators() - self._rlock.release() - kodiLog('isDisplayOn = {0}'.format(self._settings.isDisplayOn())) - kodiLog('getBrightness = {0}'.format(self._settings.getBrightness())) - kodiLog('isAdvancedSettings = {0}'.format(self._settings.isAdvancedSettings())) - kodiLog('getDisplayType = {0}'.format(self._settings.getDisplayType())) - kodiLog('isCommonAnode = {0}'.format(self._settings.isCommonAnode())) - kodiLog('getCharacterIndexex = {0}'.format(self._settings.getCharacterIndexes())) - - def __createStates(self): - settingsWindows = ['settings', 'systeminfo', 'systemsettings', 'servicesettings', 'pvrsettings', \ - 'playersettings', 'mediasettings', 'interfacesettings', 'profiles', 'skinsettings', 'videossettings', \ - 'musicsettings', 'appearancesettings', 'picturessettings', 'weathersettings', 'gamesettings', \ - 'service-LibreELEC-Settings-mainWindow.xml', 'service-LibreELEC-Settings-wizard.xml', \ - 'service-LibreELEC-Settings-getPasskey.xml'] - appsWindows = ['addonbrowser', 'addonsettings', 'addoninformation', 'addon', 'programs'] - states = [] - states.append(fd628states.fd628IconIndicator(True, 'power')) - states.append(fd628states.fd628CondVisibility('play', 'Player.Playing')) - states.append(fd628states.fd628CondVisibility('pause', 'Player.Paused')) - states.append(fd628states.fd628FileContains('hdmi', '/sys/class/amhdmitx/amhdmitx0/hpd_state', ['1'])) - states.append(fd628states.fd628FileContains('cvbs', '/sys/class/display/mode', ['cvbs'])) - states.append(fd628states.fd628FileContains('eth', '/sys/class/net/eth0/operstate', ['up', 'unknown'])) - states.append(fd628states.fd628FileContains('wifi', '/sys/class/net/wlan0/operstate', ['up'])) - states.append(fd628states.fd628WindowChecker('setup', settingsWindows)) - states.append(fd628states.fd628WindowChecker('apps', appsWindows)) - states.append(fd628states.fd628ExtStorageChecker('usb', '/dev/sd')) - states.append(fd628states.fd628ExtStorageChecker('sd', '/dev/mmcblk')) - self._colonIcon = fd628states.fd628IconIndicator(False, 'colon') - states.append(self._colonIcon) - if (self._settings.isStorageIndicator()): - for state in states: - if (state.getLedName() == self._settings.getStorageIndicatorIcon()): - states.remove(state) - break - states.append(fd628states.fd628ExtStorageCount(self._settings.getStorageIndicatorIcon(), None, 'rw')) - kodiLog('Active states: ' + str([str(state) for state in states])) - self.__turnOffIndicators() - self._states = states - -monitor = fd628Monitor() -fd628 = fd628Addon(monitor) -kodiLog('Service start.') -fd628.run() -kodiLog('Service stop.') diff --git a/packages/addons/service/fd628/sources/resources/settings.xml b/packages/addons/service/fd628/sources/resources/settings.xml deleted file mode 100644 index 614f0e65af..0000000000 --- a/packages/addons/service/fd628/sources/resources/settings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -