rule

Description

A rule is a sequence of actions that can be shared by multiple regulators in the config file. Rules define a standard way to perform an operation. Rules are used to minimize duplication in the config file.

For example, the following action sequences might be sharable using a rule:

  • Actions that set the output voltage of a regulator rail
  • Actions that read all the sensors of a regulator rail
  • Actions that detect down-level hardware using version registers
  • Actions that detect phase faults

Properties

NameRequiredTypeDescription
commentsnoarray of stringsOne or more comment lines describing this rule.
idyesstringUnique ID for this rule. Can only contain letters (A-Z, a-z), numbers (0-9), and underscore (_).
actionsyesarray of actionsOne or more actions to execute.

Return Value

Return value of the last action in the "actions" property.

Example

{
  "comments": [ "Sets output voltage of PAGE 0 of a PMBus regulator" ],
  "id": "set_page0_voltage_rule",
  "actions": [
    { "i2c_write_byte": { "register": "0x00", "value": "0x00" } },
    { "pmbus_write_vout_command": { "format": "linear" } }
  ]
}

... later in the config file ...

"configuration": {
  "volts": 1.03,
  "rule_id": "set_page0_voltage_rule"
}