Konfiguration¶
LrPy konfigureras med en YAML-fil som anger vilka moduler som ska köras och hur de ska konfigureras. Programmet startas med:
uv run python -m lrpy run config.yaml
Struktur¶
En komplett konfigurationsfil ser ut så här:
commod:
type: "lrpy.com_module:StdComModule"
config:
modules:
- type: "lrpy.modules.i2c:I2CModule"
config:
bridge-path: "/usr/local/bin/bridge"
device-path: "/dev/i2c-1"
mcu-address: 8
- type: "lrpy.modules.api:ApiModule"
logging:
outputs:
- file: "debug.log"
level: "DEBUG"
- file: "error.log"
level: "ERROR"
commod¶
Anger vilken kommunikationsmodul som ska användas. I de flesta fall ska detta vara lrpy.com_module:StdComModule.
Under config.modules listas alla moduler som ska köras. Varje modul anges med type (se Loader för
formatet) och ett valfritt config-block.
logging (valfritt)¶
Konfigurerar loggning till fil. Varje output anger en fil och en lägsta loggnivå. Tillgängliga nivåer:
DEBUG, INFO, WARNING, ERROR.
Om logging utelämnas sker ingen filloggning.
Modulkonfiguration¶
Varje modul i listan kan ha ett config-block. Värdena i blocket mappas till modulens Config-klass
(se Modul och Loader).
En modul utan Config-klass behöver inget config-block:
- type: "lrpy.modules.api:ApiModule"
En modul med Config-klass:
- type: "lrpy.modules.i2c:I2CModule"
config:
bridge-path: "/usr/local/bin/bridge"
device-path: "/dev/i2c-1"
mcu-address: 8
Om config anges för en modul som inte definierar en Config-klass ges ett felmeddelande vid uppstart.