You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/en/contributing.rst
+53-1Lines changed: 53 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,7 +135,8 @@ To enable compiling the example in the CI system, you need to add a ``ci.yml`` f
135
135
The ``ci.yml`` file is used to specify some configurations for the CI system, like required configurations, supported targets, and more.
136
136
You can enable compilation of the example by adding targets under the ``upload-binary`` directive in the ``ci.yml`` file.
137
137
138
-
Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and ESP32-S3 targets:
138
+
Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and ESP32-S3 targets.
139
+
This configuration adds default diagrams for Wokwi simulations with just dev boards.
139
140
140
141
.. code-block:: yaml
141
142
@@ -144,6 +145,57 @@ Here is an example of a ``ci.yml`` file that enables compilation for ESP32 and E
144
145
- esp32
145
146
- esp32s3
146
147
148
+
If you want to add custom diagrams for Wokwi simulations, you can add the ``diagram.<target>.json`` file in the same folder as the sketch.
149
+
The ``<target>`` is the target name (e.g., ``esp32``, ``esp32s3``, etc.). You can create the diagram using ``docs-embed`` tool installed together with documentation building tools.
150
+
151
+
To create the diagram, run the ``docs-embed init-diagram --platforms esp32`` command in the sketch folder.
152
+
You can edit them and before you run the documentation build command, you have to convert the diagram config to the ``ci.yml`` file format by running:
153
+
154
+
.. code-block:: bash
155
+
156
+
docs-embed ci-from-diagram
157
+
# OR
158
+
docs-embed ci-from-diagram --override
159
+
160
+
There is also opposite command to generate diagram from ``ci.yml`` file:
161
+
162
+
.. code-block:: bash
163
+
164
+
docs-embed diagram-from-ci
165
+
166
+
167
+
The documentation building tools is working only with `ci.yml` files, so `diagram.<target>.json` files are just for configuration using GUI tool.
168
+
169
+
Please keep in mind that the ``ci.yml`` does not store the chip and its position on the diagram, just the components and their connections (to save space).
170
+
The chip is added automatically and positioned vertically in the center of the diagram (same as the default behavior of the `docs-embed init-diagram` command).
171
+
172
+
To run the documentation build command locally and in the CI system, you need to add those environment variables:
173
+
174
+
* ``DOCS_EMBED_ABOUT_WOKWI_URL``: URL to the info about Wokwi (default: ``https://docs.espressif.com/projects/arduino-esp32/en/latest/third_party/wokwi.html``)
175
+
* ``DOCS_EMBED_BINARIES_DIR``: Path to the folder where the pre-compiled binaries are stored (default: ``_static/binaries``)
176
+
* ``DOCS_EMBED_LAUNCHPAD_URL``: URL to the launchpad page (default: ``https://espressif.github.io/esp-launchpad/``)
177
+
* ``DOCS_EMBED_WOKWI_VIEWER_URL``: URL to the Wokwi iframe viewer (default: ``https://wokwi.com/experimental/viewer``)
178
+
179
+
180
+
CI/CD
181
+
*****
182
+
183
+
This repository uses GitHub Actions for Continuous Integration and Continuous Deployment (CI/CD).
184
+
If you forked the repository, you can enable them under the `Actions` tab in your forked repository.
185
+
186
+
To enable building the documentation, you need to set up additional secrets and environment variables in your forked repository.
187
+
188
+
Secrets
189
+
^^^^^^^^^^^^
190
+
* ``DOCS_SERVER``: The server where the documentation will be deployed
191
+
* ``DOCS_PATH``: The path where the documentation will be deployed on the server
192
+
193
+
194
+
Variables
195
+
^^^^^^^^^
196
+
197
+
They are described above in the `Examples` section.
0 commit comments