Skip to content

Commit 2cb1539

Browse files
committed
v1.0.2: finished provisional version of recursive search of includes files
1 parent ebab66d commit 2cb1539

File tree

4 files changed

+19
-40
lines changed

4 files changed

+19
-40
lines changed

Develop.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,19 @@ export PATH=$PATH:/mingw32/bin to add python and cmake to path.
3838

3939
* Important! add Directives in build.cmake (-DARDUINO), to get prerpocessor the definitions that use esp32 and arduino libraries for esp32 core!, you can get that in esp32/platform.txt. It was needded to use ArduinoJSON library!.
4040

41-
* get_include_files.py think in better way to don't looking for files in examples test ect... subidrectories
41+
* get_include_files.py think in better way to don't looking for files in examples test ect... subidrectories:
42+
* I tried to use fileHeader == fileSarched, it is better.
43+
* I tried to compare "src" in absolute_path, but some libraries has his headers and c/c++ files in proyect root!, so it is not good idea.
4244

43-
* test if internal libraries are include well in sktech cmakelist if it is ok, remove Internal libraries from arduino cmakeList in arduinoCore -- ok!
4445

45-
* think if looking for in external libraries if <> is not matchet in internal librarie, bad idea, it looking for all system headers in external libraries!, bad use. -- finished
4646

4747
### Done
4848

49+
#### 29/4/2024
50+
* test if internal libraries are include well in sktech cmakelist if it is ok, remove Internal libraries from arduino cmakeList in arduinoCore -- ok!
51+
52+
* think if looking for in external libraries if <> is not matched in internal libraries -- I did crossed search.
53+
4954
---
5055

5156
# V1.0.1

README.md

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ https://raw.githubusercontent.com/alexCajas/esp8266RTOSArduCore/main/package/pac
9696
* This proccess is to link configuration of the esp8266RTOSCore with Arduino IDE, but idf tools needs a git repository in the sdk, so, download this project with git and copy the entire git repository to the arduino core installation directory, even .git directory. Tipically, you core installation will be in:
9797

9898
~~~
99-
C:\Users\YouUser\AppData\Local\Arduino15\packages\esp8266RTOS\hardware\esp8266RTOS\1.0.2
99+
C:\Users\YouUser\AppData\Local\Arduino15\packages\esp8266RTOS\hardware\esp8266RTOS\1.0.3
100100
~~~
101101

102102
* Also **You need Msys2**, it is a linux enviroment for windows systems, you can find an official version for esp8266-rtos-sdk in:
@@ -131,6 +131,8 @@ https://drive.google.com/file/d/1WZ_h3bHvFZLzoajv5q8BT9Hcy7K82l5e/view?usp=drive
131131

132132
### Warnnig
133133

134+
[!CAUTION]
135+
134136
idf building proccess is tipicall more **slow in windows** than linux distributions, I recomend you to use a Linux distribution like ubuntu to develop with this core and idf projects in general.
135137

136138
How esp8266_rtos_sdk use msys2 to build and flash projects, there are **limitations with arduino**:
@@ -208,41 +210,13 @@ void TaskBlink(void *pvParameters)
208210
209211
# Limitations
210212
213+
[!CAUTION]
214+
211215
* The compatibility between libraries of esp8266ArduinoCore based on NONOSDK, and this core, esp8266RTOSArduCore based on FreeRTOS is limited, in general you can use the same esp8266ArduinoCore libraries that have compatibily with esp32 arduino core.
212216
213217
* It is assumed that external third-party-libaries are in ~/Arduino/libraries.
214218
215-
* There is not supported to recursive includes to external libraries, all libraries you need must be includes in your .ino scketch:
216-
* **example incorrect include**:
217-
218-
**~/Arduino/libraries/libraryOne/headerOne.h**:
219-
220-
~~~c++
221-
#include "headerTwo.h"
222-
~~~
223-
224-
**scketchs.ino**:
225-
~~~c++
226-
#include "headerOne.h"
227-
228-
// sdk don't loock for headers into heraderOne.h!, headerTwo.h is not included in to compile process, so librariOne is not linked with headerTwo in compile time.
229-
~~~
230-
231-
* **Rigth way to include**:
232-
233-
**~/Arduino/libraries/libraryOne/headerOne.h**:
234-
~~~c++
235-
#include "headerTwo.h"
236-
~~~
237-
238-
**scketchs.ino**:
239-
~~~c++
240-
#include "headerOne.h"
241-
#include "headerTwo.h"
242-
// now compiler use all data of headerTwo.h to compile and link with headerOne.h and scketchs.ino.
243-
~~~
244-
245-
* **Note: if you remove #include "headerTwo.h" of "headerOne.h", libraryOne will not be linked with "headerTwo.h" even if you include that in sckets.ino.**
219+
* ~~There is not supported to recursive includes to external libraries, all libraries you need must be includes in your .ino scketch~~
246220
247221
* libraries or utilities for specific hardware of esp32, like bluetooth or hall sensor is not supported in this core.
248222
@@ -254,11 +228,11 @@ void TaskBlink(void *pvParameters)
254228
255229
# To Do List
256230
257-
- [ ] Implement way to resolve recursive includes.
231+
- [x] Implement way to resolve recursive includes.
258232
- [ ] Rewrite paltafrom.txt to give support to compile options.
259233
- [ ] Add esp8266 boards configurations in boards.txt
260234
- [ ] Add pins map support for more models of esp8266 boards.
261-
- [ ] Changes bash scripts to python scripts to support more OS.
235+
- [x] Changes bash scripts to python scripts to support more OS.
262236
- [ ] adapt, test and fix remaining core files with hardware dependencies of esp32 core. [See this section](https://github.com/alexCajas/ESP8266RTOSArdu/tree/main#list-of-core-files-to-adapt-test-and-fix).
263237
- [ ] Test and fix remaining basic libraries of esp32 core. [See this section](https://github.com/alexCajas/ESP8266RTOSArdu/tree/main#list-of-basic-libraries-to-test-and-fix).
264238
- [ ] Think in add #if TARGET_CONF_esp32 to more compatibility. --> I think that is a good idea because RTOS is more ligth than FreeRtos.

libraries/ESP8266RTOS/examples/FreeRTOS/WrapperFreeRTOS/WrapperFreeRTOS.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99

1010

11-
#include "Task.h"
11+
#include <WrapperFreeRTOS.h>
1212
#define LED_BUILTIN 2
1313

1414
class BasicTaskBlink : public Task{

platform.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# For more info:
66
# https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
77

8-
name=ESP8266 Boards RTOS (1.0.2)
9-
version=1.0.2
8+
name=ESP8266 Boards RTOS (1.0.3)
9+
version=1.0.3
1010

1111
compiler.path={runtime.platform.path}/tools/
1212
compiler.sdk.path={runtime.platform.path}/tools/sdk

0 commit comments

Comments
 (0)