Bodmer / TFT_eFEX

A support library for TFT_eSPI that adds commonly used extra functions
Other
83 stars 27 forks source link

Added line gradient #10

Closed tobozo closed 4 years ago

Bodmer commented 4 years ago

I have merged, I will test soon but the changes look good.

The speed may be down to the maths involved per pixel. Individual pixels at arbitrary coord also need 13 bytes per pixel to be sent to the display. Using tft.startWrite() and tft.endWrite() at the start and end of each library function will also remove the significant transaction switch overhead on the ESP32 and will do no harm for the ESP8266 speed.

Bodmer commented 4 years ago

I have tried the example and I like the colour effects.

On an ESP8266 the sketch suffers watchdog timeouts so yield(); needs to by added in any long duration loops.

Bodmer commented 4 years ago

I have tried and ESP32 on a larger screen and get this displayed: gradient test

The "Moire" fringing indicates missing pixels. There are areas that have not be drawn, I think this is because a variable is initialised here, before the screen rotation has been made.

If you cannot fix these minor problems then I will have to remove the new gradient feature, otherwise I will start getting issues raised :-(

Bodmer commented 4 years ago

I have raised issue #11 to request no issues be raised on this new feature.

tobozo commented 4 years ago

yup the moiré also happens on single color lines, not something I can fix.but not a bug of the gradient (nice screenshot btw ^^).

I'm testing an updated version of the example with the declarations moved into the loop, also stress-testing by arbitrarily changing the orientation, will make a PR in a few minutes

[edit] see #12