77menuconfig ZIGBEE_MATTER_COEXISTENCE
88 bool "Matter + Zigbee coexistence runtime for combined applications"
99 depends on CHIP && SETTINGS && ZIGBEE_ADD_ON
10- depends on BT && CHIP_ENABLE_PAIRING_AUTOSTART
10+ depends on BT
1111 depends on CHIP_LAST_FABRIC_REMOVED_ERASE_AND_REBOOT
1212 select ZIGBEE_MATTER_PROTOCOL_STATE
1313 default y
@@ -18,15 +18,51 @@ menuconfig ZIGBEE_MATTER_COEXISTENCE
1818 commissioning, and updates the persistent protocol state across
1919 reboots and factory resets.
2020
21- Requires Matter BLE commissioning: the Zigbee worker waits for
22- Matter to start BLE advertising so the buttons library is ready
23- before the sample chains its Zigbee button handler onto it.
24-
25- On last-fabric removal the device reboots and the
26- Zigbee-first boot path restores Zigbee operation.
21+ On last-fabric removal the device reboots and the Zigbee-first boot
22+ path restores Zigbee operation (unless configured otherwise).
2723
2824if ZIGBEE_MATTER_COEXISTENCE
2925
26+ config ZIGBEE_MATTER_COEXISTENCE_CHIP_BLE_WHILE_ZIGBEE
27+ bool "Allow CHIPoBLE commissioning while Zigbee is active"
28+ default y
29+ depends on CHIP_ENABLE_PAIRING_AUTOSTART
30+ help
31+ When enabled, Matter may start BLE commissioning advertising while
32+ the Zigbee stack owns the 802.15.4 radio. The Zigbee worker waits
33+ for the first CHIPoBLE advertising-started event before chaining
34+ sample button handlers and starting Zigbee.
35+
36+ Requires CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART in the application.
37+
38+ When disabled, the sample must call
39+ zigbee_matter_coexistence_signal_matter_board_init() after Matter
40+ server init completes.
41+ The Zigbee worker then proceeds without waiting for Thread
42+ or DNS-SD. Set CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART=n if Matter
43+ commissioning over BLE is not needed until after a protocol switch.
44+
45+ config ZIGBEE_MATTER_COEXISTENCE_BUTTON_SWITCH
46+ bool "Enable user protocol switch on button long press"
47+ default y
48+ help
49+ When enabled, samples may call
50+ zigbee_matter_coexistence_process_switch_button() to switch between
51+ Zigbee and Matter using a long button press.
52+
53+ When disabled, protocol changes rely on Matter commissioning events
54+ and factory reset only.
55+
56+ config ZIGBEE_MATTER_COEXISTENCE_SWITCH_BUTTON_PRESS_TIME_SECONDS
57+ int "Protocol-switch button hold time (seconds)"
58+ depends on ZIGBEE_MATTER_COEXISTENCE_BUTTON_SWITCH
59+ range 1 30
60+ default 5
61+ help
62+ Hold time required when pressing the protocol-switch button.
63+ When the timer expires, the coexistence runtime attempts to switch
64+ to the other protocol unless pairing or commissioning is in progress.
65+
3066config ZIGBEE_MATTER_COEXISTENCE_ZIGBEE_THREAD_STACK_SIZE
3167 int "Zigbee worker thread stack size (bytes)"
3268 default 2048
@@ -43,15 +79,6 @@ config ZIGBEE_MATTER_COEXISTENCE_MATTER_THREAD_PRIORITY
4379 int "Matter worker thread priority"
4480 default 3
4581
46- config ZIGBEE_MATTER_COEXISTENCE_SWITCH_BUTTON_PRESS_TIME_SECONDS
47- int "Protocol-switch button hold time (seconds)"
48- range 1 30
49- default 5
50- help
51- Hold time required when pressing the protocol-switch button.
52- When the timer expires, the coexistence runtime attempts to switch
53- to the other protocol unless pairing or commissioning is in progress.
54-
5582module = ZIGBEE_MATTER_COEXISTENCE
5683module-str = Matter/Zigbee coexistence
5784source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
0 commit comments