pissing about

This commit is contained in:
2026-08-09 00:55:02 +01:00
parent a1f746fce1
commit 08630fdd14
4 changed files with 25 additions and 12 deletions

View File

@@ -6,6 +6,7 @@ public class MatrixRenderer
private readonly WledDdpClient _wled;
private readonly int _width = 64;
private readonly int _height = 64;
private readonly string _fontType = "monospace";
public MatrixRenderer(string wledIp)
{
@@ -22,18 +23,24 @@ public class MatrixRenderer
canvas.Clear(SKColors.Black);
// --- DRAW CLOCK ---
using SKPaint clockPaint = new SKPaint { Color = SKColors.Cyan, IsAntialias = false };
using SKTypeface typeface = SKTypeface.FromFamilyName("monospace");
using SKFont clockFont = new SKFont(typeface, 16);
string timeFormat = (currentTime.Second % 2 == 0) ? "HH:mm" : "HH mm";
using SKPaint clockPaint = new SKPaint { Color = SKColors.Red, IsAntialias = false };
using SKTypeface typeface = SKTypeface.FromFamilyName(_fontType);
using SKFont clockFont = new SKFont(typeface, 14);
//string timeFormat = (currentTime.Second % 2 == 0) ? "HH:mm" : "HH mm";
string timeFormat = "HH:mm:ss";
string timeString = currentTime.ToString(timeFormat);
canvas.DrawText(timeString, 4, 16, SKTextAlign.Left, clockFont, clockPaint);
// --- DRAW TEMPERATURE ---
using SKPaint textPaint = new SKPaint { Color = SKColors.Orange, IsAntialias = false };
using SKFont textFont = new SKFont { Size = 16 };
canvas.DrawText($"{currentTemp:F1}c", 4, 30, SKTextAlign.Left, textFont, textPaint);
canvas.DrawText($"{currentWater:F1}%", 4, 50, SKTextAlign.Left, textFont, textPaint);
using SKPaint textPaintTemp = new SKPaint { Color = SKColors.Green, IsAntialias = false };
using SKTypeface typefaceTemp = SKTypeface.FromFamilyName(_fontType);
using SKFont textFont = new SKFont { Size = 14 };
canvas.DrawText($"{currentTemp:F1}ºc", 4, 33, SKTextAlign.Left, textFont, textPaintTemp);
//Water
using SKPaint textPaintWater = new SKPaint { Color = SKColors.Blue, IsAntialias = false };
using SKTypeface typefaceWater = SKTypeface.FromFamilyName(_fontType);
using SKFont textFontWater = new SKFont { Size = 14 };
canvas.DrawText($"{currentWater:F1}%", 4, 50, SKTextAlign.Left, textFontWater, textPaintWater);
// 4. Convert 32-bit RGBA to 24-bit RGB for WLED
byte[] rgbaBytes = bitmap.Bytes;

View File

@@ -2,7 +2,7 @@
using System.Diagnostics;
using System.Threading.Tasks;
var renderer = new MatrixRenderer("192.168.0.150"); // Your WLED IP
var renderer = new MatrixRenderer("192.168.1.216"); // Your WLED IP
var ntp = new NtpService("ntp.parsons.cc");
// Replace these with your actual InfluxDB v2 credentials

View File

@@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

View File

@@ -56,8 +56,14 @@ public class WledDdpClient
// Copy the pixel payload into the packet
Buffer.BlockCopy(rgbData, offset, packet, 10, chunkLength);
try
{
await _udp.SendAsync(packet, packet.Length, _ip, Port);
}
catch
{
Console.WriteLine("Connection to matrix failed");
}
offset += chunkLength;
}