Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Pixel function used wrong width and height for bounds check.
Remove String variable in smooth font code (not used)
Correct ESP8266UncannyEyes example for new setAddrWindow parameters
  • Loading branch information
Bodmer committed Feb 20, 2019
1 parent 66a21cb commit 1edfe6c
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 10 deletions.
6 changes: 2 additions & 4 deletions Extensions/Smooth_font.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,13 @@ void TFT_eSPI::loadFont(String fontName)

unloadFont();

_gFontFilename = "/" + fontName + ".vlw";

// Avoid a crash on the ESP32 if the file does not exist
if (SPIFFS.exists(_gFontFilename) == false) {
if (SPIFFS.exists("/" + fontName + ".vlw") == false) {
Serial.println("Font file " + fontName + " not found!");
return;
}

fontFile = SPIFFS.open( _gFontFilename, "r");
fontFile = SPIFFS.open( "/" + fontName + ".vlw", "r");

if(!fontFile) return;

Expand Down
2 changes: 0 additions & 2 deletions Extensions/Smooth_font.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ fontMetrics gFont = { 0, 0, 0, 0, 0, 0, 0 };
int8_t* gdX = NULL; //leftExtent
uint32_t* gBitmap = NULL; //file pointer to greyscale bitmap

String _gFontFilename;

bool fontLoaded = false; // Flags when a anti-aliased font is loaded

private:
Expand Down
7 changes: 6 additions & 1 deletion Extensions/Sprite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,8 @@ int16_t TFT_eSprite::height(void)
// Does nothing for 8 and 16 bpp sprites. TODO allow rotation of these sprites
void TFT_eSprite::setRotation(uint8_t rotation)
{
if (_bpp != 1) return;

_rotation = rotation;
if (rotation == 0 && _iwidth > _iheight) swap_coord(_iwidth, _iheight);
if (rotation == 1 && _iwidth < _iheight) swap_coord(_iwidth, _iheight);
Expand All @@ -1085,19 +1087,22 @@ uint8_t TFT_eSprite::getRotation(void)
void TFT_eSprite::drawPixel(int32_t x, int32_t y, uint32_t color)
{
// Range checking
if ((x < 0) || (y < 0) ||(x >= _width) || (y >= _height) || !_created) return;
if ((x < 0) || (y < 0) || !_created) return;

if (_bpp == 16)
{
if ((x >= _iwidth) || (y >= _iheight)) return;
color = (color >> 8) | (color << 8);
_img[x+y*_iwidth] = (uint16_t) color;
}
else if (_bpp == 8)
{
if ((x >= _iwidth) || (y >= _iheight)) return;
_img8[x+y*_iwidth] = (uint8_t)((color & 0xE000)>>8 | (color & 0x0700)>>6 | (color & 0x0018)>>3);
}
else // 1 bpp
{
if ((x >= _dwidth) || (y >= _dheight)) return;
if (_rotation == 1)
{
uint16_t tx = x;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ void drawEye( // Renders one eye. Inputs must be pre-clipped & valid.
// reset on each frame here in case of an SPI glitch.

//eye[e].tft.setAddrWindow(319-127, 0, 319, 127);
eye[e].tft.setAddrWindow(0, 0, 128, 128);
eye[e].tft.setAddrWindow(0, 0, 127, 127);

//digitalWrite(eye[e].cs, LOW); // Chip select

Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "TFT_eSPI",
"version": "1.4.6",
"version": "1.4.7",
"keywords": "tft, ePaper, display, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, ST7789",
"description": "A TFT and ePaper SPI graphics library for ESP8266 and ESP32",
"repository":
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=TFT_eSPI
version=1.4.6
version=1.4.7
author=Bodmer
maintainer=Bodmer
sentence=A fast TFT graphics library for ESP8266 and ESP32 processors for the Arduino IDE
Expand Down

0 comments on commit 1edfe6c

Please sign in to comment.