Adding a new framework to Platformio

Back in town and restarted the Sming integration.

I have a first, not nice structured, version of the application build running.
There are two build processes within Sming, started depending on environment variables. I will (try to) integrate the two to one.

In the build process I included the framework as a library (local, not platformio).
That prevents the necessity to recompile the framework when application is updated.

I would like to have both “Release” and “Development” options, do I need to have two frameworks included, each with their own versioning ?

This is very interesting. What are you going to keep in framework-sming package?

You have a few options:

  • to have the separate development platforms: espressif and espressif-dev, where you will define different Sming versions and different build scripts
  • to use -DRELEASE macros in platformio.ini > build_flags and then use it in build script

For now I have the full source and a “compiled version” = library.
That is close to the situation I have now in Sming itself.
In there we have full source and users have to do a one-time compile to create the Sming library.
But to create the Sming library I have another build process. By including the compiled version I prevent have to create that in platformio too.

In platformio, the framework content is fixed to the installed version → No possibility for users to update the framework in there → No need to force the user to create one by him/herself when I include it in the platformio framework.

Current plan is to keep both source and library in the platformio framework. Possibly later a split between header (include) and source (excluded) but that is not for now.

Thanks, will do some thinking on that.
Is there a “common practice” within platformio. I try to keep as close to platformio standards as possible.

1 Like

This is not a good idea to ask users to do one-time compilation. Please use original Sming source code and build it using PlatformIO builder without “pre-compiling”.

The philosophy of PlatformIO 3.0 that user can “duplicate” existing platform and modify it (use custom version of the framework and etc)


In PlatformIO 2.0 we have fixed development platforms that are built-in into PlatformIO engine. We have PlatformIO Core and separated development platforms with PlatformIO 3.0

Hello, any update on this Sming support?

I’m getting error when trying to install via posted instructions. I get following error:

PackageManager: Installing tool-esptool @ ~1.408.0
Error: Could not find a version that satisfies the requirement ‘~1.408.0’ for your system ‘windows_x86’

Not going any further from this point. Any pointers to get it installed correctly?

Thanks.

Hey,

Arduino’s OTA with eBoot has always annoyed me for various reasons. I came across the superb GitHub - raburton/rboot: An open source bootloader for the ESP8266 but did not want to deal with bare Makefiles and linker scipts, so Sming does use it and that the reason why I am here and trying to follow the describes steps above. But the sming feature branch does not seem to exist anymore:

$ pio platform install git+https://github.com/platformio/platform-espressif.git#f
eature/framework-sming
Platform Manager: Installing git+https://github.com/platformio/platform-espressif.git#feature/framework-sming
git version 2.29.2.windows.2
Cloning into 'C:\Users\<user>\.platformio\.cache\tmp\pkg-installing-k4p_7o1b'...
warning: Could not find remote branch feature/framework-sming to clone.
fatal: Remote branch feature/framework-sming not found in upstream origin
Error: VCS: Could not process command ['git', 'clone', '--recursive', '--depth', '1', '--branch', 'feature/framework-sming
', 'https://github.com/platformio/platform-espressif.git', 'C:\\Users\\<user>\\.platformio\\.cache\\tmp\\pkg-insta
lling-k4p_7o1b']

Could you re-push it? Or is it even still existing? And is it even compatible with PIO 5.x?

Best regards would really love to see Sming @ PIO… or well at least rboot.