pseq: Add is_power_supply_rail JSON file property
Enhance the JSON configuration file for the phosphor-power-sequencer
application. Add an "is_power_supply_rail" property to the "rail"
object.
Update the config file documentation, config file parser, Rail class,
and the associated tests.
Change-Id: I3d0e8276324dd9cf25f386016c6f275b540515aa
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/config_file_parser.cpp b/phosphor-power-sequencer/src/config_file_parser.cpp
index db055d1..37c6b04 100644
--- a/phosphor-power-sequencer/src/config_file_parser.cpp
+++ b/phosphor-power-sequencer/src/config_file_parser.cpp
@@ -100,6 +100,15 @@
++propertyCount;
}
+ // Optional is_power_supply_rail property
+ bool isPowerSupplyRail{false};
+ auto isPowerSupplyRailIt = element.find("is_power_supply_rail");
+ if (isPowerSupplyRailIt != element.end())
+ {
+ isPowerSupplyRail = parseBoolean(*isPowerSupplyRailIt);
+ ++propertyCount;
+ }
+
// Optional check_status_vout property
bool checkStatusVout{false};
auto checkStatusVoutIt = element.find("check_status_vout");
@@ -137,8 +146,9 @@
// Verify no invalid properties exist
verifyPropertyCount(element, propertyCount);
- return std::make_unique<Rail>(name, presence, page, checkStatusVout,
- compareVoltageToLimits, gpio);
+ return std::make_unique<Rail>(name, presence, page, isPowerSupplyRail,
+ checkStatusVout, compareVoltageToLimits,
+ gpio);
}
std::vector<std::unique_ptr<Rail>> parseRailArray(const json& element)