Hey,
I was looking for some information regarding the HUZZAH32 & TFT Featherwing. Is there any speed increase? Is there a reduction with the custom font flicker that is present on an ESP8266 ?
Would love to know before possibly purchasing the HUZZAH32.
Thanks!
HUZZAH32 & TFT Featherwing
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: HUZZAH32 & TFT Featherwing
There won't be any difference in speed.. the FeatherWing uses all the same connections as an external display, just hardwired.
If you're getting flickering with custom fonts, you probably need to adjust your blanking strategy. The usual solution is to draw a rectangle of the background color over the area to be filled by text immediately before drawing the text. If you're updating larger areas, you might need to break it down into smaller chunks though.
If you're getting flickering with custom fonts, you probably need to adjust your blanking strategy. The usual solution is to draw a rectangle of the background color over the area to be filled by text immediately before drawing the text. If you're updating larger areas, you might need to break it down into smaller chunks though.
- xerof
- Posts: 24
- Joined: Fri Aug 08, 2014 6:35 pm
Re: HUZZAH32 & TFT Featherwing
Hi Mike,
I wasn't sure if the increased CPU would push the data any faster that was all.
I am actually already drawing a background behind before drawing the text. I am using something as follows:
For instance, drawing the time (Format HH:MM:SS) it will only be the column that updates that flickers, so every second he SS part will flicker, the HH:MM: stays the same. Then when the minutes update you will just see that part flicker.
I only update the part of the time block that needs to be updated
I wasn't sure if the increased CPU would push the data any faster that was all.
I am actually already drawing a background behind before drawing the text. I am using something as follows:
Code: Select all
int16_t x1, y1;
uint16_t w, h;
_tft->setTextWrap(false);
_tft->getTextBounds(text, 0, 0, &x1, &y1, &w, &h);
_tft->fillRect(x1, y - h -1, w + 1, h + 1, _backgroundColor);
_tft->setCursor(x1, y);
_tft->print(text);
I only update the part of the time block that needs to be updated
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: HUZZAH32 & TFT Featherwing
You might get a little more SPI speed from the ESP32, but I honestly don't know the clock rates for that one. The board (and chip) are new enough that I haven't gotten too far under the hood yet.
You might need to blank and print one character, or a smaller group of characters, at a time. Beyond that, I don't know of any solution other than a deep rewrite of the GFX font code.
You might need to blank and print one character, or a smaller group of characters, at a time. Beyond that, I don't know of any solution other than a deep rewrite of the GFX font code.
- xerof
- Posts: 24
- Joined: Fri Aug 08, 2014 6:35 pm
Re: HUZZAH32 & TFT Featherwing
Good morning,
I managed to get hold of an HUZZAH32 - I can confirm that the flickering has gone
I managed to get hold of an HUZZAH32 - I can confirm that the flickering has gone
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: HUZZAH32 & TFT Featherwing
Glad to hear it's working for you. Happy hacking!
- djakopac
- Posts: 6
- Joined: Wed Dec 21, 2011 11:41 am
Re: HUZZAH32 & TFT Featherwing
How did you get the two to work together? I'm trying to get the ESP32 Feather and 2.4 TFT Featherwing to work. I'm using Micropython 1.9.1 and used mpy-cross to recompile ili9341.py, gfx.py. I also changed the TFT cs and ds values. No luck.
Code: Select all
import machine
import ili9341
import gfx
spi = machine.SPI(1, baudrate=32000000)
display = ili9341.ILI9341(spi, cs=machine.Pin(15), dc=machine.Pin(33))
display.fill(0) # No change. All white screen.
- xerof
- Posts: 24
- Joined: Fri Aug 08, 2014 6:35 pm
Re: HUZZAH32 & TFT Featherwing
Hey,
I used the arduino library so not sure if that might be why. I don't have access to my computer right now but I'll double check the pins when I can.
I used the arduino library so not sure if that might be why. I don't have access to my computer right now but I'll double check the pins when I can.
- mnelsonhotjobs
- Posts: 130
- Joined: Sun Mar 06, 2016 5:27 pm
Re: HUZZAH32 & TFT Featherwing
@djakopac: This worked for me using the standard Adafruit ili9341 library for micropython. I haven't tested more but I would guess that the only thing that matters is the assignment of the SPI pins. I had no luck just using SPI1.
Code: Select all
import ili9341
import machine
from machine import Pin, SPI
spi = SPI(mosi=Pin(18), miso=Pin(19), sck=Pin(5), baudrate=64000000)
display = ili9341.ILI9341(spi, cs=Pin(15), dc=Pin(33), rst=Pin(16))
display.fill(ili9341.color565(255, 0, 0))
- djakopac
- Posts: 6
- Joined: Wed Dec 21, 2011 11:41 am
Re: HUZZAH32 & TFT Featherwing
@mnelsonhotjobs, that worked! Thanks.
Please be positive and constructive with your questions and comments.