I reformatted my computer and lost which version of mbed I was using in one of my projects. Now things are not working as I am on a newer version of mbed. Understandable, but how can I find the version of mbed through the backup I made on an external HD? Is there a particular file in the mbed installation folder that would specify this? I can’t find it!
What exactly did you backup? The compiled firmware? Or the PlatformIO folder?
The mbed-os source files are kept in C:\Users\<user>\.platformio\packages\framework-mbed
. Depending on if you have other versions installed there might also be a @<version>
suffix.
Of course, you can also tell PIO in the platformio.ini
to use a previous version of the Platform or platform package to build something. Refer Redirecting... and your specific platform,e.g. ststm32 releases at Releases · platformio/platform-ststm32 · GitHub.
thanks yeah I am telling platformio.ini
to use a previous version of mbed, but I am certain this is not the exact version I was using before I reformatted. So I am trying to find that out through a macOS Time Machine backup. There is no suffix on the folder name.
This is the file structure of the package. Any idea where to find the version in all this?
$ .platformio/packages/framework-mbed/
.astyleignore .travis.yml TEST_APPS/ events/ requirements.txt
.astylerc CONTRIBUTING.md UNITTESTS/ features/ rtos/
.coveragerc DOXYGEN_FRONTPAGE.md cmsis/ hal/ targets/
.gitattributes Jenkinsfile components/ logo.png tools/
.github/ LICENSE-apache-2.0.txt docs/ mbed.h
.gitignore LICENSE.md doxyfile_options package.json
.piopm README.md doxygen_options.json platform/
.pylintrc TESTS/ drivers/ platformio/
Open the package.json
and look at the version. The format is <PIO major package version>.<mbed os version number>.<date in yy mm dd>
. E.g. 4.50802.200120
would mean major revision 4 of this package, mbed 5.8.2, 2020 Jan 20.
Also it’s contained in a header file in source code format in mbed_version.h
.
E.g.
ahh perfect! The package.json
seems to have what I am looking for.
{
"description": "mbed Framework",
"name": "framework-mbed",
"url": "http://mbed.org",
"version": "5.51401.191023"
}
Now I should be able to just plop that into platformio.ini like so?
platform_packages =
framework-mbed @ 5.51401.191023
Yeah that should work and download Service End for Bintray, JCenter, GoCenter, and ChartCenter | JFrog and use it.
omg it worked thanks for your help!
The package major version != PIO Core version. We just increment it if there are significant changes in a project structure.
Was corrected (: -----