Adafruit_GFX Library for Photon

Hi again! I am currently setting up and testing a 7-segment display with Adafruit. The guide I’m following for the firmware can be found here: Adafruit 7 Segment with Backpack In this tutorial it talks about how you need to import the Adafruit_GFX library. i found this ported to photon, but when I try to run it I get a whole slew of errors.

lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawLine(short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawRect(short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawFastVLine(short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawFastHLine(short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillRect(short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillScreen(unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::invertDisplay(bool)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::Adafruit_GFX(short, short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::Adafruit_GFX(short, short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawCircle(short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawCircleHelper(short, short, short, unsigned char, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillCircleHelper(short, short, short, unsigned char, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillCircle(short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawRoundRect(short, short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillRoundRect(short, short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawTriangle(short, short, short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::fillTriangle(short, short, short, short, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawBitmap(short, short, unsigned char const*, short, short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::drawChar(short, short, unsigned char, unsigned short, unsigned short, unsigned char)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::write(unsigned char)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setCursor(short, short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setTextSize(unsigned char)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setTextColor(unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setTextColor(unsigned short, unsigned short)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setTextWrap(bool)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::getRotation()"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::setRotation(unsigned char)"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::width()"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "Adafruit_GFX::height()"
error
lib/Adafruit_GFX/Adafruit_GFX.cpp:420:0: multiple definition of "vtable for Adafruit_GFX"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawLine(short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawRect(short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawFastVLine(short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawFastHLine(short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillRect(short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillScreen(unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::invertDisplay(bool)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::Adafruit_GFX(short, short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::Adafruit_GFX(short, short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawCircle(short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawCircleHelper(short, short, short, unsigned char, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillCircleHelper(short, short, short, unsigned char, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillCircle(short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawRoundRect(short, short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillRoundRect(short, short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawTriangle(short, short, short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::fillTriangle(short, short, short, short, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawBitmap(short, short, unsigned char const*, short, short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::drawChar(short, short, unsigned char, unsigned short, unsigned short, unsigned char)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::write(unsigned char)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setCursor(short, short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setTextSize(unsigned char)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setTextColor(unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setTextColor(unsigned short, unsigned short)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setTextWrap(bool)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "Adafruit_GFX::setRotation(unsigned char)"
error
lib/adafruit-led-backpack/adafruit-gfx.cpp:165:0: multiple definition of "vtable for Adafruit_GFX"

I am extremely inexperienced when it comes to accessing libraries, and I’m using the Web IDE if that info helps. Here’s my code.

// This #include statement was automatically added by the Particle IDE.
#include <Adafruit_GFX.h>
// This #include statement was automatically added by the Particle IDE.
#include <adafruit-led-backpack.h>
Adafruit_7segment matrix = Adafruit_7segment();
int test = 69;
void setup() {

}

void loop() {
    matrix.print(test);
}

I just want to print the number to the display so I can use the display further. Any help or advice would be appreciated, and I’m sorry if this was asked before but I couldn’t find anything. Thanks for your help!

It seems like the GFX library is already included in the backpack one, so try removing that, and give it another shot.

1 Like

I would follow the instructions here instead. There are already Particle ported libraries that work with that chipset:

https://docs.particle.io/community/feather/#adafruit-4-digit-7-segment-led-matrix-display-featherwing

Even though the page is for the FeatherWing, it’s the same if you are using the non-Feather one.

2 Likes