diff --git a/Source/Program/Common/Misc/FileAndFolderManager.Datatypes.cs b/Source/Program/Common/Misc/FileAndFolderManager.Datatypes.cs index bf4a78c..04f00f8 100644 --- a/Source/Program/Common/Misc/FileAndFolderManager.Datatypes.cs +++ b/Source/Program/Common/Misc/FileAndFolderManager.Datatypes.cs @@ -33,9 +33,6 @@ namespace ProgramLib // List data folder + its subfolders DATA, DATA_TEMP, - - // List app folder + its folders - APP } public enum Files diff --git a/Source/Program/Common/Misc/FileAndFolderManager.cs b/Source/Program/Common/Misc/FileAndFolderManager.cs index ffdc1e0..45e1c2b 100644 --- a/Source/Program/Common/Misc/FileAndFolderManager.cs +++ b/Source/Program/Common/Misc/FileAndFolderManager.cs @@ -15,13 +15,11 @@ GOVERNMENT. UNPUBLISHED WORK - COPYRIGHT RAYTHEON COMPANY. -------------------------------------------------------------------------*/ +using Raytheon.Common; using System; using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Raytheon.Common; +using System.Reflection; namespace ProgramLib { @@ -44,9 +42,9 @@ namespace ProgramLib { _programConfig = programConfig; - buildFolders(); - createFolders(); - buildFiles(); + ConstructFolderPaths(); + CreateFolders(); + ConstructFilePaths(); } /// @@ -54,16 +52,18 @@ namespace ProgramLib /// /// /// - private void buildFolders() + private void ConstructFolderPaths() { - string dataBasePath = _programConfig.ReadValue(ProgramConfigIni.GENERAL.ToString(), ProgramConfigIni.DATA_BASE_PATH.ToString(), "NOT SET"); - foldersDict[Folders.DATA] = dataBasePath; + string assemblyFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + string dataRootPath = _programConfig.ReadValue(ProgramConfigIni.GENERAL.ToString(), ProgramConfigIni.DATA_BASE_PATH.ToString(), "NOT SET"); + if (!Path.IsPathRooted(dataRootPath)) + dataRootPath = Path.Combine(assemblyFolder, dataRootPath); + + foldersDict[Folders.DATA] = Path.GetFullPath(dataRootPath); string val = _programConfig.ReadValue(ProgramConfigIni.GENERAL.ToString(), ProgramConfigIni.DATA_TEMP_PATH.ToString(), "NOT SET"); - foldersDict[Folders.DATA_TEMP] = Path.Combine(dataBasePath, val); - - string appBasePath = _programConfig.ReadValue(ProgramConfigIni.GENERAL.ToString(), ProgramConfigIni.APP_BASE_PATH.ToString(), "NOT SET"); - foldersDict[Folders.APP] = dataBasePath; + foldersDict[Folders.DATA_TEMP] = Path.Combine(dataRootPath, val); } /// @@ -71,7 +71,7 @@ namespace ProgramLib /// /// /// - private void createFolders() + private void CreateFolders() { Directory.CreateDirectory(foldersDict[Folders.DATA_TEMP]); } @@ -81,7 +81,7 @@ namespace ProgramLib /// /// /// - private void buildFiles() + private void ConstructFilePaths() { string val = _programConfig.ReadValue(ProgramConfigIni.GENERAL.ToString(), ProgramConfigIni.POWER_SUPPLY_SELF_TEST_DATETIME.ToString(), "NOT SET"); filesDict[Files.POWER_SUPPLY_SELF_TEST_DATETIME] = Path.Combine(foldersDict[Folders.DATA_TEMP], val); diff --git a/Source/Program/DataDef/PowerSupplySharedData.cs b/Source/Program/DataDef/PowerSupplySharedData.cs index a77cd50..46db319 100644 --- a/Source/Program/DataDef/PowerSupplySharedData.cs +++ b/Source/Program/DataDef/PowerSupplySharedData.cs @@ -59,12 +59,13 @@ namespace ProgramLib lock (syncObjDict[moduleName]) { - if (!_powerSupplyDataDict.ContainsKey(moduleName)) + PowerSupplyData data = null; + if (_powerSupplyDataDict.ContainsKey(moduleName)) { - throw new Exception($"{moduleName} is invalid"); + data = _powerSupplyDataDict[moduleName]; } - return _powerSupplyDataDict[moduleName]; + return data; } } diff --git a/Source/Program/ProgramConfigFile/config.ini b/Source/Program/ProgramConfigFile/config.ini index 39f0483..d79781b 100644 --- a/Source/Program/ProgramConfigFile/config.ini +++ b/Source/Program/ProgramConfigFile/config.ini @@ -1,11 +1,8 @@ [GENERAL] ; specify data folder and all subfolders in it -DATA_BASE_PATH = C:\NGSRI\Data +DATA_BASE_PATH = .\Output DATA_TEMP_PATH = Temp -; specify app folder and all subfolders in it -APP_BASE_PATH = C:\NGSRI\App - ; Log names POWER_SUPPLY_SELF_TEST_DATETIME = power_supply_self_test_datetime.xml diff --git a/Source/Program/Threads/PowerSupplyUpdateThread.cs b/Source/Program/Threads/PowerSupplyUpdateThread.cs index 5b5cc38..15797a2 100644 --- a/Source/Program/Threads/PowerSupplyUpdateThread.cs +++ b/Source/Program/Threads/PowerSupplyUpdateThread.cs @@ -131,7 +131,6 @@ namespace ProgramLib EventGroup eventGroup = new EventGroup(eventDict); - Random rnd = new Random(); while (true) { Events id = eventGroup.WaitAny(pollRateMs); @@ -140,7 +139,7 @@ namespace ProgramLib { PowerSupplyData data = Program.Instance()._powerSupplySharedData.GetData(PowerSupplyConstants.POWER_DEVICE.STE_PVM_5V.ToString()); - if (data._initialized) + if (data != null && data._initialized) { _powerModuleToPowerDataModelDict["UUT_P20V"].ActualVoltage = data._voltage.ToString("0.00"); _powerModuleToPowerDataModelDict["UUT_P20V"].ExpectedVoltage = data._powerSupplyModuleInfo.voltageSetpoint_.ToString("0.00"); diff --git a/Source/TestStand/power_on.seq b/Source/TestStand/power_on.seq index 3e6a31e..ac6efb4 100644 Binary files a/Source/TestStand/power_on.seq and b/Source/TestStand/power_on.seq differ