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

BMI160 Library dependency was not documented #234

Open
RexaOnGit opened this issue Mar 20, 2023 · 4 comments
Open

BMI160 Library dependency was not documented #234

RexaOnGit opened this issue Mar 20, 2023 · 4 comments

Comments

@RexaOnGit
Copy link

I discovered that the BMI160 library was copied and modified from the following repository. All credit for the register mapping, function names, and general structure goes to contributors on corelibs-arduino101 (which was forked by sgbihu from arduino/ArduinoCore-arc32).

There was no dependency added to the firmware, and no fork was created from the original repo. I have performed a diff between the original library and the one in SlimeVR-Tracker-ESP -- the changes are significant, and much of the code was deleted. It appears that the main point of the changes was to offload more of the code base to the I2C library made by Jeff Rowberg (which is here). The screenshot below summarizes what happened fairly well:
image
Here is an example of how the remaining functions were changed:
image

Besides this, some blank lines and functions not used by SlimeVR were removed.

I'm not sure if any action is needed or can be taken, but I wanted to somehow document what happened and give credit to the original developer of the BMI160 library we use.

@RexaOnGit
Copy link
Author

UPDATE: The BMI160 library that was referenced is licensed by Intel under a General Public License (version 2.1). It is stated that we do not want to use any libraries with this type of license. What action is needed?

@TheButlah
Copy link
Contributor

TheButlah commented Mar 25, 2023

re discord: Rexa is working on refactoring the bmi code to be based on an MIT licensed driver, to remove the LGPL dependency

@RexaOnGit
Copy link
Author

My fork of SlimeVR firmware is here, and my fork of the new BMI160 library is here. I am about midway through refactoring with the new library.

@RexaOnGit
Copy link
Author

UPDATE: The DF robot library for BMI160 had too many issues. The new plan is as follows:

  1. Make a general IMU communication manager (it will only pull in I2C dev for now)
  2. Build a new BMI160 library from scratch
  3. Validate the new library and communication manager
  4. Split into dependencies

Progress will be visible in my fork.

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

No branches or pull requests

2 participants