However when I try to upload I get the error that my board is not compatible with the this framework. Error: This board doesn't support arduinoavr@https://github.com/GewoonGijs/platformio-pkg-framework-arduinoavr.git framework!
So I am just a little lost on how to define a different platform code. The only thing he actually did was adapthing the wiring.c methods to solve an issue when you set the 0th prescaler.
sorry if this is not a clear question, but I am really lost here
framework only accepts the name of the framework, not a direct URL.
PlatformIO will read the framework name and then look what ‘package’ it is associated with. In this case, due to this logic, it will be looking for framework-arduino-avr. Together with additional information from the platform manifest, it then figures out where to download the framework files (from PlatformIO’s CDN) or whether you have it already installed.
Note that PlatformIO also tells you the used packages and their version at the start of compilation.
To modify the used Arduino core, you want to tell PlatformIO to use a different source for the pacakge framework-arduino-avr, that is, your linked repository. This is possible per platform_packages.
thanks for your reply and explanation. I am not sure if I understand it all but it gives me a start.
Maybe not the correct spot, but if I understand well you have:
From lower to top
frameworks → the base code of what will be running on your machine
libraries → extra toolbelt you can add (but it has to match the framework)
Is it possible I use several frameworks for Arduino for example?
Basically, yes. The Arduino core / framework are the pieces of code that implement the Arduino APIs like digitalWrite() etc and give the basis for all Arduino libraries. You can e.g. inspect the core implementation for AVR here.
You can only use one Arduino core implementation, as it will be conflicinting with another core implementation regarding the implementation of functions if you put another one in there. There exists however one very special case where two frameworks can be used apparanently simultaneously, which is because one is actually the basis of another. That framework = espidf, arduino case for ESP32’s is also mentioned in the last post. For all others, you can only choose one framework.