17 сентября | 2024г. | 06:10:51


АвторТема: Converters, Renders, Components (обсуждения) часть 2  (Прочитано 337578 раз)

0 Пользователей и 7 Гостей смотрят эту тему.

Оффлайн mic71

  • Совет Джедаев
  • ****
  • Сообщений: 6523
  • Поблагодарили: 27301
  • Уважение: +152
У меня давно был этот вопрос и я не могу судить какое из 2х значение правильное ... но по мне ближе значение с плага ближе к реальности , к счастью с оборотами у меня показывает одинаковое значение а вот с температурой разница в 3 единицы , вот скрины
Спойлер   :
[ Гостям не разрешен просмотр вложений ][ Гостям не разрешен просмотр вложений ]
если смотреть на виджеты то выглядят они вот так :
вывод температуры с конвертера FanTempInfo
Спойлер   :
<widget source="global.CurrentTime" render="Label" position="1105,352" zPosition="2" size="93,25" font="Regular;20" transparent="1" halign="right" foregroundColor="brown_black" backgroundColor="gold_krayol">
  <convert type="FanTempInfo">TempInfo</convert>
</widget>
вывод температуры с плага
Спойлер   :
<widget source="SensorTemp0" render="Label" position="545,410" zPosition="1" size="123,35" font="Regular;25" transparent="1" halign="right">
  <convert type="SensorToText" />
</widget>
что мы видим , в шапке конвертера FanTempInfo прописано это
Спойлер   :
from Poll import Poll
from Components.Converter.Converter import Converter
from Components.Element import cached
import os
нас интересует параметр TempInfo
смотрим конвертер
находим там в самом низу ДЕФКУ def getText(self):
дёргаем содержание которое касаеться температуры
Спойлер   :
      elif self.type is self.TempInfo:
         if os.path.isfile("/proc/stb/sensors/temp0/value") and os.path.isfile("/proc/stb/sensors/temp0/unit"):
            info = "%s%s%s" % (open("/proc/stb/sensors/temp0/value").read().strip('\n'), unichr(176).encode("latin-1"), open("/proc/stb/sensors/temp0/unit").read().strip('\n'))
         elif os.path.isfile("/proc/stb/fp/temp_sensor_avs"):
            info = "%s%sC" % (open("/proc/stb/fp/temp_sensor_avs").read().strip('\n'), unichr(176).encode("latin-1"))
         elif os.path.isfile("/proc/stb/fp/temp_sensor"):
            info = "%s%sC" % (open("/proc/stb/fp/temp_sensor").read().strip('\n'), unichr(176).encode("latin-1"))
         if info.startswith('0'):
            info = 'N/A'
      return info
едем дальше , рассматриваем виджет с плага TempFanControl
видим в виджете source="SensorTemp0" и конвертер SensorToText
идём по наибольшему пути , т.к. этот конвертер выводит только текст с сурсов и компонентов , итак
в шапке конвертера видим это from Components.Converter.Converter import Converter , собственно это ниочём не говорит , копаем дальше , заходим в Components видим там FanControl.py который выводит вольтаж и обороты и Sensors.py который выводит температуру и  обороты , в шапке видим from Components.FanControl import fancontrol
опускаемся ниже и видим там это
Спойлер   :
   def addSensors(self):
      import os
      if os.path.exists("/proc/stb/sensors"):
         for dirname in os.listdir("/proc/stb/sensors"):
            if dirname.find("temp", 0, 4) == 0:
               f = open("/proc/stb/sensors/%s/name" % dirname, "r")
               name = f.readline().strip()
               f.close()
               
               f = open("/proc/stb/sensors/%s/unit" % dirname, "r")
               unit = f.readline().strip()
               f.close()
               
               self.sensors_list.append((self.TYPE_TEMPERATURE, name, unit, "/proc/stb/sensors/%s" % dirname))
      for fanid in range(fancontrol.getFanCount()):
         if fancontrol.hasRPMSensor(fanid):
            self.sensors_list.append((self.TYPE_FAN_RPM, _("Fan %d") % (fanid + 1), "rpm", fanid))
вроде всё одно и тоже , но где собака зарыта незнаю , и какое значение можно считать правельным тоже затрудняюсь сказать , но если в конвертер от 2boom прописать теже пути и наоборот ту всё будет идентично , тут вопрос в другом толи сурчи врут толи фиг знает короче 
martina3, подскажи пож., где правда?
мне лично на этих скринах ничего не понять , даже с лупой , научитесь вы вешать нормальные скрины
P.S. Плаг тянет с этой ДЕФКИ
Спойлер   :
   def hasRPMSensor(self, fanid):
      return os.path.exists("/proc/stb/fp/fan_speed")



Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
2333 Ответов
1029018 Просмотров
Последний ответ 06 февраля | 2012г. | 10:59:06
от valdiszp
51 Ответов
137028 Просмотров
Последний ответ 26 января | 2020г. | 14:32:49
от тихон
1492 Ответов
289319 Просмотров
Последний ответ 02 мая | 2014г. | 01:29:20
от 2boom
372 Ответов
233812 Просмотров
Последний ответ 07 декабря | 2020г. | 15:37:45
от donribba
5 Ответов
7760 Просмотров
Последний ответ 20 октября | 2019г. | 22:13:19
от Loader



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!