Power-control lexicon: adjust/trim/set, feedback variants, cmd, led, ref

ADJ/ADJUST/VADJ/TRIM, MARG/MARGIN, SET/VSET/ISET (regulator set-point),
FBK/FDB/VFB (feedback variants), CMD, LED (indicator drive), REF/VREF.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-04 16:46:29 +02:00
parent 1943f1f88a
commit e914c84c18
2 changed files with 18 additions and 2 deletions

View File

@@ -48,7 +48,8 @@ namespace {
// SENSOR never trip on EN / SENSE.
const char *const kPowerControlTokens[] = {
"SENSE", "SNS", "KELVIN", // remote / Kelvin sense
"FB", "FDBK", "FEEDBACK", // regulator feedback
"FB", "FBK", "FDB", "FDBK", "VFB", // regulator feedback
"FEEDBACK",
"EN", "ENA", "ENABLE", "INH", "INHIBIT", // enable / inhibit
"PG", "PGOOD", "PWRGD", "PWROK", // power-good
"GOOD", "OK", "FAIL", "FAULT", "FLT", // status / fault
@@ -57,9 +58,14 @@ const char *const kPowerControlTokens[] = {
"DET", "DETECT", "PRSNT", "PRESENT", // presence detection
"OC", "OCP", "OV", "OVP", "UV", "UVP", // protection trips
"TRIP", "SHDN", "SHUTDOWN",
"SEQ", "CTRL", "CTL", // sequencing / control
"ADJ", "ADJUST", "VADJ", "TRIM", // regulator adjust / trim
"MARG", "MARGIN", // voltage margining
"SET", "VSET", "ISET", // set-point pins
"SEQ", "CTRL", "CTL", "CMD", // sequencing / control / command
"STAT", "STATUS",
"ON", "OFF", "BTN", // on/off request
"REF", "VREF", // voltage reference
"LED", // indicator drive
"CS", "IRQ",
};

View File

@@ -75,6 +75,16 @@ TEST_CASE("classify_signal_name: rail vs power-adjacent control signals") {
CHECK(classify_signal_name("POWER_FAIL").verdict == NameVerdict::PowerAdjacent);
CHECK(classify_signal_name("VDD_VSENSE").verdict == NameVerdict::PowerAdjacent); // fused suffix
CHECK(classify_signal_name("PWR_NFAULT").verdict == NameVerdict::PowerAdjacent); // active-low
CHECK(classify_signal_name("VDD_ADJ").verdict == NameVerdict::PowerAdjacent); // regulator adjust
CHECK(classify_signal_name("VCC_TRIM").verdict == NameVerdict::PowerAdjacent);
CHECK(classify_signal_name("VDD_VTRIM").verdict == NameVerdict::PowerAdjacent); // fused suffix
CHECK(classify_signal_name("VCC_VSET").verdict == NameVerdict::PowerAdjacent);
CHECK(classify_signal_name("VCC_FBK").verdict == NameVerdict::PowerAdjacent); // feedback variants
CHECK(classify_signal_name("VDD_FDB").verdict == NameVerdict::PowerAdjacent);
CHECK(classify_signal_name("PWR_CMD").verdict == NameVerdict::PowerAdjacent); // command
CHECK(classify_signal_name("PWR_LED").verdict == NameVerdict::PowerAdjacent); // indicator
CHECK(classify_signal_name("VDD_REF").verdict == NameVerdict::PowerAdjacent); // reference
CHECK(classify_signal_name("VCC_VREF").verdict == NameVerdict::PowerAdjacent);
// Whole-token matching: SENSOR is not SENSE, GREEN is not EN —
// these stay genuine rails.