1menu "OpenThread"
2
3    config OPENTHREAD_ENABLED
4        bool "OpenThread"
5        default n
6        help
7            Select this option to enable OpenThread and show the submenu with OpenThread configuration choices.
8
9    choice OPENTHREAD_RADIO_TYPE
10        prompt "Config the Thread radio type"
11        depends on OPENTHREAD_ENABLED
12        default OPENTHREAD_RADIO_NATIVE if IDF_TARGET_ESP32H2
13        default OPENTHREAD_RADIO_SPINEL_UART
14        help
15            Configure how OpenThread connects to the 15.4 radio
16
17        config OPENTHREAD_RADIO_NATIVE
18            bool "Native 15.4 radio"
19            help
20                Select this to use the native 15.4 radio.
21
22        config OPENTHREAD_RADIO_SPINEL_UART
23            bool "Connect via UART"
24            help
25                Select this to connect to a Radio Co-Processor via UART.
26    endchoice
27
28    choice OPENTHREAD_DEVICE_TYPE
29        prompt "Config the Thread device type"
30        depends on OPENTHREAD_ENABLED
31        default OPENTHREAD_FTD
32        help
33            OpenThread can be configured to different device types (FTD, MTD, Radio)
34
35        config OPENTHREAD_FTD
36            bool "Full Thread Device"
37            help
38                Select this to enable Full Thread Device which can act as router and leader in a Thread network.
39
40        config OPENTHREAD_MTD
41            bool "Minimal Thread Device"
42            help
43                Select this to enable Minimal Thread Device which can only act as end device in a Thread network.
44                This will reduce the code size of the OpenThread stack.
45
46        config OPENTHREAD_RADIO
47            bool "Radio Only Device"
48            help
49                Select this to enable Radio Only Device which cannot can only forward 15.4 packets to the host.
50                The OpenThread stack will be run on the host and OpenThread will have minimal footprint on the
51                radio only device.
52    endchoice
53
54    config OPENTHREAD_DIAG
55        bool "Enable diag"
56        depends on OPENTHREAD_ENABLED
57        default y
58        help
59            Select this option to enable Diag in OpenThread. This will enable diag mode and a series of diag commands
60            in the OpenThread command line. These commands allow users to manipulate low-level features of the storage
61            and 15.4 radio.
62
63    config OPENTHREAD_COMMISSIONER
64        bool "Enable Commissioner"
65        depends on OPENTHREAD_ENABLED
66        default n
67        help
68            Select this option to enable commissioner in OpenThread. This will enable the device to act as a
69            commissioner in the Thread network. A commissioner checks the pre-shared key from a joining device with
70            the Thread commissioning protocol and shares the network parameter with the joining device upon success.
71
72    config OPENTHREAD_JOINER
73        bool "Enable Joiner"
74        depends on OPENTHREAD_ENABLED
75        default n
76        help
77            Select this option to enable Joiner in OpenThread. This allows a device to join the Thread network with a
78            pre-shared key using the Thread commissioning protocol.
79
80    config OPENTHREAD_SRP_CLIENT
81        bool "Enable SRP Client"
82        depends on OPENTHREAD_ENABLED
83        default n
84        help
85            Select this option to enable SRP Client in OpenThread. This allows a device to register SRP services to SRP
86            Server.
87
88    config OPENTHREAD_BORDER_ROUTER
89        bool "Enable Border Router"
90        depends on OPENTHREAD_ENABLED
91        default n
92        help
93            Select this option to enable border router features in OpenThread.
94
95    config OPENTHREAD_ESP_LIB_FROM_INTERNAL_SRC
96        bool "Build esp_openthread libraries from source"
97        depends on OPENTHREAD_ENABLED
98        default n
99        help
100            Override the shipped libopenthread_br.a and libopenthread_port.a, for internal builds.
101
102    config OPENTHREAD_NUM_MESSAGE_BUFFERS
103        int "The number of openthread message buffers"
104        depends on OPENTHREAD_ENABLED
105        default 65
106        range 50 100
107
108endmenu
109