Skip to content

Commit 50e3404

Browse files
authored
Merge branch 'master' into docs/openthread_examples_readme
2 parents 46585f3 + af4dbf9 commit 50e3404

File tree

40 files changed

+588
-287
lines changed

40 files changed

+588
-287
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

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/Matter/examples/MatterColorLight/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,12 @@ The MatterColorLight example consists of the following main components:
159159
- **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port <PORT> erase_flash`
160160
- **No serial output**: Check baudrate (115200) and USB connection
161161
162+
## Related Documentation
163+
164+
- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html)
165+
- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html)
166+
- [Matter Color Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_color_light.html)
167+
162168
## License
163169
164170
This example is licensed under the Apache License, Version 2.0.

libraries/Matter/examples/MatterCommissionTest/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ The MatterCommissionTest example consists of the following main components:
146146
- **No serial output**: Check baudrate (115200) and USB connection
147147
- **Device keeps decommissioning**: This is expected behavior - the device automatically decommissions after 30 seconds to allow continuous testing
148148

149+
## Related Documentation
150+
151+
- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html)
152+
149153
## License
150154

151155
This example is licensed under the Apache License, Version 2.0.

libraries/Matter/examples/MatterComposedLights/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,14 @@ The MatterComposedLights example consists of the following main components:
170170
- **Failed to commission**: Try factory resetting the device by long-pressing the button. Other option would be to erase the SoC Flash Memory by using `Arduino IDE Menu` -> `Tools` -> `Erase All Flash Before Sketch Upload: "Enabled"` or directly with `esptool.py --port <PORT> erase_flash`
171171
- **No serial output**: Check baudrate (115200) and USB connection
172172

173+
## Related Documentation
174+
175+
- [Matter Overview](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter.html)
176+
- [Matter Endpoint Base Class](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/matter_ep.html)
177+
- [Matter On/Off Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_on_off_light.html)
178+
- [Matter Dimmable Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_dimmable_light.html)
179+
- [Matter Color Light Endpoint](https://docs.espressif.com/projects/arduino-esp32/en/latest/matter/ep_color_light.html)
180+
173181
## License
174182

175183
This example is licensed under the Apache License, Version 2.0.

0 commit comments

Comments
 (0)