I'm currently just trying drawing to draw a simple diaganol line but the it appears to be wrapping around the first text line of the screen. I added an 'X' on the end to illustrate the height restriction.

If I use the drawCircle, drawPixel or drawChar functions the result is same. Weirdly the drawRect function does appear to work. Here is my circuit:

Yes, I'm just trying to get a line from corner to corner at the moment but it appears to be reaching the bottom of what would be a character line then looping back round to the top.

I have not used the library for quite a while, so I had to look stuff up.

In the Adafruit GFX library is this function:

/**************************************************************************/
/*!
@brief Draw a line
@param x0 Start point x coordinate
@param y0 Start point y coordinate
@param x1 End point x coordinate
@param y1 End point y coordinate
@param color 16-bit 5-6-5 Color to draw with
*/
/**************************************************************************/
void Adafruit_GFX::drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1,
uint16_t color) {
// Update in subclasses if desired!
if (x0 == x1) {
if (y0 > y1)
_swap_int16_t(y0, y1);
drawFastVLine(x0, y0, y1 - y0 + 1, color);
} else if (y0 == y1) {
if (x0 > x1)
_swap_int16_t(x0, x1);
drawFastHLine(x0, y0, x1 - x0 + 1, color);
} else {
startWrite();
writeLine(x0, y0, x1, y1, color);
endWrite();
}
}

Try running the example code provided by Adafruit in the library. It is already programmed for you and it does text diagonal lines, text sizes, and more. See if that works

I ran the same code on a simulated arduino and it worked as expected. Possibly the simulater just doesn't work right for the ESP32. I've got the actual display and controller arriving later this week so wil give it a go with the real thing.