diff --git a/firmware/lcd/display.c b/firmware/lcd/display.c index c56c7a2..64e7ea0 100644 --- a/firmware/lcd/display.c +++ b/firmware/lcd/display.c @@ -100,7 +100,14 @@ void lcdFill(char f){ } }; +void lcdSafeSetPixel(char x, char y, bool f){ + if (x>=0 && x<=RESX && y>=0 && y <= RESY) + lcdSetPixel(x, y, f); +} + void lcdSetPixel(char x, char y, bool f){ + if (x<0 || x> RESX || y<0 || y > RESY) + return; char y_byte = (RESY-(y+1)) / 8; char y_off = (RESY-(y+1)) % 8; char byte = lcdBuffer[y_byte*RESX+(RESX-(x+1))]; diff --git a/firmware/lcd/display.h b/firmware/lcd/display.h index 0690621..91f977e 100644 --- a/firmware/lcd/display.h +++ b/firmware/lcd/display.h @@ -26,6 +26,7 @@ void lcdDisplay(uint32_t shift); void lcdInvert(void); void lcdToggleFlag(int flag); void lcdSetPixel(char x, char y, bool f); +void lcdSafeSetPixel(char x, char y, bool f); bool lcdGetPixel(char x, char y); #endif