如何取消选择一个选项? 例如,以下脚本是我想要实现的:
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__
条件不匹配(从未匹配)。
有更好的主意吗?
答案 0 :(得分:0)
默认和选择可用于实现相同目的
config POWER_PIN_ACTIVE_HIGH
bool
default n
config CAMERA1
select POWER_PIN_ACTIVE_HIGH
config CAMERA2
答案 1 :(得分:0)
最后,我得到了自己的答案:
choice
prompt "Camera type"
default CAMERA1
config CAMERA1
bool "camera1 support"
select POWER_PIN_ACTIVE_HIGH
config CAMERA2
bool "camera2 support"
config CAMERA3
bool "camera3 support"
select POWER_PIN_ACTIVE_HIGH
config CAMERA4
bool "camera4 support"
endchoice
config POWER_PIN_ACTIVE_HIGH
depends on CAMERA1 || CAMERA3
# or, alternatively, we can say depends on !CAMERA2 && !CAMERA4
# Since this shows up only when CAMERA1 || CAMERA2, we don't need help,
# and we don't ask question, just an affirmative statement.
bool "This camera has an active-high power pin."
然而,这个答案Kconfig编写者必须小心以保持一致。另一个缺点是,当选择其中一个低功率引脚照相机时,它不会显示“低有效”状态。
如果没有更好的答案,我将在几天内接受这个答案。