Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2CDev / MPU6050 libs incompatibility build error fix #566

Merged
merged 1 commit into from
Feb 4, 2022
Merged

I2CDev / MPU6050 libs incompatibility build error fix #566

merged 1 commit into from
Feb 4, 2022

Conversation

pppedrillo
Copy link
Contributor

@pppedrillo pppedrillo commented Jan 10, 2022

The I2CDev and MPU6050 libraries used in the project are not compatible with the latest PlatformIO lib registry and thus cause build error (see attached screenshot) with the latest PlatformIO core v5.2.4 /expressif8266 platform v3.2.0

The examples of failure :
https://github.com/universam1/iSpindel/runs/4592717524?check_suite_focus=true
https://github.com/universam1/iSpindel/runs/4759700794?check_suite_focus=true

Capture

These changes include both 2 libs as a part of the project (as advised on PIO and by libs author https://github.com/jrowberg/i2cdevlib ) and thus fix the building error.

Built firmware tested on device OK

@thegreatgunbantoad
Copy link
Contributor

How on earth does an update in PlatformIO lead to the need for 26 file changes! What did the PlatformIO guys do!?

@pppedrillo
Copy link
Contributor Author

pppedrillo commented Jan 12, 2022

How on earth does an update in PlatformIO lead to the need for 26 file changes! What did the PlatformIO guys do!?

It is not "26 files changes" , but rather "1 file changed + 25 files added"

Briefly :
Up to PlatformIO 3 (2.6.3 the latest) all the platform libs (including those 25 files) are getting downloaded automatically during the build. You can see em all in your .pio/libdeps/<your_target> folder.
Since PlatformIO 3 PIO handles a registry of verified packages and I2Cdev libs is not adapted for being included into this registry, thus are not downloaded during the build (only their .piopm and json get downloaded, but not the sources) - thus no headers and build failed.

If you really interested in this, you can find all the info in PIO docs.

It is mostly I2Cdev lib developer's fault - he has not changed his lib to be compatible with the PIO registry. If you check i2CDev repo, you'll see it was last time updated 2-3 years ago. PIO encouraged all the shareholders to make changes for upcoming migration in 2019-2020.

As a result if you still have PIO 2.6.3 (or older) installed - your build will be fine.
If you have latest 3.2.0 (like for instance github autobuild use) - your build will fail.

These changes make build work fine with any of PIO installed.

@pppedrillo
Copy link
Contributor Author

@thegreatgunbantoad
Capture

@thegreatgunbantoad
Copy link
Contributor

@pppedrillo thanks for the info. Quite interesting. Nice job figuring out what needed to get sorted. Well done.

Copy link
Owner

@universam1 universam1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks 👍
Looks like we have no better option for now

@universam1 universam1 merged commit 59b02d4 into universam1:master Feb 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants