I have a [Transparent Graphical OLED connected to an Adafruit [ Feather M0 Basic Proto. I have it wired up via SPI and all of the examples run correctly, but I have two problems.
-
The lineClear() method doesn’t seem to work. All of the other “clear” methods work, just not the one for lines.
-
Buffering. I’m attempting to follow the example in [Everything You Should Know About HyperDisplay. In following the tutorial, I’ve created a smaller window and set aside the memory for it. I can draw a line on that window and it appears where I would expect it to. My problem is when I surround my drawing calls with the buffer() and show() methods, the screen remains blank.
Here is my code:
#include "HyperDisplay_UG2856KLBAG01.h"
#define SPI_PORT SPI // Used if USE_SPI == 1
#define RES_PIN 2
#define CS_PIN 19
#define DC_PIN 18
UG2856KLBAG01_SPI myTOLED; // Declare a SPI-based Transparent OLED object called myTOLED
uint8_t color = 0x01;
uint8_t noColor = 0x00;
int windowWidth = 64;
int windowHeight = 64;
uint8_t horizonWindowMem[64*64]; // Reserve 64*64 pixels worth of memory
wind_info_t horizonWindow;
int yLeft = 25;
int yRight = 40;
void setup() {
SPI_PORT.begin();
myTOLED.begin(CS_PIN, DC_PIN, SPI_PORT); // Begin for SPI requires that you provide the CS and DC pin numbers
myTOLED.setWindowDefaults(&horizonWindow);
horizonWindow.xMin = 32;
horizonWindow.yMin = 0;
horizonWindow.xMax = 96;
horizonWindow.yMax = 64;
myTOLED.setWindowMemory(&horizonWindow, (color_t)horizonWindowMem, windowWidth*windowHeight); // Make sure that the window knows about the memory
myTOLED.pCurrentWindow = &horizonWindow;
myTOLED.buffer();
myTOLED.windowClear();
myTOLED.lineSet(0, yLeft, windowWidth, yRight);
myTOLED.show();
}
](https://learn.sparkfun.com/tutorials/everything-you-should-know-about-hyperdisplay/buffering)](Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0 : ID 2772 : Adafruit Industries, Unique & fun DIY electronics and kits)](https://www.sparkfun.com/products/15173)