Core version
Moderators: grovkillen, Stuntteam, TD-er
Core version
Hi!
What core version should be used to compile the current mega versions?
Is it still possible to compile without using platformino just using the arduino ide or the vscode with arduino extension?
Thanks!
What core version should be used to compile the current mega versions?
Is it still possible to compile without using platformino just using the arduino ide or the vscode with arduino extension?
Thanks!
Re: Core version
Yes it should be possible to compile using the Arduino IDE.
You then have to move the files to a few different folders, since the Arduino IDE must have the name of the "main" .ino file the same as the folder it is in.
Also you cannot use the online libraries of some of the libs we use, since we've made some modifications.
So I guess you should at least have some "portable" installation of the Arduino IDE and place the libs folder in the library folder of that portable install.
But why do you want to not use PlatformIO?
Edit:
Forgot to mention the core version.
You can use different versions of the core library, but some parts of the code rely on preset defines to successful compile against a core version.
See the definitions in the platformIO.ini file for the specifics.
You then have to move the files to a few different folders, since the Arduino IDE must have the name of the "main" .ino file the same as the folder it is in.
Also you cannot use the online libraries of some of the libs we use, since we've made some modifications.
So I guess you should at least have some "portable" installation of the Arduino IDE and place the libs folder in the library folder of that portable install.
But why do you want to not use PlatformIO?
Edit:
Forgot to mention the core version.
You can use different versions of the core library, but some parts of the code rely on preset defines to successful compile against a core version.
See the definitions in the platformIO.ini file for the specifics.
Re: Core version
I used the arduino IDE for the last couple years for ESPEasy but finally moved to POI a few months ago.
It is considerably easier once its set up so rip the band-aid off and get it done
It is considerably easier once its set up so rip the band-aid off and get it done
- grovkillen
- Core team member
- Posts: 3621
- Joined: 19 Jan 2017, 12:56
- Location: Hudiksvall, Sweden
- Contact:
Re: Core version
Yes PIO is our official development environment and thus we are biased to help users trying to get going with PIO instead of other IDEs. That's the cold truth
ESP Easy Flasher [flash tool and wifi setup at flash time]
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you
ESP Easy Webdumper [easy screendumping of your units]
ESP Easy Netscan [find units]
Official shop: https://firstbyte.shop/
Sponsor ESP Easy, we need you
Re: Core version
Thanks for the input chaps
But doesn't pio rebuild it all every compile time so needlessly takes ages?
Also hitting the build button proceeds to build tons of different versions, I guess that some files would need more edditing to stop that. and you can't just drop the required plugins in/out of the folder to control built version.
I would really prefer to use ms visual studio still as this is my daily driver for work so no wasted time with new stuff but that won't compile anymore either.
I want to control the build and what is compiled by adding removing files and setting options on menus, not editing json or multiple settings files
I've now been trying vscode with the arduino extension but that won't compile either as spurious missing header files.
Eventually worked around except for
StringProvider:1:33: error: StringProviderTypes.h: No such file or directory
#include <StringProviderTypes.h>
which will just not stop coming up.
and errors all over the place like
<StringProviderTypes.h>
String getInternalLabel(LabelType::Enum label) {
it says that the first word "String" is "identifier "string" is undefined"
Hmm, all the source code files have errors, it seems everything is undefined..
"identifier "uint32_t " is undefined" for example
This is why I use vb.net lol
But doesn't pio rebuild it all every compile time so needlessly takes ages?
Also hitting the build button proceeds to build tons of different versions, I guess that some files would need more edditing to stop that. and you can't just drop the required plugins in/out of the folder to control built version.
I would really prefer to use ms visual studio still as this is my daily driver for work so no wasted time with new stuff but that won't compile anymore either.
I want to control the build and what is compiled by adding removing files and setting options on menus, not editing json or multiple settings files
I've now been trying vscode with the arduino extension but that won't compile either as spurious missing header files.
Eventually worked around except for
StringProvider:1:33: error: StringProviderTypes.h: No such file or directory
#include <StringProviderTypes.h>
which will just not stop coming up.
and errors all over the place like
<StringProviderTypes.h>
String getInternalLabel(LabelType::Enum label) {
it says that the first word "String" is "identifier "string" is undefined"
Hmm, all the source code files have errors, it seems everything is undefined..
"identifier "uint32_t " is undefined" for example
This is why I use vb.net lol
Re: Core version
Ok so also failing to compile using platformio:
Linking .pioenvs\normal_core_241_ESP8266_4M\firmware.elf
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x4): undefined reference to `setup'
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x8): undefined reference to `loop'
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o): In function `loop_wrapper()':
core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x21): undefined reference to `setup'
core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x2d): undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
*** [.pioenvs\normal_core_241_ESP8266_4M\firmware.elf] Error 1
This is using latest mega source..
Linking .pioenvs\normal_core_241_ESP8266_4M\firmware.elf
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x4): undefined reference to `setup'
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o):(.text._ZL12loop_wrapperv+0x8): undefined reference to `loop'
.pioenvs\normal_core_241_ESP8266_4M\libFrameworkArduino.a(core_esp8266_main.cpp.o): In function `loop_wrapper()':
core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x21): undefined reference to `setup'
core_esp8266_main.cpp:(.text._ZL12loop_wrapperv+0x2d): undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
*** [.pioenvs\normal_core_241_ESP8266_4M\firmware.elf] Error 1
This is using latest mega source..
Re: Core version
Band-aid ripped! Ouch, still stinging lol!
I wonder, is there a way to configure the vscode with platformio to have a one key/click build and one key/click build+upload like visual studio?
Also, is there a way to get it to only recompile changed code?
Re: Core version
cant help you there. in atom i hit f7 and type test sdk 4 and i get the test 2.6.x sdk3 4m version. easy and fast enough that i havent tried to make it faster.
Re: Core version
I have tried VS code a few times myself and it does have configuration option to define (in text configuration) how you want to define tasks.
But since these are lost when I move to another computer (and not checked in, since they are quite personal), I am no longer using VS code myself.
It is quite a burden to setup right.
But since these are lost when I move to another computer (and not checked in, since they are quite personal), I am no longer using VS code myself.
It is quite a burden to setup right.
Re: Core version
Ah, would you recommend Atom instead?TD-er wrote: ↑28 May 2019, 10:41 I have tried VS code a few times myself and it does have configuration option to define (in text configuration) how you want to define tasks.
But since these are lost when I move to another computer (and not checked in, since they are quite personal), I am no longer using VS code myself.
It is quite a burden to setup right.
Re: Core version
Sorry to reply so late. I'm not that often on the forum. Only when GrovKillen sends me a link to replycherowley wrote: ↑28 May 2019, 11:41Ah, would you recommend Atom instead?TD-er wrote: ↑28 May 2019, 10:41 I have tried VS code a few times myself and it does have configuration option to define (in text configuration) how you want to define tasks.
But since these are lost when I move to another computer (and not checked in, since they are quite personal), I am no longer using VS code myself.
It is quite a burden to setup right.
I do use Atom myself, but that one also has its quirks, so it is also not 100% perfect.
I think it is more a matter of taste to choose between VS code and Atom.
Who is online
Users browsing this forum: No registered users and 6 guests