Files
relay_chn/Kconfig
ismail 40633e03d8 Add run limit feature for relay channels with NVS support
- Introduced configuration options for enabling run limits in Kconfig.
- Added APIs to get and set run limits for individual relay channels.
- Implemented run limit timer functionality to automatically stop channels.
- Updated NVS handling to store and retrieve run limit values.
- Enhanced documentation in README and code comments to reflect new feature.

Closes #1080
2025-08-22 12:29:07 +03:00

96 lines
3.2 KiB
Plaintext

menu "Relay Channel Driver Configuration"
config RELAY_CHN_OPPOSITE_INERTIA_MS
int "Inertia time before it runs opposite direction (ms)"
range 200 1500
default 800
help
Time to wait after changing the direction of the output before
starting the output. This is useful for the motors or some other
mechanical actuators to allow them to stop and settle before
changing the direction.
config RELAY_CHN_COUNT
int "Number of relay channels"
range 1 8
default 1
help
Number of relay channels between 1 and 8.
config RELAY_CHN_ENABLE_RUN_LIMIT
bool "Enable run limit for channels"
default n
help
Enable run limit for channels as an extra layer of output protection.
config RELAY_CHN_ENABLE_TILTING
bool "Enable tilting on relay channels"
default n
help
This option controls enabling tilting on channels. Tilting makes
a channel move with a specific pattern moving with small steps
at a time. Tilting is specifically designed for controlling some
types of curtains that need to be adjusted to let enter specific
amount of day light.
config RELAY_CHN_ENABLE_NVS
bool "Enable persistent NVS storage for relay channel"
default n
help
If enabled, relay channel configuration will be stored in NVS.
endmenu
menu "Relay Channel NVS Storage Configuration"
depends on RELAY_CHN_ENABLE_NVS
config RELAY_CHN_NVS_NAMESPACE
string "NVS namespace for relay channel storage"
default "relay_chn"
help
The NVS namespace used for storing relay channel configuration.
This should be unique to avoid conflicts with other components.
config RELAY_CHN_NVS_CUSTOM_PARTITION
bool "Use custom NVS partition for relay channel storage"
default n
help
If enabled, a custom NVS partition will be used for storing
relay channel configuration. If disabled, the default NVS
partition will be used.
config RELAY_CHN_NVS_CUSTOM_PARTITION_NAME
string "Custom NVS partition name"
depends on RELAY_CHN_NVS_CUSTOM_PARTITION
default "app_data"
help
The name of the custom NVS partition used for storing relay channel
configuration. Make sure the name is exactly the same as label defined
in the relevant partition table.
endmenu
menu "Relay Channel Run Limit Configuration"
depends on RELAY_CHN_ENABLE_RUN_LIMIT
config RELAY_CHN_RUN_LIMIT_MIN_SEC
int "Minimum run limit in seconds"
range 1 60
default 10
help
Minimum run limit in seconds for channels.
config RELAY_CHN_RUN_LIMIT_MAX_SEC
int "Maximum run limit in seconds"
range 60 3600
default 600
help
Maximum run limit in seconds for channels.
config RELAY_CHN_RUN_LIMIT_DEFAULT_SEC
int "Default run limit in seconds"
range 10 3600
default 60
help
Default run limit in seconds for channels.
endmenu