- Add webHandlerRegistered flag to prevent duplicate registration
- Call registerWebHandler() in both setup() and connected()
- Use global 'server' variable directly with lambda
- Removed unused methods
- Include gpu_fan_html.h with embedded HTML page
- Add addToWebHandlers() to register /gpu-fan endpoint
- Add serveGpuFanPage() static method to serve the page
- Add [Curve Editor] link in WLED Info panel
- No filesystem upload required
Features:
- Interactive SVG graph with draggable curve points
- Live GPU temperature display with indicator on graph
- Real-time fan speed monitoring
- Mode toggle between Fixed and Curve modes
- Point table for precise value entry
- Touch support for mobile devices
- Minified CSS for smaller file size
- Interactive SVG curve editor with draggable points
- Live GPU temperature display with indicator on graph
- Real-time fan speed monitoring
- Mode toggle between Fixed and Curve
- Point table for precise value entry
- Touch support for mobile devices
- Changed from nested JSON array to flat curve-t1/s1, curve-t2/s2, etc.
- Added appendConfigData() for config page labels
- Reduced max curve points to 5 for simpler config
- Added bounds checking for speed values