Add single channel mode feature.

The addition of a single-channel mode implied further modularisation of the component. This commit has broken the component down into the following modules to avoid a huge single source file and to make unit testing easier.

The modules:

- Separation of public and private code
- *types and *defs
- public relay_chn API
- *adapter
- *output
- *run_info
- *core
- *ctl (control)
- *tilt

Closes #957.
This commit is contained in:
2025-08-13 17:53:27 +03:00
parent 22668b6759
commit 61f8ed440e
17 changed files with 2453 additions and 1472 deletions

21
.vscode/settings.json vendored
View File

@@ -1,6 +1,23 @@
{
"files.associations": {
"relay_chn.h": "c"
"relay_chn.h": "c",
"stdlib.h": "c",
"cstdint": "c",
"relay_chn_run_info.h": "c",
"esp_err.h": "c",
"relay_chn_output.h": "c",
"relay_chn_core.h": "c",
"relay_chn_ctl.h": "c",
"relay_chn_tilt.h": "c",
"relay_chn_defs.h": "c",
"esp_check.h": "c",
"esp_event_base.h": "c",
"esp_event.h": "c",
"queue.h": "c",
"relay_chn_priv_types.h": "c",
"relay_chn_adapter.h": "c",
"relay_chn_types.h": "c"
},
"idf.port": "/dev/ttyUSB0"
"idf.port": "/dev/ttyUSB0",
"idf.pythonInstallPath": "/usr/bin/python"
}