fix(TempSensor): 修正IoTC无法通过系统配置获取指定的温度的问题。

This commit is contained in:
SL 2024-04-08 11:40:24 +08:00
parent c15c92f799
commit 2f97bdf565
2 changed files with 18 additions and 12 deletions

View File

@ -134,20 +134,20 @@ namespace Aitex.Core.RT.Device.Devices
public string ScOuterTempValue
{
get=> _scOuterTempValue;
set => _scOuterTempValue = "Temp." + value;
set => _scOuterTempValue = "TempSensor." + value;
}
private string _scInnerTempValue;
public string ScInnerTempValue
{
get => _scInnerTempValue;
set => _scInnerTempValue = "Temp." + value;
set => _scInnerTempValue = "TempSensor." + value;
}
private string _scMiddleTempValue;
public string ScMiddleTempValue
{
get => _scMiddleTempValue;
set => _scMiddleTempValue = "Temp." + value;
set => _scMiddleTempValue = "TempSensor." + value;
}
private readonly R_TRIG _trigSetTempLimit = new R_TRIG();
@ -1496,8 +1496,10 @@ namespace Aitex.Core.RT.Device.Devices
if (ScOuterTempValue == "Disabled")
return 0;
object obj = DATA.Poll(ScOuterTempValue);
return obj == null ? 0 : (float)obj ;
var obj = DATA.Poll(ScOuterTempValue);
if (obj != null && float.TryParse(obj.ToString(), out var temp))
return temp;
return 0;
}
}
@ -1511,8 +1513,10 @@ namespace Aitex.Core.RT.Device.Devices
if (ScInnerTempValue == "Disabled")
return 0;
object obj = DATA.Poll(ScInnerTempValue);
return obj == null ? 0 : (float)obj;
var obj = DATA.Poll(ScInnerTempValue);
if (obj != null && float.TryParse(obj.ToString(), out var temp))
return temp;
return 0;
}
}
/// <summary>
@ -1525,8 +1529,10 @@ namespace Aitex.Core.RT.Device.Devices
if (ScMiddleTempValue == "Disabled")
return 0;
object obj = DATA.Poll(ScMiddleTempValue);
return obj == null ? 0 : (float)obj;
var obj = DATA.Poll(ScMiddleTempValue);
if (obj != null && float.TryParse(obj.ToString(), out var temp))
return temp;
return 0;
}
}

View File

@ -146,9 +146,9 @@ public abstract class TempSensorBase : BaseDevice, IDevice, IConnection, ITempSe
Temp[i] = MinimalTemp;
var ch = i;
DATA.Subscribe($"{Name}.T{ch + 1}", () => Temp[ch]);
DATA.Subscribe($"{Name}.T{ch + 1}MAF", () => _tempFilters[ch].FilteredMAF);
DATA.Subscribe($"{Name}.T{ch + 1}Raw", () => _tempFilters[ch].Raw);
DATA.Subscribe($"TempSensor.{Name}.T{ch + 1}", () => Temp[ch]);
DATA.Subscribe($"TempSensor.{Name}.T{ch + 1}MAF", () => _tempFilters[ch].FilteredMAF);
DATA.Subscribe($"TempSensor.{Name}.T{ch + 1}Raw", () => _tempFilters[ch].Raw);
}
}