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.
  • hekH Offline
    hekH Offline
    hek
    Admin
    wrote on last edited by
    #38

    @ivankravets said:

    I can prepare .travis.yml for you.

    That would be great!

    I 1 Reply Last reply
    0
    • dpressleD Offline
      dpressleD Offline
      dpressle
      wrote on last edited by
      #39

      Did anyone get platformIO to work with MySensors? I get this error:
      .pioenvs\pro8MHzatmega328\MySensors_ID548\core\MyGatewayTransportMQTTClient.cpp:35:2: error: 'byte' does not name a type
      byte _MQTT_clientMAC[] = { MY_MAC_ADDRESS };
      ^

      and more...

      I 1 Reply Last reply
      0
      • dpressleD dpressle

        Did anyone get platformIO to work with MySensors? I get this error:
        .pioenvs\pro8MHzatmega328\MySensors_ID548\core\MyGatewayTransportMQTTClient.cpp:35:2: error: 'byte' does not name a type
        byte _MQTT_clientMAC[] = { MY_MAC_ADDRESS };
        ^

        and more...

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

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

        Regards Ivan,
        The PlatformIO Team

        dpressleD 1 Reply Last reply
        0
        • 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


                        7

                        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