Adafruit Joywing + OLED Featherwing

Hi All.

I have an Argon working perfectly with the Adafruit OLED Wing, via the oled-wing-adafruit lib.

I added in the adafruit_seesaw library, and declared the object, no problem.

As per the example…

#define IRQ PIN 5

No problem.

BUT When I add in the line
int x = ss.analogRead(2);

the OLED wing stops working

Is the IRQ wrong for this device? In the example…

#if defined(ESP8266)
#define IRQ_PIN 2
#elif defined(ESP32)
#define IRQ_PIN 14
#elif defined(NRF52)
#define IRQ_PIN 27
#elif defined(TEENSYDUINO)
#define IRQ_PIN 8
#elif defined(ARDUINO_ARCH_WICED)
#define IRQ_PIN PC5
#else
#define IRQ_PIN 5
#endif

You would do well to use pin literals i.e. A2 instead of 2 which is actually D2.

analogRead from a digital pin doesn’t work!

The Argon is not an ESP8266 so why would the compile condition above result in the IRQ_PIN set to 2 or for the Argon D2? It will default to the else which is D5.

1 Like

Sorry, I was not very clear in my post.

I listed the fill if-defined statements for clarity (HA!), that’s what is in the example.

However, I used the default, #define IRQ PIN 5 in my code.

As for the analog read, I believe that the SeeSaw object, ss, is connected over I2C, so the ss.analogRead(INT) is not reading from the Argon pin #2, but a source on the JoyWing. (https://learn.adafruit.com/joy-featherwing/pinouts).

HOWEVER, having gone to that page to double check the pins, I see that the IRQ needs to be soldered to use it- which I haven’t done. So maybe that is pausing my code?

I’ll see if I can disable the IRQ handling and do this with polling to see if it works. Right now I am wondering how the SeeSaw knows to talk to this particular device at all, since it’s a general library and I haven’t specified the address- which can change.

Dude, I was smoking crack. Completely missed the setup() code.

Thank you for trying to help me, I will report back if I get it working.