Introducing our new firmware library manager!

##Introducing our new firmware library manager!

Firmware libraries are an important part of how you connect your Photon or Electron to sensors and actuators. Collecting temperature data from your garage? Buy a DS18B20 sensor and add the DS18B20 firmware library to your Particle project.

Particle has a library manager in our Web IDE, and it’s used quite a bit. It now includes:

  • 7 Particle-built libraries for hardware like the Internet Button and Asset Tracker
  • 371 community-built libraries for popular sensors, actuators, and communication protocols

In total, these libraries have been imported into Particle projects more than 82,000 times! That’s a lot.

We’re pleased to announce that today we’re launching our new and improved firmware library manager, which brings several improvements the experience of using libraries with Particle devices, including:

  • Support in all our IDEs:
    Support for the Particle library manager in our web IDE, desktop IDE, and command line interface (CLI)

  • Improved Arduino library compatibility:
    Most Arduino libraries can now be copy/pasted into our library manager without modification

  • Libraries with dependencies:
    Add one library to your Particle project and if it requires others, they’ll be included automatically

  • Verified libraries:
    Libraries that have been tested for ease-of-use and completeness by the Particle team to ensure a high quality development experience

  • API access:
    Libraries can be accessed through the Particle Cloud API, so you can build plugins for other popular IDEs to access our firmware library manager

Want to try out the new firmware library manager? Login to our updated Web IDE or download the latest versions of our Desktop IDE and CLI.

Looking for more info? Check out our blog post for more details on the awesome features included with our new firmware library manager.

READ THE BLOG POST

Enjoy!

The Particle Team

5 Likes

I use the Web IDE. The only difference I have seen with the new firmware library manager is that the Verified Libraries have disappeared.

Do you see this: https://build.particle.io/build/new#libraries

Description here: https://docs.particle.io/guide/tools-and-features/libraries/#kinds-of-libraries

Are all of the library dependencies definitely linking? I’m getting messages like the following:

lib/Adafruit_HX8357/src/Adafruit_HX8357.h:21:46: fatal error: …/Adafruit_mfGFX/Adafruit_mfGFX.h: No such file or directory
#include “…/Adafruit_mfGFX/Adafruit_mfGFX.h”
^

I included both Adafruit_mfGFX and Adafruit_HX835 in my script. Is the “…/” the problem?

I didn’t have this problem just yesterday. Please help!

Christian

did you include this manually? When you add a library to your user app, the statement would be automatically inserted.

Try: #include "Adafruit_mfGFX/Adafruit_mfGFX.h"

I used the IDE to include library rather than adding it manually. I tried the code change you provided in my script, but it didn’t help.

The error is coming out of the Adafruit_HX8357.h library that is built into the IDE. That library can’t find the mgGFX library and I don’t believe I can change the code in a built-in library right?

1 Like

Hmm… Seems like you need to include the Adafruit_mfGFX library as well. and revert the path to #include "../Adafruit_mfGFX/Adafruit_mfGFX.h"

Ok, I’ve tried all of these statements in varying combinations:

// This #include statement was automatically added by the Particle IDE.
#include <Adafruit_HX8357.h>

// This #include statement was automatically added by the Particle IDE.
// #include <Adafruit_mfGFX.h>

#include "Adafruit_mfGFX/Adafruit_mfGFX.h"
#include "../Adafruit_mfGFX/Adafruit_mfGFX.h"

1 Like

1 Like

This Adafruit_HX8357 library is my port that I haven't yet migrated to Libraries v2.0 :blush:
I'll do it ASAP an report back when done.

Thanks for the heads-up :+1:

Meanwhile you could try a previous version of the Adafruit_mfGFX library that wasn't yet migrated to v2.0.
You can do that by clicking on the (i) icon next to the library name and then clicking on the previous version number.


Update:
I've got the fix, but currently have problems uploading the new release due to some unexpected issue

2 Likes

@csnbailey, I’ve just uploaded the new version 0.9.3 of the Adafruit_HX8357 lib.
Can you remove the library from your project (and also Adafruit_mfGFX) and and reimport only Adafruit_HX8357 and see if it works now?

OK, everything compiles now without an error. Thanks!

Christian

1 Like

I’m guessing some of the other libraries haven’t been updated. For example, I’m running into the same issue using the Spark-Dallas-Temperature library, and it cannot find the OneWire library.

Yup, in that case importing the missing lib should still work.

Using the previous version number worked for me WRT: OneWire and dallas. FYI and Thank You!

rjones

1 Like

The OneWire library is here
https://build.particle.io/libs/OneWire/2.0.1

I have just noticed (with other libraries too) that the samples don’t build out the box.
But when you just change something on the code and save that change the sample builds - rather confusing, but give it a try

How do you remove a legacy library from a project in the WebIDE? The X button that used to appear next to each of them no longer shows for me in Chrome.

That’s an open issue

But you can try with FireFox

1 Like

Same issue in Firefox and IE; across every project of mine that I tried.

Hey folks – thanks for reporting this issue. It’s been confirmed and assigned, we should have a fix shortly.