BMI160 Library dependency was not documented #286

Closed
opened 2026-04-05 17:52:26 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @AmberStormbright on 3/20/2023

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.

*Originally created by @AmberStormbright on 3/20/2023* I discovered that the BMI160 library was copied and modified from the [following repository]( https://github.com/sgbihu/corelibs-arduino101/tree/master/libraries/CurieIMU/src). All credit for the register mapping, function names, and general structure goes to contributors on corelibs-arduino101 (which was forked by [sgbihu](https://github.com/sgbihu) from [arduino/ArduinoCore-arc32](https://github.com/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](https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/I2Cdev)). The screenshot below summarizes what happened fairly well: ![image](https://user-images.githubusercontent.com/128183097/226249455-187b799b-a31c-4c82-81e4-eecb25099bee.png) Here is an example of how the remaining functions were changed: ![image](https://user-images.githubusercontent.com/128183097/226252030-04847256-c9e4-4945-91d5-40fb0e6ce9c1.png) 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.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Tracker-ESP#286