From 31fd616270205ab9630848beb6f83931431800c7 Mon Sep 17 00:00:00 2001 From: hicwic Date: Tue, 24 Oct 2023 20:32:10 +0200 Subject: [PATCH 1/3] Adding plotgraph drawing method --- library/lcd/lcd_comm.py | 100 ++++++++++++++++++++++++++++++++++++++++ library/stats.py | 76 +++++++++++++++++++++++++++++- res/themes/default.yaml | 12 +++++ 3 files changed, 186 insertions(+), 2 deletions(-) diff --git a/library/lcd/lcd_comm.py b/library/lcd/lcd_comm.py index ef6ccc43..9a03fcea 100644 --- a/library/lcd/lcd_comm.py +++ b/library/lcd/lcd_comm.py @@ -27,6 +27,11 @@ from enum import IntEnum from typing import Tuple +try: + from itertools import izip +except ImportError: # Python 3 + izip = zip + import serial from PIL import Image, ImageDraw, ImageFont @@ -321,6 +326,101 @@ def DisplayProgressBar(self, x: int, y: int, width: int, height: int, min_value: self.DisplayPILImage(bar_image, x, y) + def DisplayPlotGraph(self, x: int, y: int, width: int, height: int, min_value: int = 0, max_value: int = 100, + autoscale: bool = False, + values: list[float] = [], + line_color: Tuple[int, int, int] = (0, 0, 0), + graph_axis: bool = True, + background_color: Tuple[int, int, int] = (255, 255, 255), + background_image: str = None): + # Generate a plot graph and display it + # Provide the background image path to display plot graph with transparent background + + if isinstance(line_color, str): + line_color = tuple(map(int, line_color.split(', '))) + + if isinstance(background_color, str): + background_color = tuple(map(int, background_color.split(', '))) + + assert x <= self.get_width(), 'Progress bar X coordinate must be <= display width' + assert y <= self.get_height(), 'Progress bar Y coordinate must be <= display height' + assert x + width <= self.get_width(), 'Progress bar width exceeds display width' + assert y + height <= self.get_height(), 'Progress bar height exceeds display height' + + + if background_image is None: + # A bitmap is created with solid background + graph_image = Image.new('RGB', (width, height), background_color) + else: + # A bitmap is created from provided background image + graph_image = self.open_image(background_image) + + # Crop bitmap to keep only the plot graph background + graph_image = graph_image.crop(box=(x, y, x + width, y + height)) + + #if autoscale is enabled, define new min/max value to "zoom" the graph + if autoscale: + trueMin = max_value + trueMax = min_value + for value in values: + if value >= 0: + if trueMin > value: + trueMin = value + if trueMax < value: + trueMax = value + + if trueMin != max_value and trueMax != min_value: + min_value = max (trueMin-5, min_value) + max_value = min (trueMax+5, max_value) + + step = width / len(values) + #pre compute yScale multiplier value + yScale = height / (max_value - min_value) + + plotsX = [] + plotsY = [] + count = 0 + for value in values: + if value >= 0: + # Don't let the set value exceed our min or max value, this is bad :) + if value < min_value: + value = min_value + elif max_value < value: + value = max_value + + assert min_value <= value <= max_value, 'Plot point value shall be between min and max' + + plotsX.append(count * step) + plotsY.append(height - (value - min_value) * yScale) + + count += 1 + + + # Draw plot graph + draw = ImageDraw.Draw(graph_image) + draw.line(list(izip(plotsX, plotsY)), fill=line_color, width=2) + + if graph_axis: + # Draw axis + draw.line([0, height - 1, width - 1, height - 1], fill=line_color) + draw.line([0, 0, 0, height - 1], fill=line_color) + + # Draw Legend + draw.line([0, 0, 1, 0], fill=line_color) + text = f"{int(max_value)}" + font = ImageFont.truetype("./res/fonts/" + "roboto/Roboto-Black.ttf", 10) + left, top, right, bottom = font.getbbox(text) + draw.text((2, 0 - top), text, + font=font, fill=line_color) + + text = f"{int(min_value)}" + font = ImageFont.truetype("./res/fonts/" + "roboto/Roboto-Black.ttf", 10) + left, top, right, bottom = font.getbbox(text) + draw.text((width - 1 - right, height - 2 - bottom), text, + font=font, fill=line_color) + + self.DisplayPILImage(graph_image, x, y) + def DisplayRadialProgressBar(self, xc: int, yc: int, radius: int, bar_width: int, min_value: int = 0, max_value: int = 100, diff --git a/library/stats.py b/library/stats.py index b0bb70ee..9056366e 100644 --- a/library/stats.py +++ b/library/stats.py @@ -84,6 +84,9 @@ def display_themed_value(theme_data, value, min_size=0, unit=''): if not theme_data.get("SHOW", False): return + #overridable MIN_SIZE from theme with backward compatibility + min_size=theme_data.get("MIN_SIZE", min_size) + text = f"{{:>{min_size}}}".format(value) if theme_data.get("SHOW_UNIT", True) and unit: text += str(unit) @@ -157,6 +160,26 @@ def display_themed_radial_bar(theme_data, value, min_size=0, unit='', custom_tex ) +def display_themed_plot_graph(theme_data, values): + if not theme_data.get("SHOW", False): + return + + display.lcd.DisplayPlotGraph( + x=theme_data.get("X", 0), + y=theme_data.get("Y", 0), + width=theme_data.get("WIDTH", 1), + height=theme_data.get("HEIGHT", 1), + min_value=theme_data.get("MIN_VALUE", 0), + max_value=theme_data.get("MAX_VALUE", 100), + autoscale=theme_data.get("AUTOSCALE", False), + values=values, + line_color=theme_data.get("LINE_COLOR", (0, 0, 0)), + graph_axis=theme_data.get("AXIS", False), + background_color=theme_data.get("BACKGROUND_COLOR", (0, 0, 0)), + background_image=get_theme_file_path(theme_data.get("BACKGROUND_IMAGE", None)) + ) + + class CPU: @staticmethod def percentage(): @@ -242,18 +265,36 @@ def display_gpu_stats(load, memory_percentage, memory_used_mb, temperature, fps) gpu_percent_text_data['SHOW'] = False gpu_percent_radial_data['SHOW'] = False + #for backward compatibility gpu_mem_graph_data = theme_gpu_data['MEMORY']['GRAPH'] gpu_mem_radial_data = theme_gpu_data['MEMORY']['RADIAL'] + + gpu_mem_percent_graph_data = theme_gpu_data['MEMORY_PERCENT']['GRAPH'] + gpu_mem_percent_radial_data = theme_gpu_data['MEMORY_PERCENT']['RADIAL'] + gpu_mem_percent_text_data = theme_gpu_data['MEMORY_PERCENT']['TEXT'] if math.isnan(memory_percentage): memory_percentage = 0 + if gpu_mem_percent_graph_data['SHOW'] or gpu_mem_percent_radial_data['SHOW'] or gpu_mem_percent_text_data['SHOW']: + logger.warning("Your GPU memory relative usage (%) is not supported yet") + gpu_mem_percent_graph_data['SHOW'] = False + gpu_mem_percent_radial_data['SHOW'] = False + gpu_mem_percent_text_data['SHOW'] = False + #for backward compatibility if gpu_mem_graph_data['SHOW'] or gpu_mem_radial_data['SHOW']: logger.warning("Your GPU memory relative usage (%) is not supported yet") gpu_mem_graph_data['SHOW'] = False gpu_mem_radial_data['SHOW'] = False + #for backward compatibility gpu_mem_text_data = theme_gpu_data['MEMORY']['TEXT'] + + gpu_mem_used_text_data = theme_gpu_data['MEMORY_USED']['TEXT'] if math.isnan(memory_used_mb): memory_used_mb = 0 + if gpu_mem_used_text_data['SHOW']: + logger.warning("Your GPU memory absolute usage (M) is not supported yet") + gpu_mem_used_text_data['SHOW'] = False + #for backward compatibility if gpu_mem_text_data['SHOW']: logger.warning("Your GPU memory absolute usage (M) is not supported yet") gpu_mem_text_data['SHOW'] = False @@ -280,6 +321,7 @@ def display_gpu_stats(load, memory_percentage, memory_used_mb, temperature, fps) min_size=3, unit="%") + #for backward compatibility display_themed_progress_bar(gpu_mem_graph_data, memory_percentage) display_themed_radial_bar( @@ -289,6 +331,22 @@ def display_gpu_stats(load, memory_percentage, memory_used_mb, temperature, fps) unit="%" ) + display_themed_progress_bar(gpu_mem_percent_graph_data, memory_percentage) + + display_themed_radial_bar( + theme_data=gpu_mem_percent_radial_data, + value=int(memory_percentage), + min_size=3, + unit="%" + ) + + display_themed_value( + theme_data=gpu_mem_percent_text_data, + value=int(memory_percentage), + min_size=3, + unit="%" + ) + display_themed_value( theme_data=gpu_percent_text_data, value=int(load), @@ -296,6 +354,14 @@ def display_gpu_stats(load, memory_percentage, memory_used_mb, temperature, fps) unit="%" ) + #for backward compatibility + display_themed_value( + theme_data=gpu_mem_used_text_data, + value=int(memory_used_mb), + min_size=5, + unit=" M" + ) + display_themed_value( theme_data=gpu_mem_text_data, value=int(memory_used_mb), @@ -508,6 +574,7 @@ def stats(): custom_stat_class = getattr(sensors_custom, str(custom_stat))() string_value = custom_stat_class.as_string() numeric_value = custom_stat_class.as_numeric() + histo_values = custom_stat_class.as_histo() except: logger.error("Custom sensor class " + str(custom_stat) + " not found in sensors_custom.py") return @@ -522,14 +589,19 @@ def stats(): # Display graph from numeric value theme_data = config.THEME_DATA['STATS']['CUSTOM'][custom_stat].get("GRAPH", None) - if theme_data and numeric_value: + if theme_data and not math.isnan(numeric_value): display_themed_progress_bar(theme_data=theme_data, value=numeric_value) # Display radial from numeric and text value theme_data = config.THEME_DATA['STATS']['CUSTOM'][custom_stat].get("RADIAL", None) - if theme_data and numeric_value and string_value: + if theme_data and not math.isnan(numeric_value) and string_value: display_themed_radial_bar( theme_data=theme_data, value=numeric_value, custom_text=string_value ) + + # Display plot graph from histo values + theme_data = config.THEME_DATA['STATS']['CUSTOM'][custom_stat].get("PLOT", None) + if theme_data and histo_values: + display_themed_plot_graph(theme_data=theme_data, values=histo_values) diff --git a/res/themes/default.yaml b/res/themes/default.yaml index 09b625d7..a695a8c1 100644 --- a/res/themes/default.yaml +++ b/res/themes/default.yaml @@ -38,6 +38,18 @@ STATS: SHOW: False TEXT: SHOW: False + MEMORY_PERCENT: + GRAPH: + SHOW: False + RADIAL: + SHOW: False + TEXT: + SHOW: False + SHOW_UNIT: False + MEMORY_USED: + TEXT: + SHOW: False + SHOW_UNIT: False MEMORY: GRAPH: SHOW: False From a46d41815e7f81b45799599f4d642aba8e35b71d Mon Sep 17 00:00:00 2001 From: hicwic Date: Tue, 24 Oct 2023 20:32:37 +0200 Subject: [PATCH 2/3] Custom sensor using plotgraph --- .../RTSSSharedMemoryNET.dll | Bin 0 -> 74752 bytes library/sensors/sensors_custom.py | 154 ++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 external/RTSSSharedMemoryNET/RTSSSharedMemoryNET.dll diff --git a/external/RTSSSharedMemoryNET/RTSSSharedMemoryNET.dll b/external/RTSSSharedMemoryNET/RTSSSharedMemoryNET.dll new file mode 100644 index 0000000000000000000000000000000000000000..961e6f181ddf7f56367bc3ea882fb57f86249022 GIT binary patch literal 74752 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 TzV!AxZ?EkAed_<)De!**?oHFg literal 0 HcmV?d00001 diff --git a/library/sensors/sensors_custom.py b/library/sensors/sensors_custom.py index 6eec81e1..78fa6c53 100644 --- a/library/sensors/sensors_custom.py +++ b/library/sensors/sensors_custom.py @@ -23,6 +23,86 @@ import platform from abc import ABC, abstractmethod +import ctypes +import math +import os +import sys +from statistics import mean +from typing import Tuple + +import clr # Clr is from pythonnet package. Do not install clr package +import psutil +from win32api import * + +import library.sensors.sensors as sensors +from library.log import logger + +# Import LibreHardwareMonitor dll to Python +lhm_dll = os.getcwd() + '\\external\\LibreHardwareMonitor\\LibreHardwareMonitorLib.dll' +# noinspection PyUnresolvedReferences +clr.AddReference(lhm_dll) +# noinspection PyUnresolvedReferences +clr.AddReference(os.getcwd() + '\\external\\LibreHardwareMonitor\\HidSharp.dll') +# noinspection PyUnresolvedReferences +from LibreHardwareMonitor import Hardware + +# Import RTSSSharedMemoryNET dll to Python +clr.AddReference(os.getcwd() + '\\external\\RTSSSharedMemoryNET\\RTSSSharedMemoryNET.dll') +from RTSSSharedMemoryNET import OSD + + +File_information = GetFileVersionInfo(lhm_dll, "\\") + +ms_file_version = File_information['FileVersionMS'] +ls_file_version = File_information['FileVersionLS'] + +logger.debug("Found LibreHardwareMonitorLib %s" % ".".join([str(HIWORD(ms_file_version)), str(LOWORD(ms_file_version)), + str(HIWORD(ls_file_version)), + str(LOWORD(ls_file_version))])) + +if ctypes.windll.shell32.IsUserAnAdmin() == 0: + logger.error( + "Program is not running as administrator. Please run with admin rights or choose another HW_SENSORS option in " + "config.yaml") + try: + sys.exit(0) + except: + os._exit(0) + +handle = Hardware.Computer() +handle.IsCpuEnabled = True +handle.IsGpuEnabled = True +handle.IsMemoryEnabled = True +handle.IsMotherboardEnabled = True +handle.IsControllerEnabled = False +handle.IsNetworkEnabled = True +handle.IsStorageEnabled = True +handle.Open() +for hardware in handle.Hardware: + if hardware.HardwareType == Hardware.HardwareType.Cpu: + logger.info("Found CPU: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.Memory: + logger.info("Found Memory: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.GpuNvidia: + logger.info("Found Nvidia GPU: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.GpuAmd: + logger.info("Found AMD GPU: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.GpuIntel: + logger.info("Found Intel GPU: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.Storage: + logger.info("Found Storage: %s" % hardware.Name) + elif hardware.HardwareType == Hardware.HardwareType.Network: + logger.info("Found Network interface: %s" % hardware.Name) + + +def get_hw_and_update(hwtype: Hardware.HardwareType, name: str = None) -> Hardware.Hardware: + for hardware in handle.Hardware: + if hardware.HardwareType == hwtype: + if (name and hardware.Name == name) or not name: + hardware.Update() + return hardware + return None + # Custom data classes must be implemented in this file, inherit the CustomDataSource and implement its 2 methods class CustomDataSource(ABC): @@ -40,6 +120,11 @@ def as_string(self) -> str: # If this function is empty, the numeric value will be used as string without formatting pass + @abstractmethod + def as_histo(self) -> list[float]: + # List of numeric values will be used for plot graph + # If there is no histo values, keep this function empty + pass # Example for a custom data class that has numeric and text values class ExampleCustomNumericData(CustomDataSource): @@ -61,6 +146,9 @@ def as_string(self) -> str: # --> return f'{self.as_numeric():>4}%' # Otherwise, part of the previous value can stay displayed ("ghosting") after a refresh + def as_histo(self) -> list[float]: + pass + # Example for a custom data class that only has text values class ExampleCustomTextOnlyData(CustomDataSource): @@ -71,3 +159,69 @@ def as_numeric(self) -> float: def as_string(self) -> str: # If a custom data class only has text values, it won't be possible to display graph or radial bars return "Python version: " + platform.python_version() + + def as_histo(self) -> list[float]: + pass + + +class GpuNvidiaFanPercent(CustomDataSource): + def as_numeric(self) -> float: + gpu = get_hw_and_update(Hardware.HardwareType.GpuNvidia) + for sensor in gpu.Sensors: + if sensor.SensorType == Hardware.SensorType.Control: + return float(sensor.Value) + #return float(50) + + logger.error("GPU Nvidia fan percent cannot be read") + return math.nan + + def as_string(self) -> str: + return f'{int(self.as_numeric())}%' + + def as_histo(self) -> list[float]: + pass + +class CpuFanPercent(CustomDataSource): + def as_numeric(self) -> float: + mb = get_hw_and_update(Hardware.HardwareType.Motherboard) + for sh in mb.SubHardware: + sh.Update() + for sensor in sh.Sensors: + if sensor.SensorType == Hardware.SensorType.Control and "#2" in str(sensor.Name): + return float(sensor.Value) + + logger.error("CPU fan percent cannot be read") + return math.nan + + def as_string(self) -> str: + return f'{int(self.as_numeric())}%' + + def as_histo(self) -> list[float]: + pass + +class RTSSFps(CustomDataSource): + + histo = [-1] * 100 + + def as_numeric(self) -> float: + appEntries = OSD.GetAppEntries() + for app in appEntries: + if app.InstantaneousFrames > 0: + return float(app.InstantaneousFrames) + + return float(0) + + def as_string(self) -> str: + return f'{int(self.as_numeric())}' + + def as_histo(self) -> list[float]: + appEntries = OSD.GetAppEntries() + for app in appEntries: + if app.InstantaneousFrames > 0: + RTSSFps.histo.append(app.InstantaneousFrames) + RTSSFps.histo.pop(0) + return RTSSFps.histo + + return RTSSFps.histo + + From 8153eb8478f5d7b2c5f1e2b1930b072fd4e5b7cb Mon Sep 17 00:00:00 2001 From: hicwic Date: Tue, 24 Oct 2023 20:33:04 +0200 Subject: [PATCH 3/3] Demo theme using plotgraph --- res/themes/Cyberdeck/Credits.md | 7 + res/themes/Cyberdeck/background.png | Bin 0 -> 38664 bytes res/themes/Cyberdeck/preview.png | Bin 0 -> 49854 bytes res/themes/Cyberdeck/theme.yaml | 242 ++++++++++++++++++++++++++++ 4 files changed, 249 insertions(+) create mode 100644 res/themes/Cyberdeck/Credits.md create mode 100644 res/themes/Cyberdeck/background.png create mode 100644 res/themes/Cyberdeck/preview.png create mode 100644 res/themes/Cyberdeck/theme.yaml diff --git a/res/themes/Cyberdeck/Credits.md b/res/themes/Cyberdeck/Credits.md new file mode 100644 index 00000000..3e614dba --- /dev/null +++ b/res/themes/Cyberdeck/Credits.md @@ -0,0 +1,7 @@ +### Credits for graphical resources used from freepik + +Acknowledgements for resources : + +- "Designed by pikisuperstar / Freepik" +- "Designed by Freepik" +- "Designed by macrovector / Freepik" \ No newline at end of file diff --git a/res/themes/Cyberdeck/background.png b/res/themes/Cyberdeck/background.png new file mode 100644 index 0000000000000000000000000000000000000000..770f8e60978fc0fc2d0bcc9a2bdc2c61276eec36 GIT binary patch literal 38664 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