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
{{ message }}
This repository was archived by the owner on Jan 29, 2023. It is now read-only.
### Releases v1.5.0
1. Fix doubled time for `ESP32_C3, ESP32_S2 and ESP32_S3`. Check [Error in the value defined by TIMER0_INTERVAL_MS #28](https://github.com/khoih-prog/ESP32_ISR_Servo/issues/28)
2. Modify examples to avoid using `LED_BUILTIN` / `GPIO2` and `GPIO2` as they can cause crash in some boards, such as `ESP32_C3`
3. Use `allman astyle` and add `utils`
* Contextual information (e.g. what you were trying to achieve)
24
24
* Simplest possible steps to reproduce
25
25
* Anything that might be relevant in your opinion, such as:
@@ -31,27 +31,51 @@ Please ensure to specify the following:
31
31
32
32
```
33
33
Arduino IDE version: 1.8.19
34
-
ESP32 core v2.0.4
34
+
ESP32 core v2.0.5
35
35
ESP32S3_DEV Module
36
36
OS: Ubuntu 20.04 LTS
37
-
Linux xy-Inspiron-3593 5.15.0-41-generic #44~20.04.1-Ubuntu SMP Fri Jun 24 13:27:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
37
+
Linux xy-Inspiron-3593 5.15.0-52-generic #58~20.04.1-Ubuntu SMP Thu Oct 13 13:09:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
38
38
39
39
Context:
40
-
I encountered a crash while trying to use the Timer Interrupt.
41
-
40
+
I encountered a crash while using this library
42
41
Steps to reproduce:
43
42
1. ...
44
43
2. ...
45
44
3. ...
46
45
4. ...
47
46
```
47
+
48
+
### Additional context
49
+
50
+
Add any other context about the problem here.
51
+
52
+
---
53
+
48
54
### Sending Feature Requests
49
55
50
56
Feel free to post feature requests. It's helpful if you can explain exactly why the feature would be useful.
51
57
52
58
There are usually some outstanding feature requests in the [existing issues list](https://github.com/khoih-prog/ESP32_ISR_Servo/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement), feel free to add comments to them.
53
59
60
+
---
61
+
54
62
### Sending Pull Requests
55
63
56
64
Pull Requests with changes and fixes are also welcome!
57
65
66
+
Please use the `astyle` to reformat the updated library code as follows (demo for Ubuntu Linux)
67
+
68
+
1. Change directory to the library GitHub
69
+
70
+
```
71
+
xy@xy-Inspiron-3593:~$ cd Arduino/xy/ESP32_ISR_Servo_GitHub/
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"alt="Donate to my libraries using BuyMeACoffee"style="height: 50px!important;width: 181px!important;" ></a>
10
11
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-orange.svg?logo=buy-me-a-coffee&logoColor=FFDD00"style="height: 20px!important;width: 200px!important;" ></a>
@@ -121,7 +126,7 @@ This [**ESP32_ISR_Servo** library](https://github.com/khoih-prog/ESP32_ISR_Servo
121
126
## Prerequisites
122
127
123
128
1.[`Arduino IDE 1.8.19+` for Arduino](https://github.com/arduino/Arduino). [](https://github.com/arduino/Arduino/releases/latest)
124
-
2.[`ESP32 Core 2.0.4+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [](https://github.com/espressif/arduino-esp32/releases/latest/)
129
+
2.[`ESP32 Core 2.0.5+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [](https://github.com/espressif/arduino-esp32/releases/latest/)
125
130
126
131
---
127
132
---
@@ -159,14 +164,14 @@ The current library implementation, using `xyz-Impl.h` instead of standard `xyz.
159
164
160
165
You can include this `.hpp` file
161
166
162
-
```
167
+
```cpp
163
168
// Can be included as many times as necessary, without `Multiple Definitions` Linker Error
in many files. But be sure to use the following `.h` file **in just 1 `.h`, `.cpp` or `.ino` file**, which must **not be included in any other file**, to avoid `Multiple Definitions` Linker Error
168
173
169
-
```
174
+
```cpp
170
175
// To be included only in main(), .ino with setup() to avoid `Multiple Definitions` Linker Error
@@ -188,33 +193,33 @@ Please have a look at [**ESP_WiFiManager Issue 39: Not able to read analog port
188
193
189
194
#### 2. ESP32 ADCs functions
190
195
191
-
- ADC1 controls ADC function for pins **GPIO32-GPIO39**
192
-
- ADC2 controls ADC function for pins **GPIO0, 2, 4, 12-15, 25-27**
196
+
-`ADC1` controls ADC function for pins **GPIO32-GPIO39**
197
+
-`ADC2` controls ADC function for pins **GPIO0, 2, 4, 12-15, 25-27**
193
198
194
199
#### 3.. ESP32 WiFi uses ADC2 for WiFi functions
195
200
196
-
Look in file [**adc_common.c**](https://github.com/espressif/esp-idf/blob/master/components/driver/adc_common.c#L61)
201
+
Look in file [**adc_common.c**](https://github.com/espressif/esp-idf/blob/master/components/driver/adc_common.c)
197
202
198
-
> In ADC2, there're two locks used for different cases:
203
+
> In `ADC2`, there're two locks used for different cases:
199
204
> 1. lock shared with app and Wi-Fi:
200
205
> ESP32:
201
-
> When Wi-Fi using the ADC2, we assume it will never stop, so app checks the lock and returns immediately if failed.
206
+
> When Wi-Fi using the `ADC2`, we assume it will never stop, so app checks the lock and returns immediately if failed.
202
207
> ESP32S2:
203
208
> The controller's control over the ADC is determined by the arbiter. There is no need to control by lock.
204
209
>
205
210
> 2. lock shared between tasks:
206
-
> when several tasks sharing the ADC2, we want to guarantee
211
+
> when several tasks sharing the `ADC2`, we want to guarantee
207
212
> all the requests will be handled.
208
213
> Since conversions are short (about 31us), app returns the lock very soon,
209
214
> we use a spinlock to stand there waiting to do conversions one by one.
210
215
>
211
216
> adc2_spinlock should be acquired first, then adc2_wifi_lock or rtc_spinlock.
212
217
213
218
214
-
- In order to use ADC2 for other functions, we have to **acquire complicated firmware locks and very difficult to do**
215
-
- So, it's not advisable to use ADC2 with WiFi/BlueTooth (BT/BLE).
216
-
- Use ADC1, and pins GPIO32-GPIO39
217
-
- If somehow it's a must to use those pins serviced by ADC2 (**GPIO0, 2, 4, 12, 13, 14, 15, 25, 26 and 27**), use the **fix mentioned at the end** of [**ESP_WiFiManager Issue 39: Not able to read analog port when using the autoconnect example**](https://github.com/khoih-prog/ESP_WiFiManager/issues/39) to work with ESP32 WiFi/BlueTooth (BT/BLE).
219
+
- In order to use `ADC2` for other functions, we have to **acquire complicated firmware locks and very difficult to do**
220
+
- So, it's not advisable to use `ADC2` with WiFi/BlueTooth (BT/BLE).
221
+
- Use `ADC1`, and pins `GPIO32-GPIO39`
222
+
- If somehow it's a must to use those pins serviced by `ADC2` (**GPIO0, 2, 4, 12, 13, 14, 15, 25, 26 and 27**), use the **fix mentioned at the end** of [**ESP_WiFiManager Issue 39: Not able to read analog port when using the autoconnect example**](https://github.com/khoih-prog/ESP_WiFiManager/issues/39) to work with ESP32 WiFi/BlueTooth (BT/BLE).
218
223
219
224
---
220
225
---
@@ -232,7 +237,7 @@ Look in file [**adc_common.c**](https://github.com/espressif/esp-idf/blob/master
232
237
233
238
### New functions
234
239
235
-
```
240
+
```cpp
236
241
// returns last position in degrees if success, or -1 on wrong servoIndex
237
242
intgetPosition(unsigned servoIndex);
238
243
@@ -262,7 +267,7 @@ You'll see blynkTimer Software is blocked while system is connecting to WiFi / I
262
267
263
268
How to use:
264
269
265
-
```
270
+
```cpp
266
271
#ifndef ESP32
267
272
#error This code is designed to run on ESP32 platform, not Arduino nor ESP8266! Please check your Tools->Board setting.
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png"alt="Donate to my libraries using BuyMeACoffee"style="height: 50px!important;width: 181px!important;" ></a>
11
+
<ahref="https://www.buymeacoffee.com/khoihprog6"title="Donate to my libraries using BuyMeACoffee"><imgsrc="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-orange.svg?logo=buy-me-a-coffee&logoColor=FFDD00"style="height: 20px!important;width: 200px!important;" ></a>
1. Fix doubled time for `ESP32_C3, ESP32_S2 and ESP32_S3`. Check [Error in the value defined by TIMER0_INTERVAL_MS #28](https://github.com/khoih-prog/ESP32_ISR_Servo/issues/28)
38
+
2. Modify examples to avoid using `LED_BUILTIN` / `GPIO2` and `GPIO2` as they can cause crash in some boards, such as `ESP32_C3`
39
+
3. Use `allman astyle` and add `utils`
40
+
28
41
### Releases v1.4.0
29
42
30
43
1. Suppress errors and warnings for new ESP32 core v2.0.4+
0 commit comments