Skip to content

Commit 2d4f011

Browse files
KirillChalovf-hollow
andauthored
Esp idf workshops proofread (#534)
* chore: proofread basic esp-idf workshop * chore: proofread advanced esp-idf workshop --------- Co-authored-by: kirill.chalov <[email protected]>
1 parent 34a904b commit 2d4f011

File tree

17 files changed

+105
-88
lines changed

17 files changed

+105
-88
lines changed

content/workshops/esp-idf-advanced/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Estimated time: 3 hours.
2020

2121
## Agenda
2222

23-
The workshop is structured into four parts. Here's the outline:
23+
The workshop is divided into four parts. Here's the outline:
2424

2525
* Part 1: **Components**
2626

@@ -134,4 +134,4 @@ Even if you complete all assignments successfully, you’ll still need to downlo
134134

135135
## Conclusion
136136

137-
You just arrived at the end of this workshop, congratulation! We hope it was a fruitful experience and the start of a longer journey. Thank you for following the advanced ESP-IDF workshop.
137+
Congratulations! You just arrived at the end of this workshop. We hope it was a fruitful experience and the start of a longer journey. Thank you for following the advanced ESP-IDF workshop.

content/workshops/esp-idf-advanced/assignment-1-1/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ summary: "Create the `alarm` component and refactor the code to use it. (Guided)
1313

1414
You will:
1515

16-
1. Run the example to check everything is working
17-
2. Create a the `alarm` component
16+
1. Run the example (to make sure that everything is working)
17+
2. Create an `alarm` component
1818
2. Add the component configuration
1919

2020
### Run the example

content/workshops/esp-idf-advanced/assignment-1-2/index.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ showAuthor: false
77
summary: "Create a `cloud_manager` component and refactor the code to use it."
88
---
99

10-
In this second part, you will separate the connection logic from the main function. The main advantage of this approach is that you could transparently change the connection type (e.g. to MQTTS or HTTP).
10+
In this second part, we will separate the connection logic from the main function. The main advantage of this approach is that you could transparently change the connection type (e.g. to MQTTS or HTTP).
1111

12-
In this assignment, you will refactor the connection to Wi-Fi and MQTT code to fit into a new component.
12+
In this assignment, we will refactor the connection to Wi-Fi and MQTT code to fit into a new component.
1313

14-
#### Assignment detail
14+
#### Assignment details
1515

1616
You should create a `cloud_manager` component with the following methods
1717

@@ -31,18 +31,18 @@ The following parameters should be set through `menuconfig`:
3131
## Assignment steps outline
3232

3333
1. Create a new component and fill `cloud_manager.h`
34-
* Add the suggested methods.<br>
34+
* Add the suggested methods<br>
3535
* Add an opaque declaration `typedef struct cloud_manager_t cloud_manager_t;`<br>
3636
_Note: In `cloud_manager.h` you need to import just `esp_err.h`_
37-
2. Fill `cloud_manager.c` <br>
38-
* Implement `cloud_manager_t` as <br>
37+
2. Fill `cloud_manager.c`<br>
38+
* Implement `cloud_manager_t` as: <br>
3939
```c
4040
struct cloud_manager_t {
4141
esp_mqtt_client_handle_t client;
4242
esp_mqtt_client_config_t mqtt_cfg;
4343
};
4444
```
45-
* In `cloud_manager_create` just return the initialized object
45+
* In `cloud_manager_create` just return the initialized object.
4646
* In `cloud_manager_connect` initialize everything. You can use the function `example_connect`.
4747
3. Add the following to the `cloud_manager` component `CMakeList.txt`<br>
4848
```bash
@@ -240,4 +240,4 @@ endmenu
240240
You can find the whole solution project on the [assignment_1_2](https://github.com/FBEZ-docs-and-templates/devrel-advanced-workshop-code/tree/main/assignment_1_2) folder on the github repo.
241241

242242

243-
> Next step: [assignment_1_3](../assignment-1-3/)
243+
> Next step: [assignment 1.3](../assignment-1-3/)

content/workshops/esp-idf-advanced/assignment-1-3/index.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ date: "2025-08-05"
44
series: ["WS00B"]
55
series_order: 5
66
showAuthor: false
7-
summary: "Support multiple configuration via sdkconfigs"
7+
summary: "Support multiple configurations via sdkconfigs"
88
---
99

10-
In this assignment you will create two versions of `sdkconfig` (production and debug).
10+
In this assignment, you will create two versions of `sdkconfig` (production and debug).
1111
The only difference between the two is the logging: Debug will display all logs, while production has all the logs suppressed.
1212

1313
### Assignment Detail
1414

15-
You project must have the following configuration files
15+
You project must have the following configuration files:
1616

1717
1. `sdkconfig.defaults`: containing the `esp32-c3` target
1818
2. `sdkconfig.prod`: containing the logging suppression configuration (both app log and bootloader log)
@@ -39,7 +39,8 @@ The final project folder tree is
3939

4040
## Assignment steps
4141

42-
You will
42+
We will:
43+
4344
1. Create the production sdkconfig version (guided)
4445
2. Create a profile file (guided)
4546
3. Create the debug sdkconfig version
@@ -58,11 +59,11 @@ To create the debug configuration, we first need to find the log configuration.
5859

5960
#### Create `sdkconfig.prod` file
6061

61-
The easiest way to find the configuration names we changed is to run the `save-defconfig` tool, which will generate a `sdkconfig.defaults` file with just all the changed parameter.
62+
The easiest way to find the configuration names that we changed is to run the `save-defconfig` tool, which will generate a `sdkconfig.defaults` file with only the changed parameters.
6263

6364
* `ESP-IDF: Save Default Config File (save-defconfig)`
6465

65-
Looking at the new `sdkconfig.defaults` you see two new configurations appearing
66+
Looking at the new `sdkconfig.defaults`, we can see two new configurations:
6667

6768
```bash
6869
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
@@ -98,7 +99,7 @@ To simplify the process we will create a _profile_ file.
9899
-B build-production -DSDKCONFIG=build-production/sdkconfig -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.prod"
99100
```
100101

101-
You can now build the production version using
102+
We can now build the production version using
102103

103104
```bash
104105
idf.py @profiles/prod build
@@ -140,6 +141,6 @@ CONFIG_LOG_DEFAULT_LEVEL_INFO=y
140141
</details>
141142

142143

143-
You can find the whole solution project on the [assignment_1_3](https://github.com/FBEZ-docs-and-templates/devrel-advanced-workshop-code/tree/main/assignment_1_3) folder on the github repo.
144+
You can find the whole solution project in the [assignment_1_3](https://github.com/FBEZ-docs-and-templates/devrel-advanced-workshop-code/tree/main/assignment_1_3) folder in the GitHub repo.
144145

145146
> Next step: [Lecture 2](../lecture-2/)

content/workshops/esp-idf-advanced/assignment-2-1/index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ In this assigment, we will decouple the alarm and temperature code by using the
1111

1212
## Assignment steps
1313

14-
You will:
14+
We will:
15+
1516
1. Create the events<br>
1617
* `TEMP_EVENT_BASE` with `temp_event_id`
1718
* `ALARM_EVENT_BASE` with `alarm_event_id_t`
@@ -249,7 +250,7 @@ void app_main(void)
249250
250251
</details>
251252
252-
You can find the whole solution project on the [assignment_2_1](https://github.com/FBEZ-docs-and-templates/devrel-advanced-workshop-code/tree/main/assignment_2_1) folder on the github repo.
253+
You can find the whole solution project in the [assignment_2_1](https://github.com/FBEZ-docs-and-templates/devrel-advanced-workshop-code/tree/main/assignment_2_1) folder in the GitHub repo.
253254
254255
## Conclusion
255256

content/workshops/esp-idf-advanced/assignment-2-2/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ In this assignment you'll extend the functionality from Assignment 2.1 by introd
1212
### Assignment detail
1313

1414
* The code for detecting a GPIO press is provided below.
15-
* You need to integrate the logic into the existing event loop
16-
* Use the same `ALARM_EVENT_BASE` as the alarm trigger as before
17-
* Create a `ALARM_EVENT_BUTTON` to differenciate it from the `ALARM_EVENT_CHECK`
15+
* You need to integrate the logic into the existing event loop.
16+
* Use the same `ALARM_EVENT_BASE` as the alarm trigger used before.
17+
* Create a `ALARM_EVENT_BUTTON` to differenciate it from the `ALARM_EVENT_CHECK`.
1818

1919
{{< alert icon="lightbulb" iconColor="#179299" cardColor="#9cccce">}}
20-
An alternative version for `esp_event_post` called `esp_event_isr_post` exists.
20+
There is an alternative version for `esp_event_post` called `esp_event_isr_post`.
2121
{{< /alert >}}
2222

2323
### Reading GPIO code

content/workshops/esp-idf-advanced/assignment-3-1/index.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ date: "2025-08-05"
44
series: ["WS00B"]
55
series_order: 10
66
showAuthor: false
7-
summary: "Reduce binary size by working on configuration"
7+
summary: "Reduce binary size by working on configuration."
88
---
99

1010
In this assignment, you will analyze the binary image size and optimize the memory footprint of your application.
1111

1212
## Assignment steps
1313

14-
You will:
14+
We will:
15+
1516
1. Build the original project to spot any oversized or suspicious sections (e.g., .text, .data, .rodata) that may hide unoptimized code.
16-
2. Change configuration to reduce it
17-
3. Rebuild the project to check the improvement
17+
2. Change configuration to reduce it.
18+
3. Rebuild the project to check the improvement.
1819

1920
### Build the original project
2021

@@ -83,6 +84,6 @@ We gained another 6.7kb.
8384

8485
## Conclusion
8586

86-
In this assignment we saw how to check the size of our binary and how to use the menuconfig to removed unused option to improve the memory footprint of our application.
87+
In this assignment, we saw how to check the size of our binary and how to use the menuconfig to removed unused options to improve the memory footprint of our application.
8788

88-
> Next step: [assignment_3_2](../assignment-3-2/)
89+
> Next step: [assignment 3.2](../assignment-3-2/)

content/workshops/esp-idf-advanced/assignment-3-2/index.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ For this assignment, you need to get the [assignment_3_2_base](https://github.co
1313

1414
## Assignment steps
1515

16-
You will
16+
We will:
17+
1718
1. Enable the core dump in the menuconfig
1819
2. Build and run the application
1920
3. Analyze the core dump
20-
4. Fix the bugs in the project.
21+
4. Fix the bugs in the project
2122
5. Build and run the application again
2223

2324

@@ -230,9 +231,10 @@ The core dump starts with:
230231
Crashed task handle: 0x3fc9ff18, name: 'sys_evt'
231232
Crashed task is not in the interrupt context
232233
```
233-
From which, we can conclude that the crash
234-
1. Happened in the FreeRTOS task called **`sys_evt`**.
235-
2. Did **not** happen during an interrupt, so it's a normal task context crash.
234+
From which, we can conclude the following:
235+
236+
1. The crash happened in the FreeRTOS task called **`sys_evt`**.
237+
2. The crash did **not** happen during an interrupt, so it's a normal task context crash.
236238

237239
#### Look at the program counter (PC) and stack trace
238240

@@ -244,7 +246,8 @@ ra 0x4200d822 0x4200d822 <is_alarm_set+20>
244246
sp 0x3fc9fe50
245247
```
246248

247-
Which mean
249+
It means that:
250+
248251
1. The program counter (PC) is at address `0x4200d840`, inside the function `is_alarm_set`, specifically at offset +50 bytes.
249252
2. The return address (`ra`) is also inside `is_alarm_set`, which means the crash happened __inside that function__.
250253

@@ -327,17 +330,17 @@ Rebuild and run the application
327330
328331
Another crash!
329332
330-
If you still have time, try to solve it by moving to [assignment 3-3](../assignment-3-2/).
333+
If you still have time, try to solve it by moving to [assignment 3.3](../assignment-3-3/).
331334
332-
If you don't, don't worry: all the next assignments will be based on the [assignment 2-1](../assignment-2-1/) code.
335+
If you don't, don't worry: all the following assignments will be based on the [assignment 2.1](../assignment-2-1/) code.
333336
334337
335338
## Conclusion
336339
337-
In this assignment you learnt how to create a core dump and how to analyze it to understand the reason of a core crash.
340+
In this assignment, we learnt how to create a core dump and how to analyze it to understand the reason of a core crash.
338341
Core dump analysis is a very strong tool to debug your application.
339342
340-
If you still have time, try [assignment_3_3](../assignment-3-3/)
343+
If you still have time, try [assignment 3.3](../assignment-3-3/)
341344
342345
Otherwise
343346
> Next step: [Lecture 4](../lecture-4/)

content/workshops/esp-idf-advanced/assignment-3-3/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "ESP-IDF Adv. - Assign. 3.2"
2+
title: "ESP-IDF Adv. - Assign. 3.3"
33
date: "2025-08-05"
44
series: ["WS00B"]
55
series_order: 12
@@ -19,7 +19,7 @@ Create the core dump file as you did in the previous assignment.
1919

2020

2121
<details>
22-
<summary>Expand second core dump</summary>
22+
<summary>Expand the second core dump</summary>
2323

2424
```bash
2525
Executing action: coredump-info

content/workshops/esp-idf-advanced/assignment-4-1/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ To perform OTA, we need a partition table with at least two partitions.
1111

1212
## Assignment steps
1313

14-
In this first assignment, you will
14+
In this first assignment, we will:
1515

1616
1. Check the current partition table loaded in your module
1717
2. Change it to a different default partition table
@@ -22,10 +22,10 @@ In this first assignment, you will
2222
To check the current partition table you need to
2323

2424
1. Read the flash and dump the partition table in a `.bin` file
25-
2. Convert the `.bin` file to a readable format.
25+
2. Convert the `.bin` file to a readable format
2626

2727
#### Read the flash
28-
To read the flash we can use `esptool.py`
28+
To read the flash we can use `esptool.py`:
2929

3030
```bash
3131
esptool.py -p <YOUR-PORT> read_flash 0x8000 0x1000 partition_table.bin
@@ -98,4 +98,4 @@ Both of these partition table scheme are provided as default values from ESP-IDF
9898
In the [next assignment](../assignment-4-2) you will create a custom partition table.
9999

100100

101-
> Next step: [assignment_4_2](../assignment-4-2/)
101+
> Next step: [assignment 4.2](../assignment-4-2/)

0 commit comments

Comments
 (0)