I need help with libraries and versions

Hi all,

I have a large project in which an arduino plays a central control role.

My code runs well -- generally -- and includes the "IRremote" library by Ken Sherrif. When i was trying to fix some nagging issues i upgrade my library and encountered some problems. I'll stick to the "how to use" stuff here and ask specifically about that library independently.

I i cannot figure out how the library manager decides where to keep libraries. I have some libraries in a dropbox folder (where i keep my sketches, i did figure that out) and others in my local documents/Arduino folder.

The issue is that i don't know how to:

  1. identify various versions
  2. Manage different versions so that i can "roll back" in case of trouble (and i have some issues....)

Ideally I'd like to have, for example, version 2.8, 2.8 and build 3.0 installed and choose among them when I "include". But i never see choices -- yet when i read the verbose logging at compile, i see that Arduino has chose the latest - so it is seeing the various options and simply not telling me :-0

Can anyone help and also point me to documentation that addresses this?

TIA,

G

itsjustme:
I i cannot figure out how the library manager decides where to keep libraries.

Library Manager installs libraries to the libraries subfolder of your sketchbook folder. You can see or set the location of your sketchbook folder in the Arduino IDE's File > Preferences > Sketchbook location preference.

itsjustme:
Ideally I'd like to have, for example, version 2.8, 2.8 and build 3.0 installed and choose among them when I "include". But i never see choices -- yet when i read the verbose logging at compile, i see that Arduino has chose the latest - so it is seeing the various options and simply not telling me :-0

Can anyone help and also point me to documentation that addresses this?

There is none. The Arduino build system doesn't have this capability. You can install any version you like from Library Manager, but you can only have one version installed at a time.

There are some possible workarounds like modifying the libraries so that each version is a separate library, but it's not very convenient.

Personally i avoid dropbox at all costs ! I don't want to store anything in the cloud (even if it is just for environmental reasons) Anyway, 'built-in' libraries are store within the program files\arduino\libaries (or for other cores in that core folder which usually ends up somewhere in 'appdata')
Any 'user' libraries are store in the libraries folder within your sketch folder which in your case ends up in dropbox. So when you update your IDE (or core) any of those custom libraries are still in place.
Any libraries that are within those 2 folders (or 3 in case of an external core) can be referenced like this : <within.h>
the IDE does not check for anything other than the name, so if you want to be able to reference different versions, you will have to rename the header file (and the headers within that) and then you can reference them individually.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.