Howto "install" my own lib?

I am using a BME680 sensor by including #include "Adafruit_BME680.h". The bummer is that the Adafruit folks have hardcoded the use of the Wire lib including the hardware pins in their lib, plus other shortcomings.

The modification for my purpose isn't that difficult, but so far the lib is among the Arduino libraries folder on my system, so would be overwritten on any next update.

I would like to have the customized version in my sketch folder. So I put the modified *.h and *.cpp file of the lib in this folder, expecting that uecide would begin searching there since I use the double-quotes " to include the lib.

Doesn't work, though, uecide still gets the files fron the Arduino folder.

What is the proper way to use an own lib under uecide?


There are generally 3

There are generally 3 locations for it to find a library, but in the current release version the order of inclusion is not always clearly defined.

  • The libraries folder in the UECIDE internal data folder
  • The libraries folder in the UECIDE sketches folder
  • The libraries folder in the actual sketch

I am not certain off hand of the order of searching of the first two, but the last one is always taken as highest precedence.

If you want to modify a library the best way is to "localise" it. In the IDE just include the library as normal, and it should appear in the tree on the left. Then right-click that library and "localise" it. That should copy the whole library into a "libraries" folder inside the sketch, at which point you can edit it in the IDE (you need to switch to the "Files" tab to get at it, and you must manually save for changes to be picked up by the compiler).

A restart shouldn't be needed

A restart shouldn't be needed. It should use the local library in preference regardless - though a clean build could possibly help.