Как отменить выбор опции?
Например, я хочу добиться следующего сценария:
choice
prompt "Camera type"
default CAMERA1
config CAMERA1
select POWER_PIN_ACTIVE_HIGH
config CAMERA2
deselect POWER_PIN_ACTIVE_HIGH
config CAMERA3
select POWER_PIN_ACTIVE_HIGH
endchoice
config POWER_PIN_ACTIVE_HIGH
bool "Power pin is high active?"
help Say 'y' if the power pin is high active, 'n' if low active.
По-видимому, нет команды de-select
или даже select XXXX = n
.
Как мне добиться эффекта или других способов достижения цели сценария?
Кроме того, я хочу скрыть параметр POWER_PIN_ACTIVE_HIGH
. Он должен автоматически выбираться / отменяться при выборе типа камеры.
- Обновление -
Я попробовал это по-другому. Это работает, но Makefile
дает мне выбор силы: POWER_PIN_ACTIVE_HIGH
предупреждение:
choice
prompt "Camera type"
default CAMERA1
config CAMERA1
select POWER_PIN_ACTIVE_HIGH
config CAMERA2
deselect POWER_PIN_ACTIVE_HIGH
config CAMERA3
select POWER_PIN_ACTIVE_HIGH
endchoice
config POWER_PIN_ACTIVE_HIGH
depends on __HIDDEN_OPTION__
bool "Power pin is high active?"
help Say 'y' if the power pin is high active, 'n' if low active.
Сценарий работает, так как __HIDDEN_OPTION__
никогда не является параметром конфигурации, и поэтому он вызывает сбой зависимости для всех случаев. Только эта принудительная команда select
может переопределить ее и выбрать конфигурацию. Хотя Makefile
выдает предупреждение, из-за несоответствия (никогда не сопоставления) __HIDDEN_OPTION__
условия.
Есть идея получше?