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.
  • I ivankravets

    @dpressle

    1. Do you use the latest http://docs.platformio.org/en/stable/installation.html#development-version ?
    2. Do you have #include <Arduino.h> in one of your project file?
    dpressleD Offline
    dpressleD Offline
    dpressle
    wrote on last edited by
    #41

    @ivankravets said:

    @dpressle

    1. Do you use the latest http://docs.platformio.org/en/stable/installation.html#development-version ?
    2. Do you have #include <Arduino.h> in one of your project file?

    You got it right, all i needed is to do is to use the development branch.

    Thanks.

    1 Reply Last reply
    0
    • hekH hek

      @ivankravets said:

      I can prepare .travis.yml for you.

      That would be great!

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

      @hek

      .travis.yml config (should be placed in the root of project)

      language: python
      python:
          - "2.7"
      
      # Cache PlatformIO packages using Travis CI container-based infrastructure
      sudo: false
      cache:
          directories:
              - ~/.platformio
      
      env:
          - PLATFORMIO_CI_SRC=examples/AirQualitySensor
          - PLATFORMIO_CI_SRC=examples/BatteryPoweredSensor
          - PLATFORMIO_CI_SRC=examples/BinarySwitchSleepSensor
          - PLATFORMIO_CI_SRC=examples/ClearEepromConfig
          - PLATFORMIO_CI_SRC=examples/CO2Sensor
          - PLATFORMIO_CI_SRC=examples/DimmableLEDActuator
          - PLATFORMIO_CI_SRC=examples/DimmableLight
          - PLATFORMIO_CI_SRC=examples/DustSensor
          - PLATFORMIO_CI_SRC=examples/DustSensorDSM
          - PLATFORMIO_CI_SRC=examples/EnergyMeterPulseSensor
          - PLATFORMIO_CI_SRC=examples/GatewayESP8266 PLATFORMIO_CI_BOARDS_ARGS="--board esp01 --board nodemcuv2"
          - PLATFORMIO_CI_SRC=examples/GatewayESP8266MQTTClient PLATFORMIO_CI_BOARDS_ARGS="--board esp01 --board nodemcuv2"
          - PLATFORMIO_CI_SRC=examples/GatewayESP8266OTA PLATFORMIO_CI_BOARDS_ARGS="--board esp01 --board nodemcuv2"
          - PLATFORMIO_CI_SRC=examples/GatewaySerial
          - PLATFORMIO_CI_SRC=examples/GatewaySerialRS485
          - PLATFORMIO_CI_SRC=examples/GatewayW5100
          - PLATFORMIO_CI_SRC=examples/GatewayW5100MQTTClient
          - PLATFORMIO_CI_SRC=examples/LightSensor
          - PLATFORMIO_CI_SRC=examples/MockMySensors
          - PLATFORMIO_CI_SRC=examples/MotionSensor
          - PLATFORMIO_CI_SRC=examples/MotionSensorRS485
          - PLATFORMIO_CI_SRC=examples/PHSensor
          - PLATFORMIO_CI_SRC=examples/PingPongSensor
          - PLATFORMIO_CI_SRC=examples/RelayActuator
          - PLATFORMIO_CI_SRC=examples/RepeaterNode
          - PLATFORMIO_CI_SRC=examples/SecretKnockSensor
          - PLATFORMIO_CI_SRC=examples/SecureActuator
          - PLATFORMIO_CI_SRC=examples/SecurityPersonalizer
          - PLATFORMIO_CI_SRC=examples/SoilMoistSensor
          - PLATFORMIO_CI_SRC=examples/UVSensor
          - PLATFORMIO_CI_SRC=examples/VibrationSensor
          - PLATFORMIO_CI_SRC=examples/WaterMeterPulseSensor
      
      install:
          # Don't forget to switch to stable PlatformIO 3.0 (line below) when it will be released
          # - pip install -U platformio
          - pip install -U https://github.com/platformio/platformio/archive/develop.zip
      
      script:
          - if [[ $PLATFORMIO_CI_BOARDS_ARGS ]]; then bash -c 'platformio ci --lib="." $PLATFORMIO_CI_BOARDS_ARGS'; else platformio ci  --lib="." --board uno --board megaatmega2560 --board esp01 --board nodemcuv2 --board zero; fi
      

      Here are test results. Some examples are failed because I don't know if they should be compatible with all boards or just AVR-based. You can specify custom boards per example using $PLATFORMIO_CI_BOARDS_ARGS. See example above for examples/GatewayESP8266.

      Also, you can add a lot of boards as you need. Please check PlatformIO Board Manager.

      To enable project for Travis CI please follow the steps 1, 2 and 5 here http://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI

      Regards Ivan,
      The PlatformIO Team

      1 Reply Last reply
      2
      • I ivankravets

        @stedew my congrats for your wife :blush: :bouquet: :birthday:

        S Offline
        S Offline
        stedew
        wrote on last edited by
        #43

        @ivankravets
        Hello Mr Ivankravets

        Ok birthday is done and bottles empty....
        -Well When you compare to Arduino IDE vs PlatforIO is something slightly different:
        Running the "BatteryPoweredSensor.ino" (Mysensors 2.0) example in Arduino 1.6
        1)Load new Sketch "Examples">>Mysensors >> BatteryPoweredSensor
        2)Compile >>will not work for all boards (due to INTERNAL is not defined for all AVR members )
        3)Download to controller

        PlatformIO:
        1) Choose Board (here tested with UNO)
        2) Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )
        3) Copy code file from Mysensors example dir to PlatformIO \src dir (right click open in explorer)
        4) Enable Use development Version of PlatformIO (at the moment for PIO 3.0) in settings
        5) Add PATH string variable in settings (Good explanation anyway)
        6) Start cmd (Powershell in Windoze) from PlatformIO
        7) Execute the cmd  >>  platformio lib install 548 (For Mysensors 2.0 lib)
        8) Compile
        9) Download to controller
        

        -This being sayed for these additional steps you get something what is non existing in Arduino ide:
        +AutoComplete variables /suggest with function prototypes
        +Acces to all used code off the included library
        +Compile in seconds

        -Still some questions also:
        Is there a quick way to refractor over source files (not readed the manual)?
        Goto declaration does not work (maybe my fault) Clang is installed however.
        Local version control?
        Specify wich serial port for upload (and not use the default first one)

        Tnx in advance,
        Stefan.

        I 1 Reply Last reply
        1
        • S stedew

          @ivankravets
          Hello Mr Ivankravets

          Ok birthday is done and bottles empty....
          -Well When you compare to Arduino IDE vs PlatforIO is something slightly different:
          Running the "BatteryPoweredSensor.ino" (Mysensors 2.0) example in Arduino 1.6
          1)Load new Sketch "Examples">>Mysensors >> BatteryPoweredSensor
          2)Compile >>will not work for all boards (due to INTERNAL is not defined for all AVR members )
          3)Download to controller

          PlatformIO:
          1) Choose Board (here tested with UNO)
          2) Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )
          3) Copy code file from Mysensors example dir to PlatformIO \src dir (right click open in explorer)
          4) Enable Use development Version of PlatformIO (at the moment for PIO 3.0) in settings
          5) Add PATH string variable in settings (Good explanation anyway)
          6) Start cmd (Powershell in Windoze) from PlatformIO
          7) Execute the cmd  >>  platformio lib install 548 (For Mysensors 2.0 lib)
          8) Compile
          9) Download to controller
          

          -This being sayed for these additional steps you get something what is non existing in Arduino ide:
          +AutoComplete variables /suggest with function prototypes
          +Acces to all used code off the included library
          +Compile in seconds

          -Still some questions also:
          Is there a quick way to refractor over source files (not readed the manual)?
          Goto declaration does not work (maybe my fault) Clang is installed however.
          Local version control?
          Specify wich serial port for upload (and not use the default first one)

          Tnx in advance,
          Stefan.

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

          @stedew

          1. Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )

          Atom uses your system file manager and should allow creating a new directory. In most cases, the button in file manager is named as "New Folder". What is your OS?

          1. Add PATH string variable in settings (Good explanation anyway)

          Why do you need that? It should work with empty field if "Use built-in PlatformIO CLI" is checked. This option is for advanced using when you want to use custom PlatformIO CLI that is installed in Python virtualenv outside IDE.

          1. Start cmd (Powershell in Windoze) from PlatformIO
          2. Execute the cmd >> platformio lib install 548 (For Mysensors 2.0 lib)

          No need to do that. See my comment https://forum.mysensors.org/topic/1369/best-ide-to-use-for-mysensors-projects/24 . Just add 1 line to your platformio.ini config: lib_deps = MySensors

          -This being sayed for these additional steps you get something what is non existing in Arduino ide:

          Yep, that is our big disadvantage. We don't have similar behaviour as Arduino IDE. Arduino IDE allows building 1 sketch for the 1 board. PlatformIO is another planet. You can build the same source with the multiple build environments(platforms, boards) and upload it simultaneously.

          Is there a quick way to refractor over source files (not readed the manual)?

          We have Menu: PlatformIO > Import Arduino IDE based project.... It allows keeping compatibility between 2 IDEs (you need to check a special checkbox in import wizard).

          Goto declaration does not work (maybe my fault) Clang is installed however.

          We have some issue under Windows OS. It should work under macOS/Linux.

          Local version control?

          PlatformIO IDE is based on Atom text editor. You can extend IDE with hundreds cool packages and themes. Please visit https://atom.io/packages
          Here is plugin what do you need https://atom.io/packages/local-history

          Specify wich serial port for upload (and not use the default first one)

          See upload_port option.

          P.S: Thanks a lot for the feedback! What we should improve?

          Regards Ivan,
          The PlatformIO Team

          S 1 Reply Last reply
          1
          • I ivankravets

            @stedew

            1. Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )

            Atom uses your system file manager and should allow creating a new directory. In most cases, the button in file manager is named as "New Folder". What is your OS?

            1. Add PATH string variable in settings (Good explanation anyway)

            Why do you need that? It should work with empty field if "Use built-in PlatformIO CLI" is checked. This option is for advanced using when you want to use custom PlatformIO CLI that is installed in Python virtualenv outside IDE.

            1. Start cmd (Powershell in Windoze) from PlatformIO
            2. Execute the cmd >> platformio lib install 548 (For Mysensors 2.0 lib)

            No need to do that. See my comment https://forum.mysensors.org/topic/1369/best-ide-to-use-for-mysensors-projects/24 . Just add 1 line to your platformio.ini config: lib_deps = MySensors

            -This being sayed for these additional steps you get something what is non existing in Arduino ide:

            Yep, that is our big disadvantage. We don't have similar behaviour as Arduino IDE. Arduino IDE allows building 1 sketch for the 1 board. PlatformIO is another planet. You can build the same source with the multiple build environments(platforms, boards) and upload it simultaneously.

            Is there a quick way to refractor over source files (not readed the manual)?

            We have Menu: PlatformIO > Import Arduino IDE based project.... It allows keeping compatibility between 2 IDEs (you need to check a special checkbox in import wizard).

            Goto declaration does not work (maybe my fault) Clang is installed however.

            We have some issue under Windows OS. It should work under macOS/Linux.

            Local version control?

            PlatformIO IDE is based on Atom text editor. You can extend IDE with hundreds cool packages and themes. Please visit https://atom.io/packages
            Here is plugin what do you need https://atom.io/packages/local-history

            Specify wich serial port for upload (and not use the default first one)

            See upload_port option.

            P.S: Thanks a lot for the feedback! What we should improve?

            S Offline
            S Offline
            stedew
            wrote on last edited by
            #45

            @ivankravets

            Ok as i mentioned before:
            At start nothing worked like i wanted in PIO then start reading....
            Testing &implement all steps that seems to be needed (forums are top sometimes :-)
            Then changed computer (Wife...) and re-install everything from scratch.
            And so i came to this exhaustive (wrong) list
            So now the corrected one:

            PlatformIO:
            1) Choose Board (here tested with UNO)
            2) Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )
            2) Choose Dir ( existing dir or create "BatteryPoweredSensor" )
            3) Copy code file from Mysensors example dir to PlatformIO \src dir (right click open in explorer)
            4) Enable Use development Version of PlatformIO (at the moment for PIO 3.0) in settings
            ~~ 5) Add PATH string variable in settings (Good explanation anyway)~~
            ~~6) Start cmd (Powershell in Windoze) from PlatformIO ~~
            7) Execute the cmd >> platformio lib install 548 (For Mysensors 2.0 lib)
            5 ) add 1 line to your platformio.ini config: lib_deps = MySensors (Dmnn that i try-ed already did not work then ?? to many modifs made i think)
            6 ) Compile info: on my Laptop (slow one) compiles MySerialGw in 2sec!! (record for PIO)
            7 ) Download to controller

            About the other topics:
            Refractoring is handy especialy when you use constants over severall files.
            I am a chaotic person so i tend to forget one enum somewhere...
            Goto declaration >> ok have to switch OS maybe not you/team to blame.
            -Local history will try /need it (same problem as refractor point :-( )
            -upload_port very good one... will test it .

            --Improvements ?? Don't know i already own you a couple of beers i think.
            I believe it is maybe handy to have a write up with screenshots "Adventures migration from Arduino to PIO".

            Regards,Stefan.

            I 1 Reply Last reply
            0
            • S stedew

              @ivankravets

              Ok as i mentioned before:
              At start nothing worked like i wanted in PIO then start reading....
              Testing &implement all steps that seems to be needed (forums are top sometimes :-)
              Then changed computer (Wife...) and re-install everything from scratch.
              And so i came to this exhaustive (wrong) list
              So now the corrected one:

              PlatformIO:
              1) Choose Board (here tested with UNO)
              2) Choose Dir (only existing dir no create possible) (First make MKDIR BatteryPoweredSensor )
              2) Choose Dir ( existing dir or create "BatteryPoweredSensor" )
              3) Copy code file from Mysensors example dir to PlatformIO \src dir (right click open in explorer)
              4) Enable Use development Version of PlatformIO (at the moment for PIO 3.0) in settings
              ~~ 5) Add PATH string variable in settings (Good explanation anyway)~~
              ~~6) Start cmd (Powershell in Windoze) from PlatformIO ~~
              7) Execute the cmd >> platformio lib install 548 (For Mysensors 2.0 lib)
              5 ) add 1 line to your platformio.ini config: lib_deps = MySensors (Dmnn that i try-ed already did not work then ?? to many modifs made i think)
              6 ) Compile info: on my Laptop (slow one) compiles MySerialGw in 2sec!! (record for PIO)
              7 ) Download to controller

              About the other topics:
              Refractoring is handy especialy when you use constants over severall files.
              I am a chaotic person so i tend to forget one enum somewhere...
              Goto declaration >> ok have to switch OS maybe not you/team to blame.
              -Local history will try /need it (same problem as refractor point :-( )
              -upload_port very good one... will test it .

              --Improvements ?? Don't know i already own you a couple of beers i think.
              I believe it is maybe handy to have a write up with screenshots "Adventures migration from Arduino to PIO".

              Regards,Stefan.

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

              @stedew said:

              6 ) Compile info: on my Laptop (slow one) compiles MySerialGw in 2sec!! (record for PIO)

              How many seconds to you need for Arduino IDE builder?

              I believe it is maybe handy to have a write up with screenshots "Adventures migration from Arduino to PIO".

              Would be thankful for contribution. Our documentation is open source and everyone can edit it. For example, Documentation for PlatformIO IDE, click on Edit on GitHub.

              --Improvements ?? Don't know i already own you a couple of beers i think.

              Happy coding with PlatformIO! :blush:

              Regards Ivan,
              The PlatformIO Team

              1 Reply Last reply
              0
              • YveauxY Yveaux

                I recently bumped into PlatformIO.
                Seems like a very powerful build system for various hardware platforms.
                Frees a user from having to install a build system and libraries by hand.
                Does not include an editor, but I think this is a good thing as everyone has his own preferred editor, right?
                Anyone have experience with it?

                rb3rgR Offline
                rb3rgR Offline
                rb3rg
                wrote on last edited by
                #47

                @Yveaux said:

                I recently bumped into PlatformIO.
                ..
                Does not include an editor, but I think this is a good thing as everyone has his own preferred editor, right?
                Anyone have experience with it?

                You should use Atom editor (IDE) with PlatformIO.
                http://docs.platformio.org/en/stable/ide/atom.html
                https://atom.io/packages/platformio-ide

                YveauxY 1 Reply Last reply
                0
                • rb3rgR rb3rg

                  @Yveaux said:

                  I recently bumped into PlatformIO.
                  ..
                  Does not include an editor, but I think this is a good thing as everyone has his own preferred editor, right?
                  Anyone have experience with it?

                  You should use Atom editor (IDE) with PlatformIO.
                  http://docs.platformio.org/en/stable/ide/atom.html
                  https://atom.io/packages/platformio-ide

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

                  @rb3rg I know. It's even bundled with the installer now.
                  My post you're referring to is 12 months old...

                  http://yveaux.blogspot.nl

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


                  13

                  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