Add CSPT entity, processed CSS source type, reverse filter, and UI improvements
- Add Color Strip Processing Template (CSPT) entity: reusable filter chains for 1D LED strip postprocessing (backend, storage, API, frontend CRUD) - Add "processed" color strip source type that wraps another CSS source and applies a CSPT filter chain (dataclass, stream, schema, modal, cards) - Add Reverse filter for strip LED order reversal - Add CSPT and processed CSS nodes/edges to visual graph editor - Add CSPT test preview WS endpoint with input source selection - Add device settings CSPT template selector (add + edit modals with hints) - Use icon grids for palette quantization preset selector in filter lists - Use EntitySelect for template references and test modal source selectors - Fix filters.css_filter_template.desc missing localization - Fix icon grid cell height inequality (grid-auto-rows: 1fr) - Rename "Processed" subtab to "Processing Templates" - Localize all new strings (en/ru/zh) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
24
server/src/wled_controller/utils/gpu.py
Normal file
24
server/src/wled_controller/utils/gpu.py
Normal file
@@ -0,0 +1,24 @@
|
||||
"""GPU monitoring state (NVIDIA via pynvml).
|
||||
|
||||
Extracted from system routes so core modules can access GPU metrics
|
||||
without importing from the API layer.
|
||||
"""
|
||||
|
||||
from wled_controller.utils import get_logger
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
nvml_available = False
|
||||
nvml = None
|
||||
nvml_handle = None
|
||||
|
||||
try:
|
||||
import pynvml as _pynvml_mod
|
||||
|
||||
_pynvml_mod.nvmlInit()
|
||||
nvml_handle = _pynvml_mod.nvmlDeviceGetHandleByIndex(0)
|
||||
nvml_available = True
|
||||
nvml = _pynvml_mod
|
||||
logger.info(f"NVIDIA GPU monitoring enabled: {nvml.nvmlDeviceGetName(nvml_handle)}")
|
||||
except Exception:
|
||||
logger.info("NVIDIA GPU monitoring unavailable (pynvml not installed or no NVIDIA GPU)")
|
||||
Reference in New Issue
Block a user