PIO - Partitions - not using the supplied partitions file.
If I download the base project for platform IO and I wanted to add something like Over the Air updates I Cannot because there is only one OTA partition. When you do over the air updates it will write to an alternate and then swap them over. So that means editing the huge_app.csv to split the app partition into 2.
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x300000,
spiffs, data, spiffs, 0x310000,0xE0000,
coredump, data, coredump,0x3F0000,0x10000,
Becomes something like:
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x180000,
app1, app, ota_1, 0x190000, 0x180000,
spiffs, data, spiffs, 0x310000, 0xE0000,
coredump, data, coredump,0x3F0000, 0x10000,
But no matter what I do, it doesn't respect the huge_app.csv content.
Generating partitions .pio\build\esp32-s3-devkitc-1-myboard\partitions.bin
This line should refer to huge_app.csv but it doesn't.
Thats a massive pain because it prevents over the air update unless it can be overcome which means I have to employ 900 people to fly around with laptops updating the damn things.
Comments
Hello @DrJaymz ,
Good day!
Are you using the Crowpanel esp32 Display Screen?
What 's the model?
Its the 7" display.
Unfortunately, we did not do this Over-the-Air updates in our base project. This is an area that requires further research and customization by the user. We recommend that you explore the community forums, or consider reaching out to experts in the field who may have experience with similar requirements.
I have to unless I want a team of 100 technicians flying around the country with USB cables to update them.
There should be no issue provided that you can get the huge-app.csv file to update the actual memory partition. As far as I can see it ought to work. You just need to split the application memory block into two partitions, then OTA writes to the other and if successful it just reboots and points to the new one from the boot loader.
It seems it doesn't do it properly from platformio. If you specify it, it ignores it. If you specify it incorrectly it complains so its reading the config but not sure what the next step is.