Alternative to ArduinoIDE



  • 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,
    Daniel


  • Admin



  • Hello @hek, @tekka, @Anticimex and @Yveaux ,

    I'm sorry to bothering you, but I would appreciate a feedback from you πŸ™‚

    I have professional experience as software tester/developer but from a completely different world, nevertheless I would like to go back to my roots (electronics) and start participating more actively in this great community.

    So I would like to have your feedback on your development environment, software used etc. Something that you can recommend? I honestly would love an IDE like eclipse.

    Do you have experience with anything other than ArduinoIDE like THIS plugin for Visual Studio and Atmel Studio, THISeclipse plugin, the recent PlatformIO or other?

    Thank you all in advance,


  • Contest Winner

    @Daniel-Oliveira I use the stino plugin for sublime text. It basically abstracts the arduino IDE so you still get the piss poor build system but then, you have to use it if you want to easily use libraries and program the device I suppose. But at least all operations are done from within sublime text and the arduino IDE just need to be installed, not running. But it can be a but tricky to configure the plugin properly and it lags somewhat behind new Arduino IDE releases.



  • @hek said:

    Old thread, but something might still apply:
    https://forum.mysensors.org/topic/1369/best-ide-to-use-for-mysensors-projects

    Thanks @hek,

    I was writing at same time you replied, I'll take a look.


  • Mod

    @Daniel-Oliveira I want to take another look at the ARduino Makefile https://github.com/sudar/Arduino-Makefile
    Seems promising, especially since I'm now able to run a Linux subsystem on Windows since the Windows 10 Anniversary Update; saves me the trouble of installing cygwin etc.



  • There is also Visual Micro for Visual Studio


  • Hardware Contributor

    I'm still using arduino ide, or sublimetext on my side too...it's a long time i would like to try visualmicro so i could use VS but never find the time to try.
    problem is sometimes when you change your chain, things can goes well or you need to dig in. so i was lazy. But i agree, arduino ide is ...too simple πŸ™‚ something with brackets (I don't know if there is a plugin like this btw) or sublimetext, is simple but a lot better!

    And more sense to use a nice ide, if you want to use other mcu with mysensors..on my side I prefer local solution, not a big fan of cloud dev..
    @ericvdb do you use VisualMicro ? does it work well, not so much things to change to make libs working, mysensors for instance? it's very tempting..


  • Admin

    @scalz @Daniel-Oliveira I'm using VS with VisualMicro - works smoothly with lots of nice features...


  • Hardware Contributor

    @tekka rooooooh, that's not fair πŸ™‚ thx for info πŸ‘ so now I have no excuse to not try. great



  • Thanks to all of you for your feedback,

    I'll give it a try to Visual Micro, I?m also curious about PlatformIO with eclipse as editor.
    I'll keep ou posted on the results for future reference.

    Regards



  • This is a good thread; been recently contemplating changing IDE's myself.

    Visual Studio seems to be the most complete - I think I will give this one a try. Anyone have any tips for how to use this coming from the Arduino IDE (with no previous programming experience?)

    Thanks,



  • @drock1985 said:

    This is a good thread; been recently contemplating changing IDE's myself.

    Visual Studio seems to be the most complete - I think I will give this one a try. Anyone have any tips for how to use this coming from the Arduino IDE (with no previous programming experience?)

    Thanks,

    Hi,

    Being using it from some hours and indeed it seems to be a great alternative, it even has a dark skin πŸ˜„
    You can use it to program in a more pure C++ way (my goal here), but it also support projects with .ino files so you can use your existing ArduinoIDE projects.

    To get used to Visual Studio/Micro I'm following their User guide, you can find it HERE

    Feel free to continue sharing your experiences



  • @Daniel-Oliveira
    Hello Daniel for what it's worth: Jantje posted a Fix in Github:
    the selection of subfolders included to the path is not consistent with the Arduino IDE

    Just have to test it further
    Regards,
    Stefan


  • Admin

    I have plans for trying to get platform.io up and running, specially because I use ATOM editor for most file editing (even in mysensors core).

    I have some shell scripts that enables me to build sketches etc. from cli, all are based on arduino in cli mode though, but makes it easy for me to verify errors / warnings in a sketch when I hack on core files (which you can't edit through arduino anyways)



  • As a professional developer who lives in Visual Studio and XCode, I prefer the VS plugin. I'm not saying it's any good, and in fact it crashes now and then, but you get all of the power of VS behind you.



  • @Stuart-Middleton +1
    Are you using vs2015? with the arduino IDE extension?



  • Yes. However I've found it more unstable than the previous version. Maybe that's just my setup.



  • @Stuart-Middleton I am getting so many errors on a simple sketch:
    Severity Code Description Project File Line Suppression State
    Error (active) expected a '{' c:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.h 154

    What am i missing here?



  • Severity Code Description Project File Line Suppression State
    Error (active) missing closing quote c:\Users\dpressle\Documents\Arduino\libraries\MySensors-2.0.0\core\MyTransport.cpp 507

    Severity Code Description Project File Line Suppression State
    Error (active) missing closing quote c:\Users\dpressle\Documents\Arduino\libraries\MySensors-2.0.0\core\MySensorsCore.cpp 262

    i get this on all of the debug function calls in these files.



  • 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, 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


  • Contest Winner

    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?


  • Contest Winner

    @andrew yes



  • @Anticimex hm... ok, I'll try to use both of them for a while then make the conclusion...


  • Contest Winner

    @andrew just make sure to install the plugins, or it will just remain a simple editor



  • @Anticimex of course πŸ™‚



  • @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


 

353
Online

8.0k
Users

8.8k
Topics

94.4k
Posts