Skip to content

Add platformio support.#122

Merged
breakintoprogram merged 1 commit intobreakintoprogram:mainfrom
astralaster:pio
Oct 27, 2023
Merged

Add platformio support.#122
breakintoprogram merged 1 commit intobreakintoprogram:mainfrom
astralaster:pio

Conversation

@astralaster
Copy link
Copy Markdown
Contributor

This adds platformio (https://platformio.org/) support without breaking the compatibility with arduino IDE.

@breakintoprogram breakintoprogram added the enhancement New feature or request label Oct 27, 2023
@breakintoprogram
Copy link
Copy Markdown
Owner

Hi @astralaster before I merge, could you explain the benefits of this?

@stevesims
Copy link
Copy Markdown
Contributor

PlatformIO potentially allows us to do some cool things...

One big plus-side is the current need to specify which exact versions of libraries are required for the user to install goes away, as does the "make sure you've got PSRAM enabled" issue when you're using PlatformIO. This reduces the chances of user error, and helps ensure that everyone making their own builds is doing so with the same versions of everything.

Another up-side is that eventually we can look to wire up CI pipelines that will automatically check that PRs compile without errors, as there is GitHub actions support for PlatformIO.

PlatformIO has great integration with VisualStudio Code. I've used it there with a couple of other projects. Works with other IDEs too.

Finally, out-of-the-box you can also use more modern C++ with PlatformIO. Making use of that however may be tricky if we want to maintain compatibility with the Arduino IDE - some investigation is required in that area.

@astralaster
Copy link
Copy Markdown
Contributor Author

Hi @astralaster before I merge, could you explain the benefits of this?

Oh yes I should have done it. Luckily @stevesims stepped in already. It's basically an alternative framework to build the project and it allows us to use more advanced IDEs and to specify and automate all the settings needed to build the project. With platformio the instructions boil down to clone, open, build & upload. No need to fiddle with settings or to get the correct dependencies.
You can even specify the correct baudrate so you can just open a serial monitor and it works.

@rewk
Copy link
Copy Markdown

rewk commented Oct 27, 2023

It would be very nice! Last time I played with VDP, I had to make this little script to convert some files:

https://github.com/rewk/agon-vdp-platformio/blob/main/import_from_vdp_directory.py

Having it out of the box would be nice. Even if Arduino has improved with its V2 IDE, it's still way less usable than VSCode.

@breakintoprogram breakintoprogram merged commit 454e4e5 into breakintoprogram:main Oct 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants