this post was submitted on 18 Dec 2023
40 points (100.0% liked)
Ask Electronics
3173 readers
2 users here now
For questions about component-level electronic circuits, tools and equipment.
Rules
1: Be nice.
2: Be on-topic (eg: Electronic, not electrical).
3: No commercial stuff, buying, selling or valuations.
4: Be safe.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The thing is that they make it hard to archive that data or get it in any other format besides constant internet access. PIO provides zero instructions on offline usage and is plagued by "convenient" small bugs and dependencies that force you to be online all the time. Not even their repository URLs are stable, there's discussion about this on Github and the alleged links that would allow someone to actually download what is required is no longer there. I'm not talking about the library xyz one uses on their program but the tons and tons of crap that are required to make it work in the first place.
Fair enough about the providing instruction part. And yes, it can be hard to install manually since PIO IDE extensions have installation check after the plugin is installed, but the PIO core itself is just a python script. You can pip install it or download the .tar.gz from pypi.
Edit: Sorry, somehow my long ass comment got trimmed to the single paragraph above. Anyway, the thing about dependency required comes from the fact that PIO will download the required tooling when it needs them. Say, you want to develop for STM32 ARM MCU, then PIO need to download the compiler, uploader, and debugger. After that, if you define that you want to use a framework, PIO will need to download that too. Can you install it manually? Absolutely. But as you said, there is no instruction on how to do it since there are literally hundreds of possible configurations. Doing it manually defeats the purpose of PIO in the first place. And what kind of always online feature are you talking about? I never encountered such a thing in my 3 years experience on PIO.
Yes but why? From what I see they could've just a few simple tweaks to the extensions to make things suitable for offline / airgrapped scenarios, but instead they decided to design it all around internet access.
I get your view, but PIO isn't the first piece of software that has to deal with this issue. Look at Linux apt repositories, whenever we want to install some program it also pulls hundreds of dependencies, however, apt is designed to be mirrored and even packaged as physical media for offline usage. Debian's amd64 repository is around 800GB and the source one is 150GB and people who need it offline are more than welcome to mirror the thing, why can't we have the same for PIO?
Fair enough. I guess it can be implemented someday if enough people ask for it since the back end is there (PIO core). The only thing left I guess is making the repo have offline capabilities so people can mirror it too. But I think it should be left as a separate project.