1menu "ESP-MQTT Configurations"
2
3    config MQTT_PROTOCOL_311
4        bool "Enable MQTT protocol 3.1.1"
5        default y
6        help
7            If not, this library will use MQTT protocol 3.1
8
9    config MQTT_TRANSPORT_SSL
10        bool "Enable MQTT over SSL"
11        default y
12        help
13            Enable MQTT transport over SSL with mbedtls
14
15    config MQTT_TRANSPORT_WEBSOCKET
16        bool "Enable MQTT over Websocket"
17        default y
18        depends on WS_TRANSPORT
19        help
20            Enable MQTT transport over Websocket.
21
22    config MQTT_TRANSPORT_WEBSOCKET_SECURE
23        bool "Enable MQTT over Websocket Secure"
24        default y
25        depends on MQTT_TRANSPORT_WEBSOCKET
26        depends on MQTT_TRANSPORT_SSL
27        help
28            Enable MQTT transport over Websocket Secure.
29
30    config MQTT_MSG_ID_INCREMENTAL
31        bool "Use Incremental Message Id"
32        default n
33        help
34            Set this to true for the message id (2.3.1 Packet Identifier) to be generated
35            as an incremental number rather then a random value (used by default)
36
37    config MQTT_SKIP_PUBLISH_IF_DISCONNECTED
38        bool "Skip publish if disconnected"
39        default n
40        help
41            Set this to true to avoid publishing (enqueueing messages) if the client is disconnected.
42            The MQTT client tries to publish all messages by default, even in the disconnected state
43            (where the qos1 and qos2 packets are stored in the internal outbox to be published later)
44            The MQTT_SKIP_PUBLISH_IF_DISCONNECTED option allows applications to override this behaviour
45            and not enqueue publish packets in the disconnected state.
46
47    config MQTT_REPORT_DELETED_MESSAGES
48        bool "Report deleted messages"
49        default n
50        help
51            Set this to true to post events for all messages which were deleted from the outbox
52            before being correctly sent and confirmed.
53
54    config MQTT_USE_CUSTOM_CONFIG
55        bool "MQTT Using custom configurations"
56        default n
57        help
58            Custom MQTT configurations.
59
60    config MQTT_TCP_DEFAULT_PORT
61        int "Default MQTT over TCP port"
62        default 1883
63        depends on MQTT_USE_CUSTOM_CONFIG
64        help
65            Default MQTT over TCP port
66
67    config MQTT_SSL_DEFAULT_PORT
68        int "Default MQTT over SSL port"
69        default 8883
70        depends on MQTT_USE_CUSTOM_CONFIG
71        depends on MQTT_TRANSPORT_SSL
72        help
73            Default MQTT over SSL port
74
75    config MQTT_WS_DEFAULT_PORT
76        int "Default MQTT over Websocket port"
77        default 80
78        depends on MQTT_USE_CUSTOM_CONFIG
79        depends on MQTT_TRANSPORT_WEBSOCKET
80        help
81            Default MQTT over Websocket port
82
83    config MQTT_WSS_DEFAULT_PORT
84        int "Default MQTT over Websocket Secure port"
85        default 443
86        depends on MQTT_USE_CUSTOM_CONFIG
87        depends on MQTT_TRANSPORT_WEBSOCKET
88        depends on MQTT_TRANSPORT_WEBSOCKET_SECURE
89        help
90            Default MQTT over Websocket Secure port
91
92    config MQTT_BUFFER_SIZE
93        int "Default MQTT Buffer Size"
94        default 1024
95        depends on MQTT_USE_CUSTOM_CONFIG
96        help
97            This buffer size using for both transmit and receive
98
99    config MQTT_TASK_STACK_SIZE
100        int "MQTT task stack size"
101        default 6144
102        depends on MQTT_USE_CUSTOM_CONFIG
103        help
104            MQTT task stack size
105
106    config MQTT_DISABLE_API_LOCKS
107        bool "Disable API locks"
108        default n
109        depends on MQTT_USE_CUSTOM_CONFIG
110        help
111            Default config employs API locks to protect internal structures. It is possible to disable
112            these locks if the user code doesn't access MQTT API from multiple concurrent tasks
113
114    config MQTT_TASK_PRIORITY
115        int "MQTT task priority"
116        default 5
117        depends on MQTT_USE_CUSTOM_CONFIG
118        help
119            MQTT task priority. Higher number denotes higher priority.
120
121    config MQTT_TASK_CORE_SELECTION_ENABLED
122        bool "Enable MQTT task core selection"
123        default false
124        help
125            This will enable core selection
126
127    choice MQTT_TASK_CORE_SELECTION
128        depends on MQTT_TASK_CORE_SELECTION_ENABLED
129        prompt "Core to use ?"
130        config MQTT_USE_CORE_0
131            bool "Core 0"
132        config MQTT_USE_CORE_1
133            bool "Core 1"
134    endchoice
135
136    config MQTT_CUSTOM_OUTBOX
137        bool "Enable custom outbox implementation"
138        default n
139        help
140            Set to true if a specific implementation of message outbox is needed (e.g. persistant outbox in NVM or
141            similar).
142
143    config MQTT_OUTBOX_EXPIRED_TIMEOUT_MS
144        int "Outbox message expired timeout[ms]"
145        default 30000
146        depends on MQTT_USE_CUSTOM_CONFIG
147        help
148            Messages which stays in the outbox longer than this value before being published will be discarded.
149
150endmenu
151