Skip to content

Commit ba754d7

Browse files
authored
Merge branch 'master' into docs/openthread_documentation
2 parents 7ecfa05 + a58b6c6 commit ba754d7

File tree

43 files changed

+617
-289
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+617
-289
lines changed

.github/scripts/get_affected.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,19 @@ def find_affected_sketches(changed_files: list[str]) -> None:
790790
print(f"Total affected sketches: {len(affected_sketches)}", file=sys.stderr)
791791
return
792792

793+
# For component mode: if any *source code* file (not example or documentation) changed, recompile all examples
794+
if component_mode:
795+
for file in changed_files:
796+
if (is_source_file(file) or is_header_file(file)) and not file.endswith(".ino"):
797+
if file.startswith("cores/") or file.startswith("libraries/"):
798+
print("Component mode: file changed in cores/ or libraries/ - recompiling all IDF component examples", file=sys.stderr)
799+
all_examples = list_idf_component_examples()
800+
for example in all_examples:
801+
if example not in affected_sketches:
802+
affected_sketches.append(example)
803+
print(f"Total affected IDF component examples: {len(affected_sketches)}", file=sys.stderr)
804+
return
805+
793806
preprocess_changed_files(changed_files)
794807

795808
# Normal dependency-based analysis for non-critical changes

Kconfig.projbuild

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,12 @@ config ARDUINO_UDP_TASK_PRIORITY
147147
help
148148
Select at what priority you want the UDP task to run.
149149

150+
config ARDUINO_UDP_TASK_STACK_SIZE
151+
int "UDP task stack size"
152+
default 4096
153+
help
154+
Amount of stack available for the UDP task.
155+
150156
config ARDUINO_ISR_IRAM
151157
bool "Run interrupts in IRAM"
152158
default "n"

docs/_static/chatbot_widget.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#kapa-widget-container {
2+
z-index: 10000 !important;
3+
position: absolute !important;
4+
}
5+
6+
.mantine-Modal-root {
7+
z-index: 10000;
8+
position: absolute;
9+
}

docs/_static/chatbot_widget_en.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
document.addEventListener("DOMContentLoaded", function () {
2+
var script = document.createElement("script");
3+
script.src = "https://widget.kapa.ai/kapa-widget.bundle.js";
4+
script.setAttribute("data-bot-protection-mechanism", "hcaptcha");
5+
script.setAttribute("data-website-id", "f67ff377-ba84-4009-aceb-5e582755abad");
6+
script.setAttribute("data-project-name", "ESP32 Arduino Core Documentation");
7+
script.setAttribute("data-project-color", "#C62817");
8+
script.setAttribute("data-project-logo", "https://dl.espressif.com/public/logo.png");
9+
script.setAttribute("data-button-image", "https://dl.espressif.com/chatbot/Chatbot.png");
10+
script.setAttribute("data-button-text-font-size", "0px");
11+
script.setAttribute("data-button-border-radius", "50%");
12+
script.setAttribute("data-button-bg-color", "#38393a");
13+
script.setAttribute("data-button-border", "#38393a");
14+
script.setAttribute("data-button-height", "45px");
15+
script.setAttribute("data-button-width", "45px");
16+
script.setAttribute("data-button-animation-enabled", "false");
17+
script.setAttribute("data-button-image-height", "100%");
18+
script.setAttribute("data-button-image-width", "100%");
19+
script.setAttribute("data-button-padding", "0");
20+
script.setAttribute("data-button-hover-animation-enabled", "false");
21+
script.setAttribute("data-button-position-top", "50px");
22+
script.setAttribute("data-button-position-left", "305px");
23+
script.setAttribute("data-button-box-shadow", "0px 6px 12px 1px rgba(0,0,0,0.16)");
24+
script.setAttribute("data-modal-override-open-class", "test-ai");
25+
script.setAttribute("data-user-analytics-fingerprint-enabled", "true");
26+
script.setAttribute("data-modal-disclaimer", "This custom large language model (LLM), trained on official documentation from espressif.com, is designed to provide technical support and answers related to Espressif’s products and services. Give it a try, share your thoughts, and let us know your feedback—we truly appreciate it! \n\n**Note**: AI-generated information may be incomplete or inaccurate. Always verify critical information with official sources.");
27+
script.setAttribute("data-modal-example-questions", "What is the ESP32 Arduino Core?,How do I get started with the ESP32 Arduino Core?");
28+
script.async = true;
29+
document.head.appendChild(script);
30+
});

docs/conf_common.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828

2929
html_static_path = ["../_static"]
3030

31+
html_js_files = ["../_static/chatbot_widget_en.js"]
32+
html_css_files = ["../_static/chatbot_widget.css"]
33+
3134
# Conditional content
3235

