Skip to content

Commit

Permalink
use Extended Shared Memory Interface in hwinfo 7.34 that exposes UTF-…
Browse files Browse the repository at this point in the history
…8 encoded strings
  • Loading branch information
mhwlng committed Dec 9, 2022
1 parent 4f6df25 commit 981d2cc
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 7 deletions.
35 changes: 32 additions & 3 deletions fipha/HWInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ public class _HWiNFO_SENSOR
public string SensorNameOrig;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = HWINFO_SENSORS_STRING_LEN)]
public string SensorNameUser;

// Version 2+ new:
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = HWINFO_SENSORS_STRING_LEN)]
public string utfSensorNameUser; // Sensor name displayed, which might be translated or renamed by user [UTF-8 string]

}

[StructLayout(LayoutKind.Sequential, Pack = 1)]
Expand All @@ -78,6 +83,12 @@ public class _HWiNFO_ELEMENT
public double ValueMin;
public double ValueMax;
public double ValueAvg;

// Version 2+ new:
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = HWINFO_SENSORS_STRING_LEN)]
public string utfLabelUser; // Label displayed, which might be translated or renamed by user [UTF-8 string]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = HWINFO_UNIT_STRING_LEN)]
public string utfUnit; // e.g. "RPM" [UTF-8 string]
}

public class ElementObj
Expand Down Expand Up @@ -398,12 +409,18 @@ private static void ReadSensors(MemoryMappedFile mmf, _HWiNFO_SHARED_MEM hWiNFOM

if (!FullSensorData.ContainsKey(index))
{
var sensorName = structure.SensorNameUser;
if (hWiNFOMemory.Version > 1)
{
sensorName = structure.utfSensorNameUser;
}

var sensor = new SensorObj
{
SensorId = structure.SensorId,
SensorInstance = structure.SensorInstance,
SensorNameOrig = structure.SensorNameOrig,
SensorNameUser = structure.SensorNameUser,
SensorNameUser = sensorName,
Elements = new Dictionary<string, ElementObj>()
};

Expand Down Expand Up @@ -444,15 +461,27 @@ private static void ReadElements(MemoryMappedFile mmf, _HWiNFO_SHARED_MEM hWiNFO

var elementKey = sensor.SensorId + "-" + sensor.SensorInstance + "-" + structure.ElementId;

var unit = structure.Unit;
if (hWiNFOMemory.Version > 1)
{
unit = structure.utfUnit;
}

var label = structure.LabelUser;
if (hWiNFOMemory.Version > 1)
{
label = structure.utfLabelUser;
}

var element = new ElementObj
{
ElementKey = elementKey,

SensorType = structure.SensorType,
ElementId = structure.ElementId,
LabelOrig = structure.LabelOrig,
LabelUser = structure.LabelUser,
Unit = structure.Unit,
LabelUser = label,
Unit = unit,
NumericValue = (float)RoundValue(structure.SensorType, structure.Unit, structure.Value),
Value = NumberFormat(structure.SensorType, structure.Unit, structure.Value),
ValueMin = NumberFormat(structure.SensorType, structure.Unit, structure.ValueMin),
Expand Down
4 changes: 2 additions & 2 deletions fipha/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.0.1.2")]
[assembly: AssemblyFileVersion("0.0.1.2")]
[assembly: AssemblyVersion("0.0.1.3")]
[assembly: AssemblyFileVersion("0.0.1.3")]

[assembly: log4net.Config.XmlConfigurator(Watch = true)]
2 changes: 1 addition & 1 deletion fipha/fipha.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
<HintPath>..\packages\MQTTnet.Extensions.ManagedClient.4.1.3.436\lib\net461\MQTTnet.Extensions.ManagedClient.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
Expand Down
2 changes: 1 addition & 1 deletion fipha/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<package id="Microsoft.Win32.Registry" version="5.0.0" targetFramework="net472" />
<package id="MQTTnet" version="4.1.3.436" targetFramework="net48" />
<package id="MQTTnet.Extensions.ManagedClient" version="4.1.3.436" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net472" />
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net48" />
<package id="RazorEngine" version="3.10.0" targetFramework="net472" />
<package id="SharpDX" version="4.2.0" targetFramework="net472" />
<package id="SharpDX.DirectInput" version="4.2.0" targetFramework="net472" />
Expand Down

0 comments on commit 981d2cc

Please sign in to comment.