Skip to content
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. Best IDE to use for MySensors projects
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

Best IDE to use for MySensors projects

Scheduled Pinned Locked Moved Development
atmel studioeclipsedebugvisualmicroide
48 Posts 16 Posters 22.1k Views 18 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • TD22057T TD22057

    I spent part of this afternoon trying sublime text + platformio. What a pain in the a$$. The problem with all these "auto" systems is that when they break, they don't tell you enough to figure out how to fix it. I can't get platformio to include a custom include path and it's not obvious how it's managing build directories so I can't even get it to find include files that seem like they should be visible.

    I guess I'm going to try stino, Arduino-Makefile, or Arduino-cmake with sublimetext next.

    YveauxY Offline
    YveauxY Offline
    Yveaux
    Mod
    wrote on last edited by
    #9

    @TD22057 said:

    I can't get platformio to include a custom include path and it's not obvious how it's managing build directories so I can't even get it to find include files that seem like they should be visible.

    Seems like I got stuck at the same problems as you and also decided to ditch it.
    I experimented in the past with Arduino-Makefile, which worked fine at that time, but was not working on Windows (which is my main dev platform)

    http://yveaux.blogspot.nl

    1 Reply Last reply
    0
    • TD22057T Offline
      TD22057T Offline
      TD22057
      Hardware Contributor
      wrote on last edited by
      #10

      My "normal" job is large scale C++ development so I'm thinking more long term in how I want my code structured - especially when I come back to this in 5 years and can't remember what I was doing.. I tend to think of "library" as something I can build once and put somewhere. It took me a little while to realize that that doesn't work well when you're changing boads, etc so in Arduino land, "library" means directory with some source code. Even so, I feel like the IDE's/build systems I've tried assume that I'll either put the source code for something all in one directory or that I'll only ever have one library with a given name.

      I've got my own versions of Switch, Led, Timer, etc libraries now and I'm sure there are 1000's of Arduino libraries with those same names available. So I want something where I can use directories to identify which library I actually mean (#include "TD/Timer.h") and tags/labels in my CM system to identify which version of that library I actually deployed. If anyone has a better suggestion for handling this, feel free to chime in. I think my problem is that the Arduino build systems I've tried assume a very flat library directory structure which I don't want. I want a nested directory structure where I can keep all the libraries I've found useful and then select which one I want via include path.

      I'll probably try Arduino-makefile and Arduino-cmake next. FYI @Yveaux, I think Arduino-makefile will work on windows, buy you need cygwin. I'll probably try that first since I'm used to Makefile's and already have cygwin installed.

      FYI I've temporarily given up on SublimeText because it was taking forever to get the indentation style I want in my code defined. That's one thing that is incredibly easy in Eclipse. And it doesn't parse gcc output so you can't jump to errors after a compile step. So back to emacs for me...

      1 Reply Last reply
      0
      • S Offline
        S Offline
        smilvert
        wrote on last edited by smilvert
        #11

        Interesting discussion!

        Has just started to try to create some nodes, but find it difficult to put up a decent environment.
        When I test platformio who want to have the following structure:

        MyNode
        ├── lib
        │ ├── DHT -> /my_arduino_libs/DHT
        │ └── MySensor -> /my_arduino_libs/MySensor
        ├── platformio.ini (config file That specifies the platform and settings)
        └── src
            └── MyNode.ino
        
        

        Platformio makes it very easy to build on different platforms, but from version 1.6 of mysensors works platformio bad. It can be solved with a lot of #ifdef but is not easy.

        Also tested with (Have steal it from the jenkins-server :) )

        Arduino --verify -v --board Arduino: AVR pro --pref build.f_cpu = 8000000 --pref build.mcu = ATMEGA328P --pref compiler.warning_level = all --pref sketchbook.path = libraries/mysensors MyNode/MyNode.ino
        

        but then it becomes very inflexible. (Has built a small bashscript for this)

        How do you others to keep track of your code and to build in a smooth way with a nice IDE?

        1 Reply Last reply
        0
        • TD22057T TD22057

          I spent part of this afternoon trying sublime text + platformio. What a pain in the a$$. The problem with all these "auto" systems is that when they break, they don't tell you enough to figure out how to fix it. I can't get platformio to include a custom include path and it's not obvious how it's managing build directories so I can't even get it to find include files that seem like they should be visible.

          I guess I'm going to try stino, Arduino-Makefile, or Arduino-cmake with sublimetext next.

          I Offline
          I Offline
          ivankravets
          wrote on last edited by
          #12

          @TD22057 thanks a lot for your feedback. If you have any problems with software (including open-source), don't forget to report them to developers.

          I'm a founder of PlatformIO and will try to answer on the all questions.

          I can't get platformio to include a custom include path and it's not obvious how it's managing build directories

          See documentation for it http://docs.platformio.org/en/latest/projectconf.html#build-flags

          The problem with all these "auto" systems is that when they break, they don't tell you enough to figure out how to fix it.

          The default behaviour of PlatformIO's builder is to build all *.c, *.cpp, *.S files. If this behaviour isn't good for your project, then you can control it via http://docs.platformio.org/en/latest/projectconf.html#src-filter

          I understand that developers like to "adopt" own source code (libraries) for the specified builder and then claim other builders that they What a pain in the a$. If someone like car which works using petrol, then it doesn't mean that people who use diesel cars are What a pain in the a$.


          I've just added to PlatformIO FAQ the answer for question Can not compile a library that compiles without issue with Arduino IDE.

          P.S: Friends, we spent our spare time to improve this embedded world. Our users don't understand that we do it totally FOR FREE and share all efforts via OPEN-SOURCE. Let's respect each other.


          Regards, Ivan Kravets

          • Ph.D, Researcher and Software Architect
          • "Creativity comes from talent and never from knowledge" (c)

          http://www.ikravets.com

          Regards Ivan,
          The PlatformIO Team

          1 Reply Last reply
          1
          • S Offline
            S Offline
            smilvert
            wrote on last edited by smilvert
            #13

            @ivankravets Thanks a lot!! :)

            Now I think that it works with the latest commit on github->dev-branch.
            I will try it to night and if I got time I will publish my node code/building structure as well.

            Here was my platformio.ini file that I tested with:

            [env:pro8MHzatmega328]
            platform = atmelavr
            framework = arduino
            board = pro8MHzatmega328
            build_flags = -I/(PATH_TO_MYSENSORS_GITHUB)/libraries/MySensors
            lib_ignore = MySensors
            
            
            YveauxY I 3 Replies Last reply
            1
            • S smilvert

              @ivankravets Thanks a lot!! :)

              Now I think that it works with the latest commit on github->dev-branch.
              I will try it to night and if I got time I will publish my node code/building structure as well.

              Here was my platformio.ini file that I tested with:

              [env:pro8MHzatmega328]
              platform = atmelavr
              framework = arduino
              board = pro8MHzatmega328
              build_flags = -I/(PATH_TO_MYSENSORS_GITHUB)/libraries/MySensors
              lib_ignore = MySensors
              
              
              YveauxY Offline
              YveauxY Offline
              Yveaux
              Mod
              wrote on last edited by
              #14

              @smilvert I'd be very interested in a short howto, once you succeed!

              http://yveaux.blogspot.nl

              1 Reply Last reply
              1
              • S Offline
                S Offline
                smilvert
                wrote on last edited by
                #15

                @Yveaux I just uploaded the first version on github but currently I lacks sensors so I haven't verify the build_script but it seams to work in the console.

                (I should also add a howto when I get time :) )

                1 Reply Last reply
                0
                • S smilvert

                  @ivankravets Thanks a lot!! :)

                  Now I think that it works with the latest commit on github->dev-branch.
                  I will try it to night and if I got time I will publish my node code/building structure as well.

                  Here was my platformio.ini file that I tested with:

                  [env:pro8MHzatmega328]
                  platform = atmelavr
                  framework = arduino
                  board = pro8MHzatmega328
                  build_flags = -I/(PATH_TO_MYSENSORS_GITHUB)/libraries/MySensors
                  lib_ignore = MySensors
                  
                  
                  I Offline
                  I Offline
                  ivankravets
                  wrote on last edited by
                  #16

                  @smilvert we have an issue Handle specific extra build flags from library.json which should resolve your problems. In this case, you will need to skip *.cpp/*.c files from building process using library.json.

                  Regards Ivan,
                  The PlatformIO Team

                  1 Reply Last reply
                  0
                  • S smilvert

                    @ivankravets Thanks a lot!! :)

                    Now I think that it works with the latest commit on github->dev-branch.
                    I will try it to night and if I got time I will publish my node code/building structure as well.

                    Here was my platformio.ini file that I tested with:

                    [env:pro8MHzatmega328]
                    platform = atmelavr
                    framework = arduino
                    board = pro8MHzatmega328
                    build_flags = -I/(PATH_TO_MYSENSORS_GITHUB)/libraries/MySensors
                    lib_ignore = MySensors
                    
                    
                    I Offline
                    I Offline
                    ivankravets
                    wrote on last edited by ivankravets
                    #17

                    Related issue https://github.com/platformio/platformio/issues/331

                    @smilvert I've just re--tested without lib_ignore option and it works! Please don't place MySensors library to the lib directory.

                    platformio.ini

                    [env:uno]
                    platform = atmelavr
                    framework = arduino
                    board = uno
                    src_build_flags = -I/Users/ikravets/Downloads/Arduino-development/libraries/MySensors
                    

                    Project

                    ➜  /  tree /tmp/111
                    /tmp/111
                    ├── lib
                    │   └── readme.txt
                    ├── platformio.ini
                    └── src
                        └── GatewaySerial.ino
                    
                    2 directories, 3 files
                    

                    Terminal

                    (develop)➜  origin git:(develop) ✗ platformio run -d /tmp/111
                    [Fri Nov 27 19:38:03 2015] Processing uno (src_build_flags: -I/Users/ikravets/Downloads/Arduino-development/libraries/MySensors, platform: atmelavr, board: uno, framework: arduino)
                    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
                    avr-g++ -o .pioenvs/uno/src/tmp_ino_to.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -DPLATFORMIO=020306 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant -I.pioenvs/uno/SPI -I/Users/ikravets/Downloads/Arduino-development/libraries/MySensors src/tmp_ino_to.cpp
                    avr-ar rcs .pioenvs/uno/libFrameworkArduinoVariant.a
                    avr-ranlib .pioenvs/uno/libFrameworkArduinoVariant.a
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/CDC.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/CDC.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/HardwareSerial.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/HardwareSerial.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/HardwareSerial0.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/HardwareSerial0.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/HardwareSerial1.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/HardwareSerial1.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/HardwareSerial2.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/HardwareSerial2.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/HardwareSerial3.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/HardwareSerial3.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/IPAddress.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/IPAddress.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/PluggableUSB.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/PluggableUSB.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/Print.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/Print.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/Stream.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/Stream.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/Tone.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/Tone.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/USBCore.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/USBCore.cpp
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/WInterrupts.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/WInterrupts.c
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/WMath.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/WMath.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/WString.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/WString.cpp
                    avr-gcc -x assembler-with-cpp -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant -c -o .pioenvs/uno/FrameworkArduino/_wiring_pulse.o .pioenvs/uno/FrameworkArduino/_wiring_pulse.S
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/abi.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/abi.cpp
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/hooks.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/hooks.c
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/main.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/main.cpp
                    avr-g++ -o .pioenvs/uno/FrameworkArduino/new.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/new.cpp
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/wiring.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/wiring.c
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/wiring_analog.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/wiring_analog.c
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/wiring_digital.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/wiring_digital.c
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/wiring_pulse.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/wiring_pulse.c
                    avr-gcc -o .pioenvs/uno/FrameworkArduino/wiring_shift.o -c -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant .pioenvs/uno/FrameworkArduino/wiring_shift.c
                    avr-ar rcs .pioenvs/uno/libFrameworkArduino.a .pioenvs/uno/FrameworkArduino/CDC.o .pioenvs/uno/FrameworkArduino/HardwareSerial.o .pioenvs/uno/FrameworkArduino/HardwareSerial0.o .pioenvs/uno/FrameworkArduino/HardwareSerial1.o .pioenvs/uno/FrameworkArduino/HardwareSerial2.o .pioenvs/uno/FrameworkArduino/HardwareSerial3.o .pioenvs/uno/FrameworkArduino/IPAddress.o .pioenvs/uno/FrameworkArduino/PluggableUSB.o .pioenvs/uno/FrameworkArduino/Print.o .pioenvs/uno/FrameworkArduino/Stream.o .pioenvs/uno/FrameworkArduino/Tone.o .pioenvs/uno/FrameworkArduino/USBCore.o .pioenvs/uno/FrameworkArduino/WInterrupts.o .pioenvs/uno/FrameworkArduino/WMath.o .pioenvs/uno/FrameworkArduino/WString.o .pioenvs/uno/FrameworkArduino/_wiring_pulse.o .pioenvs/uno/FrameworkArduino/abi.o .pioenvs/uno/FrameworkArduino/hooks.o .pioenvs/uno/FrameworkArduino/main.o .pioenvs/uno/FrameworkArduino/new.o .pioenvs/uno/FrameworkArduino/wiring.o .pioenvs/uno/FrameworkArduino/wiring_analog.o .pioenvs/uno/FrameworkArduino/wiring_digital.o .pioenvs/uno/FrameworkArduino/wiring_pulse.o .pioenvs/uno/FrameworkArduino/wiring_shift.o
                    avr-ranlib .pioenvs/uno/libFrameworkArduino.a
                    avr-g++ -o .pioenvs/uno/SPI/SPI.o -c -fno-exceptions -fno-threadsafe-statics -g -Os -Wall -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DARDUINO=10606 -I.pioenvs/uno/FrameworkArduino -I.pioenvs/uno/FrameworkArduinoVariant -I.pioenvs/uno/SPI .pioenvs/uno/SPI/SPI.cpp
                    avr-ar rcs .pioenvs/uno/libSPI.a .pioenvs/uno/SPI/SPI.o
                    avr-ranlib .pioenvs/uno/libSPI.a
                    avr-g++ -o .pioenvs/uno/firmware.elf -Os -mmcu=atmega328p -Wl,--gc-sections,--relax .pioenvs/uno/src/tmp_ino_to.o -L.pioenvs/uno -Wl,--start-group -lm .pioenvs/uno/libFrameworkArduinoVariant.a .pioenvs/uno/libFrameworkArduino.a .pioenvs/uno/libSPI.a -Wl,--end-group
                    avr-objcopy -O ihex -R .eeprom .pioenvs/uno/firmware.elf .pioenvs/uno/firmware.hex
                    "avr-size" --mcu=atmega328p -C -d .pioenvs/uno/firmware.elf
                    AVR Memory Usage
                    ----------------
                    Device: atmega328p
                    
                    Program:   13988 bytes (42.7% Full)
                    (.text + .data + .bootloader)
                    
                    Data:        697 bytes (34.0% Full)
                    (.data + .bss + .noinit)
                    

                    Regards Ivan,
                    The PlatformIO Team

                    1 Reply Last reply
                    0
                    • lrtsenarL Offline
                      lrtsenarL Offline
                      lrtsenar
                      wrote on last edited by
                      #18

                      Hi,

                      I use Source Insight. Sure it's not free but it's a full featured tools never equaled (like Visual Assist plug in for Visual Studio).

                      1 Reply Last reply
                      0
                      • barduinoB Offline
                        barduinoB Offline
                        barduino
                        wrote on last edited by
                        #19

                        HI

                        I've been trying vs code

                        It has GIT integration, Arduino file format and some auto complete.

                        vs_code_A.png

                        It is also capable of verifying and uploading the sketch

                        vs_code_b.png

                        Cheers

                        1 Reply Last reply
                        1
                        • axillentA Offline
                          axillentA Offline
                          axillent
                          Mod
                          wrote on last edited by
                          #20

                          atmel added arduino support to their latest atmel studio v7
                          not tested yet, but it should be also an option

                          sense and drive

                          1 Reply Last reply
                          0
                          • marceltrapmanM Offline
                            marceltrapmanM Offline
                            marceltrapman
                            Mod
                            wrote on last edited by
                            #21

                            I've (very) recently moved from Eclipse to IntelliJ for my Java and PyCharm for my Python development.
                            I am really happy and have a subscription for the whole IDE ecosystem from JetBrains.

                            With that comes CLion which also has an Arduino Plugin.
                            I have not tried using it yet but it looks good.
                            And CLion also works with PlatformIO (http://docs.platformio.org/en/latest/ide/clion.html)

                            Fulltime Servoy Developer
                            Parttime Moderator MySensors board

                            I use Domoticz as controller for Z-Wave and MySensors (previously Indigo and OpenHAB).
                            I have a FABtotum to print cases.

                            1 Reply Last reply
                            0
                            • Daniel OliveiraD Offline
                              Daniel OliveiraD Offline
                              Daniel Oliveira
                              wrote on last edited by
                              #22

                              Hello,

                              @smilvert I would like to know if you succeed using PlatformIO.

                              Thank you

                              MySensors rules my home :)

                              I 1 Reply Last reply
                              0
                              • hekH Offline
                                hekH Offline
                                hek
                                Admin
                                wrote on last edited by
                                #23

                                MySensors is on plaformio, so I guess it should work.

                                http://platformio.org/lib/show/548/MySensors

                                1 Reply Last reply
                                0
                                • Daniel OliveiraD Daniel Oliveira

                                  Hello,

                                  @smilvert I would like to know if you succeed using PlatformIO.

                                  Thank you

                                  I Offline
                                  I Offline
                                  ivankravets
                                  wrote on last edited by ivankravets
                                  #24

                                  @Daniel-Oliveira We have some problems with previous PlatformIO 2.0 Build System and MySensor Library structure. All these issues are resolved in PlatformIO 3.0 where are introduced new build system and library manager with support for 3-rd party manifests (Arduino's library.properties, ARM mbed module.json).

                                  PlatformIO 3.0 has not been finally released. We released the first public alpha version. How to use it?

                                  1. Install PlatformIO IDE or PlatformIO CLI and switch it to development version.
                                  2. Menu: PlatformIO > Initialize new project
                                  3. Open platformio.ini project configuration files (will be created in the project)
                                  4. Specify project dependencies. See docs for lib_deps option.
                                  5. Press build/upload button.

                                  For example, the final project configuration file for the Arduino Uno will look like:

                                  [env:uno]
                                  platform = atmelavr
                                  framework = arduino
                                  board = uno
                                  lib_deps = MySensors
                                  

                                  You can also specify Semantic Versioning rules and depend on the specific version or range of versions. For example, lib_deps = MySensors@~2.0.1-beta means that any version of 2.0.x (including beta and higher) is allowed for your project.

                                  Regards Ivan,
                                  The PlatformIO Team

                                  tbowmoT 1 Reply Last reply
                                  3
                                  • hekH Offline
                                    hekH Offline
                                    hek
                                    Admin
                                    wrote on last edited by
                                    #25

                                    @ivankravets

                                    You've done a great job on plaformio :thumbsup: , finally a decent library manager with dependency handling.

                                    I 1 Reply Last reply
                                    1
                                    • I ivankravets

                                      @Daniel-Oliveira We have some problems with previous PlatformIO 2.0 Build System and MySensor Library structure. All these issues are resolved in PlatformIO 3.0 where are introduced new build system and library manager with support for 3-rd party manifests (Arduino's library.properties, ARM mbed module.json).

                                      PlatformIO 3.0 has not been finally released. We released the first public alpha version. How to use it?

                                      1. Install PlatformIO IDE or PlatformIO CLI and switch it to development version.
                                      2. Menu: PlatformIO > Initialize new project
                                      3. Open platformio.ini project configuration files (will be created in the project)
                                      4. Specify project dependencies. See docs for lib_deps option.
                                      5. Press build/upload button.

                                      For example, the final project configuration file for the Arduino Uno will look like:

                                      [env:uno]
                                      platform = atmelavr
                                      framework = arduino
                                      board = uno
                                      lib_deps = MySensors
                                      

                                      You can also specify Semantic Versioning rules and depend on the specific version or range of versions. For example, lib_deps = MySensors@~2.0.1-beta means that any version of 2.0.x (including beta and higher) is allowed for your project.

                                      tbowmoT Offline
                                      tbowmoT Offline
                                      tbowmo
                                      Admin
                                      wrote on last edited by
                                      #26

                                      @ivankravets

                                      Great work.. One question, is it possible to install your own hardware profiles? For example for the Sensebender Micro, or the new Gateway device I'm working on?

                                      I 1 Reply Last reply
                                      1
                                      • hekH hek

                                        @ivankravets

                                        You've done a great job on plaformio :thumbsup: , finally a decent library manager with dependency handling.

                                        I Offline
                                        I Offline
                                        ivankravets
                                        wrote on last edited by
                                        #27

                                        @hek thanks a lot for the feedback :+1:

                                        Regards Ivan,
                                        The PlatformIO Team

                                        1 Reply Last reply
                                        0
                                        • tbowmoT tbowmo

                                          @ivankravets

                                          Great work.. One question, is it possible to install your own hardware profiles? For example for the Sensebender Micro, or the new Gateway device I'm working on?

                                          I Offline
                                          I Offline
                                          ivankravets
                                          wrote on last edited by ivankravets
                                          #28

                                          @tbowmo Sure, it is possible in PlatformIO 2.0 too. However, we don't recommend to make integration with it. PlatformIO 2.0 has not been changed since 2014 year. It was as hobby/experimental project.

                                          PlatformIO 3.0 is a new PlatformIO where all hardware related parts were moved to separated repositories. PlatformIO 3.0 is closer to open source. You don't need to contact with The PlatformIO Team (as you need to do it with PlatformIO 2.0) because you can create own development platform, clone existing or just add an own board to the existing development platform. Feel free to make PR and we will merge it.

                                          We will create "Development Platforms Registry" later. It will 3-rd party developers to register own development platforms and hardware in the public registry.

                                          The core idea of PlatformIO 3.0 is to provide professional cross-platform build system without dependencies with powerful library manager. It will allow others developers/companies to create awesome software basing on PlatformIO Tools.

                                          P.S: Here is docs (beta) how to create development platform or integrate custom embedded board: http://docs.platformio.org/en/latest/platforms/custom_platform_and_board.html

                                          Regards Ivan,
                                          The PlatformIO Team

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          14

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular