Publish library in PlatformIO

Issue #7 resolved
Dominik Markiewicz created an issue

It would be nice to have access to this library in PlatformIO manager:

http://docs.platformio.org/en/latest/librarymanager/creating.html

Comments (9)

  1. Tim Eckel repo owner

    No clue as to what PlatformIO is or why it would be needed. It also has nothing to do with an issue with the library. It's impossible to track down the flavor of the week website like this. Also, I only want ONE place to manage the library from. Having it multiple places would be beyond stupid. Anyway, I have no idea what PlatformIO is or why having my library in two locations would be considered an issue for the library.

  2. Tim Eckel repo owner

    Not an issue with the library at all. I assume it's a request to decentralize the library so it's in two places. But, I have no idea what PlatformIO is. Anyway, having the library in two locations seems beyond stupid.

  3. Dominik Markiewicz reporter

    PlatformIO is just a toolchain for IoT platforms with built-in library register/manager. Library manager is like npm for node, pip for python, NuGet for .net or many others in any modern language/developers stack. You still have your code in one place, you just register your library with small additional config file. In this sense, it's not issue in a library code itself, but feature for library users. IMHO worth to consider.

    From platform IO page: “Different microcontrollers normally have different developing tools . For instance Arduino rely on Arduino IDE. Few more advanced users set up different graphical interfaces like Eclipse for better project management. Sometimes it may be hard to keep up with different microcontrollers and tools. You probably thought that single unified development tool could be great. Well this is what PlatformIO open source ecosystem is for.

    This is cross platform code builder and library manager with platforms like Arduino or MBED support. They took care of toolchains, debuggers, frameworks that work on most popular platforms like Windows, Mac and Linux. It supports more than 200 development boards along with more than 15 development platforms and 10 frameworks. So most of popular boards are covered. They’ve done hard work in organizing and managing hundreds of libraries that can be included in to your project. Also lots of examples allow you to start developing quickly. PlatformIO initially was developed with Command line philosophy. It’s been successfully used with other IDE’s like Eclipse or Visual Studio. Recently they’ve released a version with built in IDE based on Atom text editor”,

    Best Regards

  4. Tim Eckel repo owner

    Your first paragraph is Chinese to me. As my library is on Bitbucket, in order for it to be in any other location I would need to upload it, which means managing it in two locations, which I don't want to do.

    I don't find it hard to keep up with different microcontrollers and tools, as I only use Arduino or compatible microcontrollers and only use the Arduino IDE. NewPing is an Arduino compatible only library, which is designed to work only with the Arduino IDE. So, there should be no confusion about different microcontrollers or tools. I already have a single unified development tool (Arduino IDE). Therefore, PlatformIO seems totally nonsensical to me.

    And paragraph 3 is more Chinese. I tried to install PlatformIO and I couldn't get it to install. It assumes you already have other supporting programs installed to work and doesn't have direct links to those required programs. Very poorly designed website links to downloads. I got totally stuck when it kept saying that Python wasn't installed, yet I did install it. Something about an environment variable, yet when installing Python I told it to set it. Anyway, couldn't even get past the install, so it was deleted.

    The PlatformIO website also does a VERY poor job of explaining what it is and why you need it. It doesn't give a clear problem (that I have) that PlatformIO solves. It's like the entire site (including the poorly designed download links) were all designed by people that are too close to the project, so they assume you already know what it is. Someone from the total outside needs to rework the copy on the website and fix the download/install steps. Also, all the Chinese on the site needs to be reworded so anyone can understand WTF it even does or why one would want to use it. Poorly designed from the ground up, classic example of being too close to the project to communicate it to the rest of the world. I work in the marketing world and this is almost a case study of how to do it wrong.

    Anyway, I still don't see why anyone would need this, why it would't require me to manage two library locations, and why it has anything to do with NewPing that would justify an issue with the library.

  5. Dominik Markiewicz reporter

    Hmm, the description is totally clear for me... But I'm full time programmer, so maybe this is the reason. I also didn't have any issue with installation (linux). I want to notice, that I'm not connected to PlatformIO project, I'm just new happy user ;)

    This is cool stuff if only your project become bigger (in sense of source code or you want to run your code on multiple, different arduinos or other boards/mcu's). Arduino IDE is like notepad with highlighting + upload... There is no code autocompletion - even vim has one. There is no project view, plugins, many useful shortcuts like in other modern IDEs, etc... Moreover, installation and management libraries is much more easier, especially if one library depend of another one. Consider such situation: you create library wchitch depend of another one, eg. OneWire sensor library depend of OneWire protocol library. In this case in Arduino IDE you have to manally install library and dependencies. Using PlatformIO you just install sensor one, dependencies are installed automatically. So this are main benefits of using this.

    About upload - as I said, you don't have to put your code in different location. You just provide information where your library is located (bitbucket) + supported platforms in one manifest file (added in your repository). Then crawler will look up for your library and update information in library database based on this manifest. It doesn't store library itself, only metainformation (name, description, versions, supported platforms, etc) + path to location.

    Anyway, I found your library as a great stuff but also it's a little annoing to install it manually. I don't want to convince you more, I hope it's just a little bit more clear for you now ;)

    Btw. Is your source code also on any public repository on bitbucket, because I found only this zip?

  6. Tim Eckel repo owner

    I'm a full time programmer as well, but I use none of that terminology.

    I was installing on Windows, using their instructions. I've been in contact with the PlatformIO developers and they changed a few things on their download pages that were totally wrong and/or ambiguous. While the instructions are more clear now, they still don't work (at least for me).

    I do all of my professional programming in Notepad++ or Sublime Text, so maybe that's why I see no need for anything more than the Arduino IDE. I hate tools that auto-complete, they get in my way because they seldom auto-complete what I actually want them to do. So, I spend more time deleting and reformatting.

    I can't think of a reason I would need a project view or plugins with the Arduino IDE, I don't need anything like that when programming in Notepad++ either. Maybe I've been programming too long and it's just easier for me to do everything myself. I don't need a debug console, breakpoints, stack viewer, or whatever. I can program and debug without any of that stuff. Those things didn't exist when I learned to program, so it's all just noise to me which slows me down. I also don't like version control. I prefer my automated method of multi-system development where I never need to commit or update anything, it's all automatic.

    Maybe you need to install the OneWire library and dependencies in Linux, but on Windows I've never had to do that with Arduino.

    I've been in contact with the PlatformIO developers and they just reported back to me that there's no problem with my library. It compiled fine with no errors. Here's the output they provided: https://gist.github.com/valeros/342ecb560717bdf698d8.

    I only supply the source as a ZIP as using a repository is nothing but trouble and headache.

  7. Log in to comment