Alternative to ArduinoIDE
-
I don't know. I would suspect that certain defines are not set up correctly or you are building for an unsupported CPU or a CPU you don't have installed?
-
Hi everyone!
I would like o know if any of you use an IDE to develop MySensors projects and libraries, I find ArduinoIDE atrocious.
Actually I think that it does not even deserve the name of IDE because does not even highlight all occurrences of a selected work.I've tried sloeber: http://eclipse.baeyens.it/index.shtml but I'm not able to make it to compile the MySensors library 2.0.0 due to the extensive use of #defines and #ifndef, etc.
Does anybody use anything else that can recommend?
Thank you all in advance,
DanielHi Everyone, Hello @Daniel-Oliveira
I also played with Eclipse and the Sloeber plugin (now v3.1 is out).
Eclipse is a very powerful IDE and Sloeber is a pretty good plugin for enhancing the IDE's feature and make the Arduino development possible in Eclipse.There are some issues with the INO file support and limitations, but if you use cpp files instead of ino then some problem automatically disappear.
The plugin installation to the IDE is pretty easy, its library manager is also good and you can easily add your own library paths as well to the whole IDE or to the project.
When I tried to compile basic or example sketch codes it worked like a charm, but when I tried to include and use the MySensors library then it caused tons of errors caused by unresolved defines and it also started to compile every file which were in the included library path, even if those were not included in the code.
The solution is quite trivial, although I spent some days to investigate the issue... the root cause of this problem is that included libraries will be part of the build paths, so the build process will try to compile the whole library code base without proper define inits etc.
So, what you have to do is just remove the added library from the build.
This can be done multiple ways, e.g. by right clicking on the added library in the project explorer, then select resource configurations / exclude from build...
In the appearing dialog select the proper option (by default the "Release") and press ok.After this trick there is no more problem with the MySensors library and the code compiles without any problem.
Furthermore, if you use cpp files instead of ino, then you don't have to worry about the define sections and you don't have to declare the defines in command line options.Hope this helps for those whom try to use a normal IDE for development.
Cheers,
Andrew -
The development branch has been updated with a SublimeText 3 project. Enjoy! The project file contains instructions for installing the plugins necessary.
-
The development branch has been updated with a SublimeText 3 project. Enjoy! The project file contains instructions for installing the plugins necessary.
@Anticimex said:
The development branch has been updated with a SublimeText 3 project. Enjoy! The project file contains instructions for installing the plugins necessary.
Ok, but as far as I know subimetext is just a pretty good text editor which is enhanced with fancy features, so it is good for auto completion, code highlight etc, but does it provide features like a real IDE does? For example highlight warnings and errors during the code writing - e.g. typos, undeclared/unreferenced stuff, unused code segments, type or casting problems etc. - and not just output the compile time error log?
-
@Anticimex said:
The development branch has been updated with a SublimeText 3 project. Enjoy! The project file contains instructions for installing the plugins necessary.
Ok, but as far as I know subimetext is just a pretty good text editor which is enhanced with fancy features, so it is good for auto completion, code highlight etc, but does it provide features like a real IDE does? For example highlight warnings and errors during the code writing - e.g. typos, undeclared/unreferenced stuff, unused code segments, type or casting problems etc. - and not just output the compile time error log?
-
@Anticimex hm... ok, I'll try to use both of them for a while then make the conclusion...
-
@Anticimex hm... ok, I'll try to use both of them for a while then make the conclusion...
-
@Anticimex of course :)
-
Hi Everyone, Hello @Daniel-Oliveira
I also played with Eclipse and the Sloeber plugin (now v3.1 is out).
Eclipse is a very powerful IDE and Sloeber is a pretty good plugin for enhancing the IDE's feature and make the Arduino development possible in Eclipse.There are some issues with the INO file support and limitations, but if you use cpp files instead of ino then some problem automatically disappear.
The plugin installation to the IDE is pretty easy, its library manager is also good and you can easily add your own library paths as well to the whole IDE or to the project.
When I tried to compile basic or example sketch codes it worked like a charm, but when I tried to include and use the MySensors library then it caused tons of errors caused by unresolved defines and it also started to compile every file which were in the included library path, even if those were not included in the code.
The solution is quite trivial, although I spent some days to investigate the issue... the root cause of this problem is that included libraries will be part of the build paths, so the build process will try to compile the whole library code base without proper define inits etc.
So, what you have to do is just remove the added library from the build.
This can be done multiple ways, e.g. by right clicking on the added library in the project explorer, then select resource configurations / exclude from build...
In the appearing dialog select the proper option (by default the "Release") and press ok.After this trick there is no more problem with the MySensors library and the code compiles without any problem.
Furthermore, if you use cpp files instead of ino, then you don't have to worry about the define sections and you don't have to declare the defines in command line options.Hope this helps for those whom try to use a normal IDE for development.
Cheers,
Andrew@andrew
Hello Andrew, as Anticimex already answered also other IDE's are possible (Atmel Studio with a arduino plugin seems to work) Atom, and others I use the Eclipse + plugin solution and are happy with it. It is really a powerfull solution with many configuration options. I had a few discussions with the maintainer of sloeber (Jantje) and in general i made a few observations that summerize yours: lsee discussions on github
The problem for cpp is that you have to declare the prototypes because you lose the confort from the ino suffix.
Regards ,
Stefan