conf change: pid: all pid details are now camelCase
Convert all PID configuration details are now camelCase instead of snake
case.
Change-Id: Id132053f122dfcd8abaace17df91c99758eb2b0c
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/README.md b/README.md
index 18c89f4..3b56a94 100644
--- a/README.md
+++ b/README.md
@@ -107,16 +107,16 @@
writePath: "/sys/class/hwmon/hwmon0/pwm0"
pidinfo:
samplerate: 0.1 // sample time in seconds
- p_coeff: 0.01 // coefficient for proportional
- i_coeff: 0.001 // coefficient for integral
+ proportionalCoeff: 0.01 // coefficient for proportional
+ integralCoeff: 0.001 // coefficient for integral
integral_limit:
min: 0
max: 100
output_limit:
min: 0
max: 100
- slew_negative: 0
- slew_positive: 0
+ slewNegative: 0
+ slewPositive: 0
{PIDID}:
type: "margin"
ipmi:
@@ -126,16 +126,16 @@
writePath: ""
pidinfo:
samplerate: 1 // sample time in seconds
- p_coeff: 94.0
- i_coeff: 2.0
+ proportionalCoeff: 94.0
+ integralCoeff: 2.0
integral_limit:
min: 3000
max: 10000
output_limit:
min: 3000
max: 10000
- slew_negative: 0
- slew_positive: 0
+ slewNegative: 0
+ slewPositive: 0
```
### Chassis Delta
diff --git a/dbus/dbusconfiguration.cpp b/dbus/dbusconfiguration.cpp
index e4396c4..fa7a3dd 100644
--- a/dbus/dbusconfiguration.cpp
+++ b/dbus/dbusconfiguration.cpp
@@ -113,16 +113,21 @@
std::cout << "\t\t\t}\n";
std::cout << "\t\t\t" << pidconf.second.setpoint << ",\n";
std::cout << "\t\t\t{" << pidconf.second.pidInfo.ts << ",\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.p_c << ",\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.i_c << ",\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.ff_off << ",\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.ff_gain << ",\n";
- std::cout << "\t\t\t{" << pidconf.second.pidInfo.i_lim.min << ","
- << pidconf.second.pidInfo.i_lim.max << "},\n";
- std::cout << "\t\t\t{" << pidconf.second.pidInfo.out_lim.min << ","
- << pidconf.second.pidInfo.out_lim.max << "},\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.slew_neg << ",\n";
- std::cout << "\t\t\t" << pidconf.second.pidInfo.slew_pos << ",\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.proportionalCoeff
+ << ",\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.integralCoeff
+ << ",\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.feedFwdOffset
+ << ",\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.feedFwdGain
+ << ",\n";
+ std::cout << "\t\t\t{" << pidconf.second.pidInfo.integralLimit.min
+ << "," << pidconf.second.pidInfo.integralLimit.max
+ << "},\n";
+ std::cout << "\t\t\t{" << pidconf.second.pidInfo.outLim.min << ","
+ << pidconf.second.pidInfo.outLim.max << "},\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.slewNeg << ",\n";
+ std::cout << "\t\t\t" << pidconf.second.pidInfo.slewPos << ",\n";
std::cout << "\t\t\t}\n\t\t}\n";
}
std::cout << "\t},\n";
@@ -402,25 +407,25 @@
base.at("SetPoint"));
}
info.pidInfo.ts = 1.0; // currently unused
- info.pidInfo.p_c = std::visit(VariantToDoubleVisitor(),
- base.at("PCoefficient"));
- info.pidInfo.i_c = std::visit(VariantToDoubleVisitor(),
- base.at("ICoefficient"));
- info.pidInfo.ff_off = std::visit(VariantToDoubleVisitor(),
- base.at("FFOffCoefficient"));
- info.pidInfo.ff_gain = std::visit(VariantToDoubleVisitor(),
- base.at("FFGainCoefficient"));
- info.pidInfo.i_lim.max =
+ info.pidInfo.proportionalCoeff = std::visit(
+ VariantToDoubleVisitor(), base.at("PCoefficient"));
+ info.pidInfo.integralCoeff = std::visit(
+ VariantToDoubleVisitor(), base.at("ICoefficient"));
+ info.pidInfo.feedFwdOffset = std::visit(
+ VariantToDoubleVisitor(), base.at("FFOffCoefficient"));
+ info.pidInfo.feedFwdGain = std::visit(
+ VariantToDoubleVisitor(), base.at("FFGainCoefficient"));
+ info.pidInfo.integralLimit.max =
std::visit(VariantToDoubleVisitor(), base.at("ILimitMax"));
- info.pidInfo.i_lim.min =
+ info.pidInfo.integralLimit.min =
std::visit(VariantToDoubleVisitor(), base.at("ILimitMin"));
- info.pidInfo.out_lim.max = std::visit(VariantToDoubleVisitor(),
- base.at("OutLimitMax"));
- info.pidInfo.out_lim.min = std::visit(VariantToDoubleVisitor(),
- base.at("OutLimitMin"));
- info.pidInfo.slew_neg =
+ info.pidInfo.outLim.max = std::visit(VariantToDoubleVisitor(),
+ base.at("OutLimitMax"));
+ info.pidInfo.outLim.min = std::visit(VariantToDoubleVisitor(),
+ base.at("OutLimitMin"));
+ info.pidInfo.slewNeg =
std::visit(VariantToDoubleVisitor(), base.at("SlewNeg"));
- info.pidInfo.slew_pos =
+ info.pidInfo.slewPos =
std::visit(VariantToDoubleVisitor(), base.at("SlewPos"));
double negativeHysteresis = 0;
double positiveHysteresis = 0;
diff --git a/examples/swampd.conf b/examples/swampd.conf
index fd492ee..0866c5b 100644
--- a/examples/swampd.conf
+++ b/examples/swampd.conf
@@ -75,21 +75,21 @@
)
set-point = 90.0
pid = {
- sampleperiod = 0.1
- p_coefficient = 0.01
- i_coefficient = 0.001
- ff_off_coefficient = 0.0
- ff_gain_coefficient = 0.0
- i_limit = {
+ samplePeriod = 0.1
+ proportionalCoeff = 0.01
+ integralCoeff = 0.001
+ feedFwdOffOffsetCoeff = 0.0
+ feedFwdGainCoeff = 0.0
+ integralCoeff = {
min: 0.0
max: 100.0
}
- out_limit = {
+ outLimit = {
min: 0.0
max: 100.0
}
- slew_neg = 0.0
- slew_pos = 0.0
+ slewNeg = 0.0
+ slewPos = 0.0
}
}
)
diff --git a/pid/builderconfig.cpp b/pid/builderconfig.cpp
index 652724d..732d9fc 100644
--- a/pid/builderconfig.cpp
+++ b/pid/builderconfig.cpp
@@ -102,22 +102,24 @@
/* set-point is only required to be set for thermal. */
/* TODO(venture): Verify this works optionally here. */
info.setpoint = pid.lookup("set-point");
- info.pidInfo.ts = pid.lookup("pid.sampleperiod");
- info.pidInfo.p_c = pid.lookup("pid.p_coefficient");
- info.pidInfo.i_c = pid.lookup("pid.i_coefficient");
- info.pidInfo.ff_off = pid.lookup("pid.ff_off_coefficient");
- info.pidInfo.ff_gain = pid.lookup("pid.ff_gain_coefficient");
- info.pidInfo.i_lim.min = pid.lookup("pid.i_limit.min");
- info.pidInfo.i_lim.max = pid.lookup("pid.i_limit.max");
- info.pidInfo.out_lim.min = pid.lookup("pid.out_limit.min");
- info.pidInfo.out_lim.max = pid.lookup("pid.out_limit.max");
- info.pidInfo.slew_neg = pid.lookup("pid.slew_neg");
- info.pidInfo.slew_pos = pid.lookup("pid.slew_pos");
+ info.pidInfo.ts = pid.lookup("pid.samplePeriod");
+ info.pidInfo.proportionalCoeff =
+ pid.lookup("pid.proportionalCoeff");
+ info.pidInfo.integralCoeff = pid.lookup("pid.integralCoeff");
+ info.pidInfo.feedFwdOffset =
+ pid.lookup("pid.feedFwdOffOffsetCoeff");
+ info.pidInfo.feedFwdGain = pid.lookup("pid.feedFwdGainCoeff");
+ info.pidInfo.integralLimit.min =
+ pid.lookup("pid.integralCoeff.min");
+ info.pidInfo.integralLimit.max =
+ pid.lookup("pid.integralCoeff.max");
+ info.pidInfo.outLim.min = pid.lookup("pid.outLimit.min");
+ info.pidInfo.outLim.max = pid.lookup("pid.outLimit.max");
+ info.pidInfo.slewNeg = pid.lookup("pid.slewNeg");
+ info.pidInfo.slewPos = pid.lookup("pid.slewPos");
- std::cerr << "out_lim.min: " << info.pidInfo.out_lim.min
- << "\n";
- std::cerr << "out_lim.max: " << info.pidInfo.out_lim.max
- << "\n";
+ std::cerr << "outLim.min: " << info.pidInfo.outLim.min << "\n";
+ std::cerr << "outLim.max: " << info.pidInfo.outLim.max << "\n";
const Setting& inputs = pid["inputs"];
int icount = inputs.getLength();
diff --git a/pid/ec/pid.cpp b/pid/ec/pid.cpp
index af70da7..7d8b403 100644
--- a/pid/ec/pid.cpp
+++ b/pid/ec/pid.cpp
@@ -74,7 +74,7 @@
// slew rate
// TODO(aarena) - Simplify logic as Andy suggested by creating dynamic
- // out_lim_min/max that are affected by slew rate control and just clamping
+ // outLim_min/max that are affected by slew rate control and just clamping
// to those instead of effectively clamping twice.
if (pidinfoptr->initialized)
{
diff --git a/pid/ec/pid.hpp b/pid/ec/pid.hpp
index 432e043..74ad5a7 100644
--- a/pid/ec/pid.hpp
+++ b/pid/ec/pid.hpp
@@ -40,15 +40,15 @@
/* Condensed version for use by the configuration. */
struct pidinfo
{
- double ts; // sample time in seconds
- double p_c; // coeff for P
- double i_c; // coeff for I
- double ff_off; // offset coeff for feed-forward term
- double ff_gain; // gain for feed-forward term
- ec::limits_t i_lim; // clamp of integral
- ec::limits_t out_lim; // clamp of output
- double slew_neg;
- double slew_pos;
+ double ts; // sample time in seconds
+ double proportionalCoeff; // coeff for P
+ double integralCoeff; // coeff for I
+ double feedFwdOffset; // offset coeff for feed-forward term
+ double feedFwdGain; // gain for feed-forward term
+ ec::limits_t integralLimit; // clamp of integral
+ ec::limits_t outLim; // clamp of output
+ double slewNeg;
+ double slewPos;
double positiveHysteresis;
double negativeHysteresis;
};
diff --git a/pid/util.cpp b/pid/util.cpp
index 6993fbb..5c6e5d4 100644
--- a/pid/util.cpp
+++ b/pid/util.cpp
@@ -24,32 +24,32 @@
std::memset(info, 0x00, sizeof(ec::pid_info_t));
info->ts = initial.ts;
- info->proportionalCoeff = initial.p_c;
- info->integralCoeff = initial.i_c;
- info->feedFwdOffset = initial.ff_off;
- info->feedFwdGain = initial.ff_gain;
- info->integralLimit.min = initial.i_lim.min;
- info->integralLimit.max = initial.i_lim.max;
- info->outLim.min = initial.out_lim.min;
- info->outLim.max = initial.out_lim.max;
- info->slewNeg = initial.slew_neg;
- info->slewPos = initial.slew_pos;
+ info->proportionalCoeff = initial.proportionalCoeff;
+ info->integralCoeff = initial.integralCoeff;
+ info->feedFwdOffset = initial.feedFwdOffset;
+ info->feedFwdGain = initial.feedFwdGain;
+ info->integralLimit.min = initial.integralLimit.min;
+ info->integralLimit.max = initial.integralLimit.max;
+ info->outLim.min = initial.outLim.min;
+ info->outLim.max = initial.outLim.max;
+ info->slewNeg = initial.slewNeg;
+ info->slewPos = initial.slewPos;
info->negativeHysteresis = initial.negativeHysteresis;
info->positiveHysteresis = initial.positiveHysteresis;
}
void dumpPIDStruct(ec::pid_info_t* info)
{
- std::cerr << " ts: " << info->ts << " p_c: " << info->proportionalCoeff
- << " i_c: " << info->integralCoeff
- << " ff_off: " << info->feedFwdOffset
- << " ff_gain: " << info->feedFwdGain
- << " i_lim.min: " << info->integralLimit.min
- << " i_lim.max: " << info->integralLimit.max
- << " out_lim.min: " << info->outLim.min
- << " out_lim.max: " << info->outLim.max
- << " slew_neg: " << info->slewNeg
- << " slew_pos: " << info->slewPos
+ std::cerr << " ts: " << info->ts
+ << " proportionalCoeff: " << info->proportionalCoeff
+ << " integralCoeff: " << info->integralCoeff
+ << " feedFwdOffset: " << info->feedFwdOffset
+ << " feedFwdGain: " << info->feedFwdGain
+ << " integralLimit.min: " << info->integralLimit.min
+ << " integralLimit.max: " << info->integralLimit.max
+ << " outLim.min: " << info->outLim.min
+ << " outLim.max: " << info->outLim.max
+ << " slewNeg: " << info->slewNeg << " slewPos: " << info->slewPos
<< " last_output: " << info->lastOutput
<< " integral: " << info->integral << std::endl;
diff --git a/scripts/pid-example.txt b/scripts/pid-example.txt
index 3627196..8321b39 100644
--- a/scripts/pid-example.txt
+++ b/scripts/pid-example.txt
@@ -7,18 +7,18 @@
/* For temp/margin PIDs this is the set-point, ignored otherwise (double) */
set-point: 90.0
pid: /* The PID calculation configuration. */
- sampleperiod: 0.1 /* The input sample period. (double) */
- p_coefficient: 0.01 /* The proportional coefficient. (double) */
- i_coefficient: 0.001 /* The integral coefficient. (double) */
+ samplePeriod: 0.1 /* The input sample period. (double) */
+ proportionalCoeff: 0.01 /* The proportional coefficient. (double) */
+ integralCoeff: 0.001 /* The integral coefficient. (double) */
/* The feed-forward offset coefficient. (double) */
- ff_off_coefficient: 0.0
+ feedFwdOffOffsetCoeff: 0.0
/* The feed-forward gain coefficient. (double) */
- ff_gain_coefficient: 0.0
- i_limit: /* The integral limit clamp, min, max (double) */
+ feedFwdGainCoeff: 0.0
+ integralCoeff: /* The integral limit clamp, min, max (double) */
min: 0
max: 100
- out_limit: /* the PID output clamp, min, max (double) */
+ outLimit: /* the PID output clamp, min, max (double) */
min: 0
max: 100
- slew_neg: -100 /* The slew negative value. (double) */
- slew_pos: 0 /* The slew positive value. (double) */
+ slewNeg: -100 /* The slew negative value. (double) */
+ slewPos: 0 /* The slew positive value. (double) */
diff --git a/scripts/pid-example.yaml b/scripts/pid-example.yaml
index ea89b26..f7a4ba3 100644
--- a/scripts/pid-example.yaml
+++ b/scripts/pid-example.yaml
@@ -6,54 +6,54 @@
fan6
set-point: 90.0
pid:
- sampleperiod: 0.1
- p_coefficient: 0.01
- i_coefficient: 0.001
- ff_off_coefficient: 0.0
- ff_gain_coefficient: 0.0
- i_limit:
+ samplePeriod: 0.1
+ proportionalCoeff: 0.01
+ integralCoeff: 0.001
+ feedFwdOffOffsetCoeff: 0.0
+ feedFwdGainCoeff: 0.0
+ integralLimit:
min: 0
max: 100
- out_limit:
+ outLimit:
min: 0
max: 100
- slew_neg: 0
- slew_pos: 0
+ slewNeg: 0
+ slewPos: 0
temp1:
type: temp
inputs:
temp1
set-point: 30.0
pid:
- sampleperiod: 1
- p_coefficient: 94.0
- i_coefficient: 2.0
- ff_off_coefficient: 0.0
- ff_gain_coefficient: 0.0
- i_limit:
+ samplePeriod: 1
+ proportionalCoeff: 94.0
+ integralCoeff: 2.0
+ feedFwdOffOffsetCoeff: 0.0
+ feedFwdGainCoeff: 0.0
+ integralLimit:
min: 3000
max: 10000
- out_limit:
+ outLimit:
min: 3000
max: 10000
- slew_neg: 0
- slew_pos: 0
+ slewNeg: 0
+ slewPos: 0
sluggish0:
type: margin
inputs:
sluggish0
set-point: 50
pid:
- sampleperiod: 1
- p_coefficient: 94.0
- i_coefficient: 2.0
- ff_off_coefficient: 0.0
- ff_gain_coefficient: 0.0
- i_limit:
+ samplePeriod: 1
+ proportionalCoeff: 94.0
+ integralCoeff: 2.0
+ feedFwdOffOffsetCoeff: 0.0
+ feedFwdGainCoeff: 0.0
+ integralLimit:
min: 3000
max: 10000
- out_limit:
+ outLimit:
min: 3000
max: 10000
- slew_neg: 0
- slew_pos: 0
+ slewNeg: 0
+ slewPos: 0
diff --git a/scripts/writepid.mako.cpp b/scripts/writepid.mako.cpp
index 852f4c0..394f326 100644
--- a/scripts/writepid.mako.cpp
+++ b/scripts/writepid.mako.cpp
@@ -36,15 +36,15 @@
pos_hysteresis = details['pid']['pos_hysteresis']
%>
${setpoint},
- {${details['pid']['sampleperiod']},
- ${details['pid']['p_coefficient']},
- ${details['pid']['i_coefficient']},
- ${details['pid']['ff_off_coefficient']},
- ${details['pid']['ff_gain_coefficient']},
- {${details['pid']['i_limit']['min']}, ${details['pid']['i_limit']['max']}},
- {${details['pid']['out_limit']['min']}, ${details['pid']['out_limit']['max']}},
- ${details['pid']['slew_neg']},
- ${details['pid']['slew_pos']},
+ {${details['pid']['samplePeriod']},
+ ${details['pid']['proportionalCoeff']},
+ ${details['pid']['integralCoeff']},
+ ${details['pid']['feedFwdOffOffsetCoeff']},
+ ${details['pid']['feedFwdGainCoeff']},
+ {${details['pid']['integralLimit']['min']}, ${details['pid']['integralLimit']['max']}},
+ {${details['pid']['outLimit']['min']}, ${details['pid']['outLimit']['max']}},
+ ${details['pid']['slewNeg']},
+ ${details['pid']['slewPos']},
${neg_hysteresis},
${pos_hysteresis}},
},