diff --git a/CA_DataUploaderLib/IOconf/IOconfLoader.cs b/CA_DataUploaderLib/IOconf/IOconfLoader.cs
index c6e6243..ac55cd5 100644
--- a/CA_DataUploaderLib/IOconf/IOconfLoader.cs
+++ b/CA_DataUploaderLib/IOconf/IOconfLoader.cs
@@ -23,7 +23,6 @@ public class IOconfLoader : IIOconfLoader
("RPiTemp", (r, l) => new IOconfRPiTemp(r, l)),
("GenericSensor", (r, l) => new IOconfGeneric(r, l)),
("GenericOutput", (r, l) => new IOconfGenericOutput(r, l)),
- ("SwitchboardSensor", (r, l) => new IOconfSwitchboardSensor(r, l)),
("Node", (r, l) => new IOconfNode(r, l)),
("Code", (r, l) => new IOconfCode(r, l)),
(IOconfCurrent.TypeName, (r, l) => new IOconfCurrent(r, l)),
diff --git a/CA_DataUploaderLib/IOconf/IOconfSwitchboardSensor.cs b/CA_DataUploaderLib/IOconf/IOconfSwitchboardSensor.cs
deleted file mode 100644
index e6dc883..0000000
--- a/CA_DataUploaderLib/IOconf/IOconfSwitchboardSensor.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-#nullable enable
-using System.Collections.Generic;
-
-namespace CA_DataUploaderLib.IOconf
-{
- public class IOconfSwitchboardSensor : IOconfInput.Expandable
- {
- private readonly string Subsystem;
-
- public IOconfSwitchboardSensor(string row, int lineNum) : base(row, lineNum, "SwitchboardSensor", false, IOconfOut230Vac.GetSwitchboardBoardSettings())
- {
- Format = "SwitchboardSensor;Name;BoxName;[SubsystemName]";
- var list = ToList();
- Subsystem = list.Count > 3 ? list[3].ToLower() : "vibration";
- }
-
- /// get expanded conf entries that include both the rms and max within the 100 milliseconds read cycle
- /// the returned entries have port numbers that correspond to the ones returned by the dc switchboard as parsed by the IOconfOut230Vac.SwitchBoardResponseParser
- public override IEnumerable GetExpandedConf() => [
- NewInput($"{Name}_rms", 6, Subsystem),
- NewInput($"{Name}_maxIn100ms", 7, Subsystem),
- ];
- }
-}
\ No newline at end of file
diff --git a/CA_DataUploaderLib/RPi_versions.csv b/CA_DataUploaderLib/RPi_versions.csv
index 563cc66..6e13430 100644
--- a/CA_DataUploaderLib/RPi_versions.csv
+++ b/CA_DataUploaderLib/RPi_versions.csv
@@ -64,4 +64,7 @@ c03150;?;Compute Module 4S;1.0;4 GB;(Mfg by Sony)
d03150;?;Compute Module 4S;1.0;8 GB;(Mfg by Sony)
b04170;Q4 2023;5;1.0;2GB;(Mfg by Sony)
c04170;Q4 2023;5;1.0;4GB;(Mfg by Sony)
-d04170;Q4 2023;5;1.0;8GB;(Mfg by Sony)
\ No newline at end of file
+d04170;Q4 2023;5;1.0;8GB;(Mfg by Sony)
+b04180;Q4 2024;Compute Module 5;1.0;2GB;(Mfg by Sony)
+c04180;Q4 2024;Compute Module 5;1.0;4GB;(Mfg by Sony)
+d04180;Q4 2024;Compute Module 5;1.0;8GB;(Mfg by Sony)
\ No newline at end of file
diff --git a/CA_DataUploaderLib/RpiVersion.cs b/CA_DataUploaderLib/RpiVersion.cs
index a560b56..428bc79 100644
--- a/CA_DataUploaderLib/RpiVersion.cs
+++ b/CA_DataUploaderLib/RpiVersion.cs
@@ -166,7 +166,7 @@ private static void WriteResourceToFile(string resourceName, string fileName)
private static string? GetCPU()
{
if (_OS.Platform == PlatformID.Unix)
- return DULutil.ExecuteShellCommand("cat /proc/cpuinfo | grep 'model name'").SplitNewLine().First().Substring(18).Trim();
+ return DULutil.ExecuteShellCommand("lscpu | grep 'Model name'").SplitNewLine().First().Substring(18).Trim();
return Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE");
}
@@ -182,7 +182,7 @@ private static string GetKernelVersion()
private static int GetNumberOfCores()
{
if (_OS.Platform == PlatformID.Unix)
- return DULutil.ExecuteShellCommand("cat /proc/cpuinfo | grep 'model name'").SplitNewLine().Count;
+ return DULutil.ExecuteShellCommand("cat /proc/cpuinfo | grep 'processor'").SplitNewLine().Count;
return Environment.ProcessorCount;
}
diff --git a/CA_DataUploaderLib/SwitchBoardController.cs b/CA_DataUploaderLib/SwitchBoardController.cs
index 733da46..c2f9264 100644
--- a/CA_DataUploaderLib/SwitchBoardController.cs
+++ b/CA_DataUploaderLib/SwitchBoardController.cs
@@ -15,8 +15,7 @@ private SwitchBoardController(IIOconf ioconf, CommandHandler cmd) : base(cmd, "s
.Concat(ioconf.GetEntries()
.GroupBy(p => p.BoxName)
.Where(g => !g.Any(p => p.PortNumber > 4)) //avoid port 5 board temperature conflict with boards that support 5 or more ports (without temperatures)
- .Select(g => g.First().GetBoardTemperatureInputConf()))
- .Concat(ioconf.GetEntries().SelectMany(i => i.GetExpandedConf())))
+ .Select(g => g.First().GetBoardTemperatureInputConf())))
{
//we ignore remote boards and boards missing during the start sequence (as we don't have auto reconnect logic yet for those). Note the BaseSensorBox already reports the missing local boards.
foreach (var port in ioconf.GetEntries().Where(p => p.Map.IsLocalBoard && p.Map.McuBoard != null))
diff --git a/UnitTests/IOconfFileTests.cs b/UnitTests/IOconfFileTests.cs
index 6d5f52b..2a7f6b8 100644
--- a/UnitTests/IOconfFileTests.cs
+++ b/UnitTests/IOconfFileTests.cs
@@ -80,58 +80,5 @@ public void GetBoardStateNames_TemperatureField_Math()
Assert.AreEqual(1, boardStateNames.Count());
Assert.AreEqual("tm01_state", boardStateNames.First());
}
-
- [TestMethod]
- public void GetBoardStateNames_SwitchboardSensorExpandedInputField()
- {
- // Arrange
- var ioconf = new IOconfFile(@"
-Map; 3900553433511235353736; dc01
-SwitchboardSensor; switchboardSensor_dc01; dc01
-".SplitNewLine(StringSplitOptions.None));
-
- // Act
- var boardStateNames = ioconf.GetBoardStateNames("switchboardSensor_dc01_rms").ToList();
-
- // Assert
- Assert.AreEqual(1, boardStateNames.Count());
- Assert.AreEqual("dc01_state", boardStateNames.First());
- }
-
- [TestMethod]
- public void GetBoardStateNames_SwitchboardSensorExpandedInputField_Filter()
- {
- // Arrange
- var ioconf = new IOconfFile(@"
-Map; 3900553433511235353736; dc01
-SwitchboardSensor; switchboardSensor_dc01; dc01
-Filter;switchboardSensor_dc01_rms; Min;600;switchboardSensor_dc01_rms
-".SplitNewLine(StringSplitOptions.None));
-
- // Act
- var boardStateNames = ioconf.GetBoardStateNames("switchboardSensor_dc01_rms_filter").ToList();
-
- // Assert
- Assert.AreEqual(1, boardStateNames.Count());
- Assert.AreEqual("dc01_state", boardStateNames.First());
- }
-
- [TestMethod]
- public void GetBoardStateNames_SwitchboardSensorExpandedInputField_Math()
- {
- // Arrange
- var ioconf = new IOconfFile(@"
-Map; 3900553433511235353736; dc01
-SwitchboardSensor; switchboardSensor_dc01; dc01
-Math; switchboardSensor_dc01_rms_math; switchboardSensor_dc01_rms + 1
-".SplitNewLine(StringSplitOptions.None));
-
- // Act
- var boardStateNames = ioconf.GetBoardStateNames("switchboardSensor_dc01_rms_math").ToList();
-
- // Assert
- Assert.AreEqual(1, boardStateNames.Count());
- Assert.AreEqual("dc01_state", boardStateNames.First());
- }
}
}
diff --git a/UnitTests/IOconfRedundantSensorsTests.cs b/UnitTests/IOconfRedundantSensorsTests.cs
index 6a071ec..07a74d5 100644
--- a/UnitTests/IOconfRedundantSensorsTests.cs
+++ b/UnitTests/IOconfRedundantSensorsTests.cs
@@ -36,31 +36,6 @@ public void ValidateDependencies_PointingToExistingSensor_Ok()
}
- [TestMethod]
- public void ValidateDependencies_PointingToExpandedInputField_Ok()
- {
- // Act
- _ = new IOconfFile(@"
-Map; 3900553433511235353736; dc01
-SwitchboardSensor; switchboardSensor_dc01; dc01
-RedundantSensors; switchboardSensor_redundant; switchboardSensor_dc01_rms
-".SplitNewLine(StringSplitOptions.None));
- }
-
- [TestMethod]
- public void ValidateDependencies_PointingToBaseExpandableInput_Fail()
- {
- // Act
- var ex = Assert.ThrowsException(() => _ = new IOconfFile(@"
-Map; 3900553433511235353736; dc01
-SwitchboardSensor; switchboardSensor_dc01; dc01
-RedundantSensors; switchboardSensor_redundant; switchboardSensor_dc01
-".SplitNewLine(StringSplitOptions.None)));
-
- // Assert
- Assert.IsTrue(ex.Message.Contains("Failed to find"));
- }
-
[TestMethod]
public void ValidateDependencies_PointingToMath_Ok()
{