feat(settings): add modbus and relay configuration structs

Add ModbusSettings with host, port, slave_id, and timeout_secs fields.
Add RelaySettings with label_max_length field.
Integrate both into Settings struct and load from settings/base.yaml
with test Modbus TCP configuration.

Ref: T003 (specs/001-modbus-relay-control)
This commit is contained in:
2026-01-01 14:54:35 +01:00
parent 9bae638bd2
commit 10f31ea90d
4 changed files with 65 additions and 5 deletions

View File

@@ -22,16 +22,16 @@
- **Test**: Module declarations compile without errors
- **Complexity**: Low | **Uncertainty**: Low
- [ ] **T003** [P] [Setup] [TDD] Update settings.rs with Modbus configuration
- [x] **T003** [P] [Setup] [TDD] Update settings.rs with Modbus configuration
- Add ModbusSettings struct with `host`, `port`, `slave_id`, `timeout_secs` fields
- Add RelaySettings struct with `label_max_length` field
- Update Settings struct to include modbus and relay fields
- **Test**: Settings loads from settings/base.yaml with test Modbus config
- **Complexity**: Low | **Uncertainty**: Low
- [ ] **T004** [P] [Setup] [TDD] Create settings/base.yaml with Modbus defaults
- Add modbus section: host: "192.168.0.200", port: 502, slave_id: 0, timeout_secs: 5
- Add relay section: label_max_length: 8
- [x] **T004** [P] [Setup] [TDD] Create settings/base.yaml with Modbus defaults
- Add modbus section: `host: "192.168.0.200"`, `port: 502`, `slave_id: 0`, `timeout_secs: 5`
- Add relay section: `label_max_length: 8`
- **Test**: Settings::new() loads config without errors
- **Complexity**: Low | **Uncertainty**: Low