Newbie question

Hi Xojo community!

I just installed an Adafruit PiOLED 128x32 mini OLED on my Raspberry Pi.
I ran through all the documentation which is python centric, and the display is lighting up.

Now I’d really like to be able to control the output from Xojo. Do I have to shell and run it through Python, or can I directly drive the display from Xojo?

This is the first time I’ve connected anything to the PI and tried to work with it from Xojo, so I’m positive I’m missing a lot of obvious things.

RSVP. Thanks!

Chris, I don’t program for the Pi myself at this time, but I believe that Pigpio might be the tool that you are looking for. @Eugene_Dakin can certainly tell you a lot more about it.

See here.

1 Like

Hello @Chris_Halford,

There is an updated library called PiGPIO that has updated GPIO code. Although there is a wiringPi library that can be used for testing circuits, the wiringPi is deprecated. Here is a link to some wiringPi information with Xojo: GPIO — Xojo documentation

There are I2C examples in my Raspberry Pi 4B book, and I don’t have an example for the Adafruit PiOLED 128x32. In the past, I have had to convert Python Code to Xojo, and sometimes it works, and sometimes it doesn’t work, it is really a roll of the dice.

Let me know if you have any other questions, and I will see what I can do.

Thanks @Louis_D for mentioning my books.

Warm regards.

1 Like

The display you bought connects to an i2c port, which is a kind of serial port. That’s the way you communicate withe the display. The usage page Usage | Adafruit PiOLED - 128x32 Mini OLED for Raspberry Pi | Adafruit Learning System

explain how to use Python to create an app that uses the display. The page has a link to a different page that explains how to enable i2c on your Pi, this is important to read.

Unfortunately, there is no explanation on the commands the display responds to. Fortunately, you can find these here SSD1780 ( Read this PDF file, find out how to use the i2c port, and you are in business ! @Eugene_Dakin may help you use the i2c port.