<div dir="ltr">Well spotted ;-) I have the code building via Platform IO, and I am pondering how to persuade Travis CI to build using both Arduino IDE and Platform IO, probably going to just have to move the install/build commands into scripts and use a variable to switch between them,<div><br></div><div>With regard to your questions;</div><div><br></div><div><div style="font-size:12.8px">- Ease of setting up.<br></div></div><div>Platform IO is comparable to Arduino IDE in terms of setting up. The IDE is just an install similar to other apps. You still need to a bit of manual install of the V0p2 board config, but I will fond out from the OEM guys how to add the config to the main Platform IO repo, I think it is just a case of a PR.</div><div><br></div><div><div style="font-size:12.8px">- Dependency management with versioning etc.<br></div></div><div>The Libraries have full dependency management specifying specific versions if needed, and this is project specific so one project does not mess up others. This is also specified in the project file so makes getting started far easier compared with Arduino IDE.</div><div><br></div><div><div style="font-size:12.8px">- The possibility of supporting another MCU.<br></div></div><div>Platform IO supports many more MCUs (and CPUs) than Arduino IDE and without a lot of the messing around adding additional with a board manager as there is a central (online) repository. However that does not necessarily translate to easy of moving the OpenTRV code to another CPU, it depends on how dependant OpenTRV is on the Arduino APIs and AVR. Also it should also be noted that Arduino IDE also supports a huge range of MCUs these days</div><div><br></div><div><div style="font-size:12.8px">- Maintaining support for building on the Arduino IDE.<br></div></div><div>Platform IO projects can easily be built in Arduino IDE and visa-versa. I did have to make one change due to some pre-processor weirdness which was to move the main content of the .ino file to a .cpp file but an empty .ino file is all that is needed to allow builds in Arduino IDE</div><div><br></div><div>Here are some other Platform IO IDE advantages;</div><div>- Code completion</div><div>- Built on Atom IDE, with access to all the extensions that supports</div><div>- Huge development effort and support</div><div>- Easy to support building of different configs without changing the code</div><div><br></div><div>but there are also some disadvantages;</div><div>- I am not aware of any support for flashing bootloaders (but I have not really looked for any)</div><div>- Sometimes there are inconsistencies with Arduino IDE (as mentioned above) but I have also had weirdness with an Arduino Mega, but even in these cases I find it a much more pleasant experience to code in Platform IO and just build with Arduino IDE.</div><div><br></div><div>FYI to add the V0p2 support to Platform IO copy <a href="https://github.com/jeremypoulter/OpenTRV-Arduino-V0p2/raw/master/Arduino/hardware/V0p2.json">https://github.com/jeremypoulter/OpenTRV-Arduino-V0p2/raw/master/Arduino/hardware/V0p2.json</a> to ~/.platfomio/<span style="color:rgb(24,54,145);font-family:sfmono-regular,consolas,"liberation mono",menlo,courier,monospace;font-size:12px;white-space:pre">boards</span>/</div><div> </div><div>Jeremy</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 March 2017 at 15:52, Deniz Erbilgin <span dir="ltr"><<a href="mailto:deniz.erbilgin@gmail.com" target="_blank">deniz.erbilgin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>Hi All,<br><br></div>Does anyone have any experience/thoughts on PlatformIO?<br><br></div>Jeremy P has got our code compiling on it and we've been looking for a better build environment than the Arduino IDE can currently provide.<br><br></div><div>We're specifically interested in:<br></div><div>- Ease of setting up.<br></div><div>- Dependency management with versioning etc.<br></div><div>- The possibility of supporting another MCU.<br></div><div>- Maintaining support for building on the Arduino IDE.<br></div><div><br></div>repo here if anyone wants to take a look:<br><a href="https://github.com/jeremypoulter/OpenTRV-Arduino-V0p2/tree/master/Arduino" target="_blank">https://github.com/<wbr>jeremypoulter/OpenTRV-Arduino-<wbr>V0p2/tree/master/Arduino</a><br><br></div>Thanks,<br><br></div>Deniz<br></div>
<br>______________________________<wbr>_________________<br>
OpenTRV-dev mailing list<br>
<a href="mailto:OpenTRV-dev@lists.opentrv.org.uk">OpenTRV-dev@lists.opentrv.org.<wbr>uk</a><br>
<a href="http://lists.opentrv.org.uk/listinfo/opentrv-dev" rel="noreferrer" target="_blank">http://lists.opentrv.org.uk/<wbr>listinfo/opentrv-dev</a><br>
<br></blockquote></div><br></div>