Skip to content

Commit d835a63

Browse files
mkalkbrennerfreezy
authored andcommitted
libzedmd 0.9.3, logged more details
1 parent e280c01 commit d835a63

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

LibDmd/Costura32/zedmd.dll

512 Bytes
Binary file not shown.

LibDmd/Costura64/zedmd64.dll

1 KB
Binary file not shown.

LibDmd/Output/ZeDMD/ZeDMDBase.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@ public abstract class ZeDMDBase
2727
protected ColoredFrame _lastFrame = null;
2828
private GCHandle handle;
2929

30-
protected void LogHandler(IntPtr format, IntPtr args, IntPtr pUserData)
30+
protected void LogHandler(string format, IntPtr args, IntPtr pUserData)
3131
{
32+
Logger.Debug("Trying to convert libzedmd log message: " + format);
3233
Logger.Info("libzedmd: " + Marshal.PtrToStringAnsi(ZeDMD_FormatLogMessage(format, args, pUserData)));
3334
}
3435

3536
protected void Init()
3637
{
3738
_pZeDMD = ZeDMD_GetInstance();
39+
Logger.Info("Using libzedmd version " + DriverVersion);
3840

3941
ZeDMD_LogCallback callbackDelegate = new ZeDMD_LogCallback(LogHandler);
4042
// Keep a reference to the delegate to prevent GC from collecting it
@@ -114,7 +116,7 @@ public void ClearColor()
114116
protected static extern IntPtr ZeDMD_GetInstance();
115117

116118
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
117-
protected delegate void ZeDMD_LogCallback(IntPtr format, IntPtr args, IntPtr pUserData);
119+
protected delegate void ZeDMD_LogCallback(string format, IntPtr args, IntPtr pUserData);
118120

119121
#if PLATFORM_X64
120122
[DllImport("zedmd64.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
@@ -128,7 +130,7 @@ public void ClearColor()
128130
#else
129131
[DllImport("zedmd.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
130132
#endif
131-
protected static extern IntPtr ZeDMD_FormatLogMessage(IntPtr format, IntPtr args, IntPtr pUserData);
133+
protected static extern IntPtr ZeDMD_FormatLogMessage(string format, IntPtr args, IntPtr pUserData);
132134

133135
#if PLATFORM_X64
134136
[DllImport("zedmd64.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]

LibDmd/Output/ZeDMD/ZeDMDUsbBase.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,25 @@ public abstract class ZeDMDUsbBase : ZeDMDBase
1818
base.Init();
1919

2020
if (!string.IsNullOrEmpty(Port)) {
21-
ZeDMD_SetDevice(_pZeDMD, @"\\.\" + Port);
21+
ZeDMD_SetDevice(_pZeDMD, Port);
2222
}
2323

2424
IsAvailable = ZeDMD_Open(_pZeDMD);
2525

2626
if (!IsAvailable) {
2727
if (string.IsNullOrEmpty(Port)) {
28-
Logger.Info(Name + " device not found at any port, libzedmd version: " + DriverVersion);
28+
Logger.Info(Name + " device not found at any port");
2929
}
3030
else {
31-
Logger.Info(Name + " device not found at port " + Port + ", libzedmd version: " + DriverVersion);
31+
Logger.Info(Name + " device not found at port " + Port);
3232
}
3333
return;
3434
}
3535

3636
if (string.IsNullOrEmpty(Port)) {
37-
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found, libzedmd version: " + DriverVersion);
37+
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found, USB package size " + ZeDMD_GetUsbPackageSize(_pZeDMD));
3838
} else {
39-
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found at port " + Port + ", libzedmd version: " + DriverVersion);
39+
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found at port " + Port + ", USB package size " + ZeDMD_GetUsbPackageSize(_pZeDMD));
4040
}
4141
}
4242

@@ -54,6 +54,13 @@ public abstract class ZeDMDUsbBase : ZeDMDBase
5454
#endif
5555
protected static extern bool ZeDMD_Open(IntPtr pZeDMD);
5656

57+
#if PLATFORM_X64
58+
[DllImport("zedmd64.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
59+
#else
60+
[DllImport("zedmd.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
61+
#endif
62+
protected static extern int ZeDMD_GetUsbPackageSize(IntPtr pZeDMD);
63+
5764
#endregion
5865
}
5966
}

LibDmd/Output/ZeDMD/ZeDMDWiFiBase.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ public abstract class ZeDMDWiFiBase : ZeDMDBase
2424

2525
if (!IsAvailable)
2626
{
27-
Logger.Info(Name + " device not found, libzedmd version: " + DriverVersion);
27+
Logger.Info(Name + " device not found");
2828
return;
2929
}
30-
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found, libzedmd version: " + DriverVersion);
30+
Logger.Info(Name + " " + Marshal.PtrToStringAnsi(ZeDMD_GetFirmwareVersion(_pZeDMD)) + " device found, UDP delay " + ZeDMD_GetUdpDelay(_pZeDMD) + "ms");
3131
}
3232

3333
#region libzedmd
@@ -51,6 +51,14 @@ public abstract class ZeDMDWiFiBase : ZeDMDBase
5151
#endif
5252
protected static extern bool ZeDMD_OpenWiFi(IntPtr pZeDMD, string ip);
5353

54+
#if PLATFORM_X64
55+
[DllImport("zedmd64.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
56+
#else
57+
[DllImport("zedmd.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
58+
#endif
59+
protected static extern int ZeDMD_GetUdpDelay(IntPtr pZeDMD);
60+
61+
5462
#endregion
5563
}
5664
}

0 commit comments

Comments
 (0)