@imolodkin
The redraw technique used works best on small displays but if you make the following changes to the post #27 sketch then it should fix your missing pixels. If it does not then post your sketch so I can run it and see what changes you have made.
Near the start of sketch change the line as follows:
#define HOR 400 // Horizon vector line length ### was 172
Then use this adapted drawHorizon() function:
// #########################################################################
// Draw the horizon with a new roll (angle in range -180 to +180)
// #########################################################################
void drawHorizon(int roll, int pitch)
{
// Calculate coordinates for line start
float sx = cos(roll * DEG2RAD);
float sy = sin(roll * DEG2RAD);
int16_t x0 = sx * HOR;
int16_t y0 = sy * HOR;
int16_t xd = 0;
int16_t yd = 1;
int16_t xdn = 0;
int16_t ydn = 0;
if (roll > 45 && roll < 135) {
xd = -1;
yd = 0;
}
if (roll >= 135) {
xd = 0;
yd = -1;
}
if (roll < -45 && roll > -135) {
xd = 1;
yd = 0;
}
if (roll <= -135) {
xd = 0;
yd = -1;
}
if ((roll != last_roll) || (pitch != last_pitch))
{
xdn = 6 * xd;
ydn = 6 * yd;
tft.drawLine(XC - x0 - xdn, YC - y0 - ydn - pitch, XC + x0 - xdn, YC + y0 - ydn - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xdn, YC - y0 + ydn - pitch, XC + x0 + xdn, YC + y0 + ydn - pitch, BROWN);
xdn = 5 * xd;
ydn = 5 * yd;
tft.drawLine(XC - x0 - xdn, YC - y0 - ydn - pitch, XC + x0 - xdn, YC + y0 - ydn - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xdn, YC - y0 + ydn - pitch, XC + x0 + xdn, YC + y0 + ydn - pitch, BROWN);
xdn = 4 * xd;
ydn = 4 * yd;
tft.drawLine(XC - x0 - xdn, YC - y0 - ydn - pitch, XC + x0 - xdn, YC + y0 - ydn - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xdn, YC - y0 + ydn - pitch, XC + x0 + xdn, YC + y0 + ydn - pitch, BROWN);
xdn = 3 * xd;
ydn = 3 * yd;
tft.drawLine(XC - x0 - xdn, YC - y0 - ydn - pitch, XC + x0 - xdn, YC + y0 - ydn - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xdn, YC - y0 + ydn - pitch, XC + x0 + xdn, YC + y0 + ydn - pitch, BROWN);
}
xdn = 2 * xd;
ydn = 2 * yd;
tft.drawLine(XC - x0 - xdn, YC - y0 - ydn - pitch, XC + x0 - xdn, YC + y0 - ydn - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xdn, YC - y0 + ydn - pitch, XC + x0 + xdn, YC + y0 + ydn - pitch, BROWN);
tft.drawLine(XC - x0 - xd, YC - y0 - yd - pitch, XC + x0 - xd, YC + y0 - yd - pitch, SKY_BLUE);
tft.drawLine(XC - x0 + xd, YC - y0 + yd - pitch, XC + x0 + xd, YC + y0 + yd - pitch, BROWN);
tft.drawLine(XC - x0, YC - y0 - pitch, XC + x0, YC + y0 - pitch, TFT_WHITE);
last_roll = roll;
last_pitch = pitch;
}
Since the larger display has ~ 4x the number of pixels to draw I would expect the code to run 4x slower than for a 160 x 128 display and thus the text/numbers will flicker when it is redrawn.