3336
extensions += [ # noqa: F405

docs/en/zigbee/ep_contact_switch.rst

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,17 @@ Sets the contact switch to open state.
6363
6464
This function will return ``true`` if successful, ``false`` otherwise.
6565

66+
report
67+
^^^^^^
68+
69+
Manually reports the current contact state.
70+
71+
.. code-block:: arduino
72+
73+
bool report();
74+
75+
This function will return ``true`` if successful, ``false`` otherwise.
76+
6677
setIASClientEndpoint
6778
^^^^^^^^^^^^^^^^^^^^
6879

@@ -74,16 +85,38 @@ Sets the IAS Client endpoint number (default is 1).
7485
7586
* ``ep_number`` - IAS Client endpoint number
7687

77-
report
78-
^^^^^^
88+
requestIASZoneEnroll
89+
^^^^^^^^^^^^^^^^^^^^
7990

80-
Manually reports the current contact state.
91+
Requests a new IAS Zone enrollment. Can be called to enroll a new device or to re-enroll an already enrolled device.
8192

8293
.. code-block:: arduino
8394
84-
bool report();
95+
bool requestIASZoneEnroll();
8596
86-
This function will return ``true`` if successful, ``false`` otherwise.
97+
This function will return ``true`` if the enrollment request was sent successfully, ``false`` otherwise. The actual enrollment status should be checked using the ``enrolled()`` method after waiting for the enrollment response.
98+
99+
restoreIASZoneEnroll
100+
^^^^^^^^^^^^^^^^^^^^
101+
102+
Restores IAS Zone enrollment from stored attributes. This method should be called after rebooting an already enrolled device. It restores the enrollment information from flash memory, which is faster for sleepy devices compared to requesting a new enrollment.
103+
104+
.. code-block:: arduino
105+
106+
bool restoreIASZoneEnroll();
107+
108+
This function will return ``true`` if the enrollment was successfully restored, ``false`` otherwise. The enrollment information (zone ID and IAS CIE address) must be available in the device's stored attributes for this to succeed.
109+
110+
enrolled
111+
^^^^^^^^
112+
113+
Checks if the device is currently enrolled in the IAS Zone.
114+
115+
.. code-block:: arduino
116+
117+
bool enrolled();
118+
119+
This function returns ``true`` if the device is enrolled, ``false`` otherwise. Use this method to check the enrollment status after calling ``requestIASZoneEnroll()`` or ``restoreIASZoneEnroll()``.
87120

88121
Example
89122
-------

docs/en/zigbee/ep_door_window_handle.rst

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,17 @@ Sets the door/window handle to tilted position.
6767
6868
This function will return ``true`` if successful, ``false`` otherwise.
6969

70+
report
71+
^^^^^^
72+
73+
Manually reports the current handle position.
74+
75+
.. code-block:: arduino
76+
77+
bool report();
78+
79+
This function will return ``true`` if successful, ``false`` otherwise.
80+
7081
setIASClientEndpoint
7182
^^^^^^^^^^^^^^^^^^^^
7283

@@ -78,16 +89,38 @@ Sets the IAS Client endpoint number (default is 1).
7889
7990
* ``ep_number`` - IAS Client endpoint number
8091

81-
report
82-
^^^^^^
92+
requestIASZoneEnroll
93+
^^^^^^^^^^^^^^^^^^^^
8394

84-
Manually reports the current handle position.
95+
Requests a new IAS Zone enrollment. Can be called to enroll a new device or to re-enroll an already enrolled device.
8596

8697
.. code-block:: arduino
8798
88-
bool report();
99+
bool requestIASZoneEnroll();
89100
90-
This function will return ``true`` if successful, ``false`` otherwise.
101+
This function will return ``true`` if the enrollment request was sent successfully, ``false`` otherwise. The actual enrollment status should be checked using the ``enrolled()`` method after waiting for the enrollment response.
102+
103+
restoreIASZoneEnroll
104+
^^^^^^^^^^^^^^^^^^^^
105+
106+
Restores IAS Zone enrollment from stored attributes. This method should be called after rebooting an already enrolled device. It restores the enrollment information from flash memory, which is faster for sleepy devices compared to requesting a new enrollment.
107+
108+
.. code-block:: arduino
109+
110+
bool restoreIASZoneEnroll();
111+
112+
This function will return ``true`` if the enrollment was successfully restored, ``false`` otherwise. The enrollment information (zone ID and IAS CIE address) must be available in the device's stored attributes for this to succeed.
113+
114+
enrolled
115+
^^^^^^^^
116+
117+
Checks if the device is currently enrolled in the IAS Zone.
118+
119+
.. code-block:: arduino
120+
121+
bool enrolled();
122+
123+
This function returns ``true`` if the device is enrolled, ``false`` otherwise. Use this method to check the enrollment status after calling ``requestIASZoneEnroll()`` or ``restoreIASZoneEnroll()``.
91124

92125
Example
93126
-------

docs/en/zigbee/ep_vibration_sensor.rst

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,42 @@ Manually reports the current vibration state.
7373

7474
.. code-block:: arduino
7575
76-
void report();
76+
bool report();
7777
78-
This function does not return a value.
78+
This function will return ``true`` if successful, ``false`` otherwise.
79+
80+
requestIASZoneEnroll
81+
^^^^^^^^^^^^^^^^^^^^
82+
83+
Requests a new IAS Zone enrollment. Can be called to enroll a new device or to re-enroll an already enrolled device.
84+
85+
.. code-block:: arduino
86+
87+
bool requestIASZoneEnroll();
88+
89+
This function will return ``true`` if the enrollment request was sent successfully, ``false`` otherwise. The actual enrollment status should be checked using the ``enrolled()`` method after waiting for the enrollment response.
90+
91+
restoreIASZoneEnroll
92+
^^^^^^^^^^^^^^^^^^^^
93+
94+
Restores IAS Zone enrollment from stored attributes. This method should be called after rebooting an already enrolled device. It restores the enrollment information from flash memory, which is faster for sleepy devices compared to requesting a new enrollment.
95+
96+
.. code-block:: arduino
97+
98+
bool restoreIASZoneEnroll();
99+
100+
This function will return ``true`` if the enrollment was successfully restored, ``false`` otherwise. The enrollment information (zone ID and IAS CIE address) must be available in the device's stored attributes for this to succeed.
101+
102+
enrolled
103+
^^^^^^^^
104+
105+
Checks if the device is currently enrolled in the IAS Zone.
106+
107+
.. code-block:: arduino
108+
109+
bool enrolled();
110+
111+
This function returns ``true`` if the device is enrolled, ``false`` otherwise. Use this method to check the enrollment status after calling ``requestIASZoneEnroll()`` or ``restoreIASZoneEnroll()``.
79112

80113
Example
81114
-------

libraries/AsyncUDP/src/AsyncUDP.cpp

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,27 @@ extern "C" {
1515

1616
#include "lwip/priv/tcpip_priv.h"
1717

18+
#ifndef CONFIG_ARDUINO_UDP_TASK_STACK_SIZE
19+
#define CONFIG_ARDUINO_UDP_TASK_STACK_SIZE 4096
20+
#endif
21+
#ifndef ARDUINO_UDP_TASK_STACK_SIZE
22+
#define ARDUINO_UDP_TASK_STACK_SIZE CONFIG_ARDUINO_UDP_TASK_STACK_SIZE
23+
#endif
24+
25+
#ifndef CONFIG_ARDUINO_UDP_TASK_PRIORITY
26+
#define CONFIG_ARDUINO_UDP_TASK_PRIORITY 3
27+
#endif
28+
#ifndef ARDUINO_UDP_TASK_PRIORITY
29+
#define ARDUINO_UDP_TASK_PRIORITY CONFIG_ARDUINO_UDP_TASK_PRIORITY
30+
#endif
31+
32+
#ifndef CONFIG_ARDUINO_UDP_RUNNING_CORE
33+
#define CONFIG_ARDUINO_UDP_RUNNING_CORE -1
34+
#endif
35+
#ifndef ARDUINO_UDP_RUNNING_CORE
36+
#define ARDUINO_UDP_RUNNING_CORE CONFIG_ARDUINO_UDP_RUNNING_CORE
37+
#endif
38+
1839
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
1940
#define UDP_MUTEX_LOCK() \
2041
if (!sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) { \
@@ -189,7 +210,7 @@ static bool _udp_task_start() {
189210
}
190211
if (!_udp_task_handle) {
191212
xTaskCreateUniversal(
192-
_udp_task, "async_udp", 4096, NULL, CONFIG_ARDUINO_UDP_TASK_PRIORITY, (TaskHandle_t *)&_udp_task_handle, CONFIG_ARDUINO_UDP_RUNNING_CORE
213+
_udp_task, "async_udp", ARDUINO_UDP_TASK_STACK_SIZE, NULL, ARDUINO_UDP_TASK_PRIORITY, (TaskHandle_t *)&_udp_task_handle, ARDUINO_UDP_RUNNING_CORE
193214
);
194215
if (!_udp_task_handle) {
195216
return false;

libraries/BLE/src/BLEDevice.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ int BLEDevice::getPower(esp_ble_power_type_t powerType) {
464464
case ESP_PWR_LVL_N12: return -12;
465465
case ESP_PWR_LVL_N9: return -9;
466466
case ESP_PWR_LVL_N6: return -6;
467-
case ESP_PWR_LVL_N3: return -6;
467+
case ESP_PWR_LVL_N3: return -3;
468468
case ESP_PWR_LVL_N0: return 0;
469469
case ESP_PWR_LVL_P3: return 3;
470470
case ESP_PWR_LVL_P6: return 6;

0 commit comments

Comments
 (0)