I’m really struggling to find the documentation on this. This is a follow up to a post I mad on May 9th that received 0 answers.
Here’s my platformio.ini
[env:chillout32]
platform = GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO
framework = arduino
board = esp-wrover-kit
All I want to do is fork platform-espressif32 and build my app using that forked version. And I have searched for days with no answer.
I tried replacing “GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO ” with “http://myplatform.git ” but there’s obviously more to do because it doesn’t work. I need to do things like enable code signing, and secure boot, etc. Basically I want to modify the things you can modify with “make menuconfig” in the esp-idf
1 Like
Needs to be more specific than that. If you have an exakt fork of platform-espressif32
and point to it using the new URL everything old should still work exactly as before. And that is not the case?
1 Like
I did not put the full URL in the example, but I do have an exact fork of GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO Let’s call my fork “https://github.com/me/my-platformio-fork.git ”
But the actual platform source code from espressif is not there, it’s in these repos:
Let’s say I have forks of those called “https://github.com/me/my-esp-idf.git ” and “https://github.com/me/my-arduino-esp32.git ”.
I want to use platformio to build against “https://github.com/me/my-esp-idf.git ” and “https://github.com/me/my-arduino-esp32.git ”. So to do that, if I correctly understand, I need to do the following:
In my platformio.ini:
platform = https://github.com/me/my-platformio-fork.git
Modify some files??? in “https://github.com/me/my-platformio-fork.git ” to point to my custom forks “https://github.com/me/my-esp-idf.git ” and “https://github.com/me/my-arduino-esp32.git ”.
“git commit” to commit those changes
“git push” to push those changes
“pio update” to fetch my updates
“pio run” should now create binaries made with “https://github.com/me/my-platformio-fork.git ”
I’ve been able to do everything except step 2. What files do I edit to I tell platformIO where my modified platform source code is? I don’t see references to “GitHub - espressif/esp-idf: Espressif IoT Development Framework. Official development framework for Espressif SoCs. ” or “GitHub - espressif/arduino-esp32: Arduino core for the ESP32 ”
See Custom Development Platforms — PlatformIO latest documentation , manifest.json
. All packages and their URLs are specified there. Modify where framework-arduinoespressif32
points to.
1 Like
I’m still not getting it. Is this the section I modify?
"framework-arduinoespressif32": {
"type": "framework",
"optional": true,
"version": "~2.10002.190416"
},
So do I add change it like this:
“framework-arduinoespressif32”: {
“type”: “framework”,
“optional”: true,
“url”: “XXXX”,
“version”: “~2.10002.190416”
},
If so, what is XXXX? Is that a GIT repo URL or something else?
The example looks like this:
“framework-%FRAMEWORK_NAME_1%”: [
{
“url”: “http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz ”,
“sha1”: “adce2cd30a830d71cb6572575bf08461b7b73c07”,
“version”: “1.10607.0”,
“system”: “*”
}
Am I supposed to just tar/gz the contents of my forked repo?
That’s what it looks like… You’d want to change the packageRepositories
line …
"homepage": "http://platformio.org/platforms/espressif32",
"license": "Apache-2.0",
"engines": {
"platformio": "<5"
},
"repository": {
"type": "git",
"url": "https://github.com/platformio/platform-espressif32.git"
},
"version": "1.8.0",
"packageRepositories": [
"https://dl.bintray.com/platformio/dl-packages/manifest.json",
"http://dl.platformio.org/packages/manifest.json",
"https://raw.githubusercontent.com/eerimoq/simba/master/make/platformio/manifest.json",
"https://raw.githubusercontent.com/eerimoq/pumbaa/master/make/platformio/manifest.json"
],
"frameworks": {
"arduino": {
"package": "framework-arduinoespressif32",
"script": "builder/frameworks/arduino.py"
},
… to a manifest.json
file you control, specify your own framework in your platform.json
…
"framework-my-espidf": [
{
"sha1": "be6ee2428b7843ee659789fbdd76b9f60ef1aa39",
"system": "*",
"url": "https://dl.bintray.com/my-espidf/dl-packages/framework-my-espidf-1.200.0.tar.gz",
"version": "1.200.0"
}
]
And then reference it under packages
in your platform.json
…
"packages": {
"toolchain-xtensa32": {
"type": "toolchain",
"version": "~2.50200.0"
},
"framework-arduinoespressif32": {
"type": "framework",
"optional": true,
"version": "~2.10002.190416"
},
"framework-espidf": {
"type": "framework",
"optional": true,
"version": "~3.30200.190418"
},
"framework-simba": {
"type": "framework",
"optional": true,
"version": ">=12.2.0"
},
"framework-pumbaa": {
Seeing the docs makes me want to actually try some platform/framework development stuff out now… wanted to get a board working on arm64… might actually try it now!
2 Likes