HUZZAH32 & TFT Featherwing

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
xerof
 
Posts: 24
Joined: Fri Aug 08, 2014 6:35 pm

HUZZAH32 & TFT Featherwing

Post by xerof »

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!

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: HUZZAH32 & TFT Featherwing

Post by adafruit_support_mike »

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.

User avatar
xerof
 
Posts: 24
Joined: Fri Aug 08, 2014 6:35 pm

Re: HUZZAH32 & TFT Featherwing

Post by xerof »

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:

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);
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

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: HUZZAH32 & TFT Featherwing

Post by adafruit_support_mike »

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.

User avatar
xerof
 
Posts: 24
Joined: Fri Aug 08, 2014 6:35 pm

Re: HUZZAH32 & TFT Featherwing

Post by xerof »

Good morning,

I managed to get hold of an HUZZAH32 - I can confirm that the flickering has gone

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: HUZZAH32 & TFT Featherwing

Post by adafruit_support_mike »

Glad to hear it's working for you. Happy hacking!

User avatar
djakopac
 
Posts: 6
Joined: Wed Dec 21, 2011 11:41 am

Re: HUZZAH32 & TFT Featherwing

Post by djakopac »

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.

User avatar
xerof
 
Posts: 24
Joined: Fri Aug 08, 2014 6:35 pm

Re: HUZZAH32 & TFT Featherwing

Post by xerof »

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.

User avatar
mnelsonhotjobs
 
Posts: 130
Joined: Sun Mar 06, 2016 5:27 pm

Re: HUZZAH32 & TFT Featherwing

Post by mnelsonhotjobs »

@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))

User avatar
djakopac
 
Posts: 6
Joined: Wed Dec 21, 2011 11:41 am

Re: HUZZAH32 & TFT Featherwing

Post by djakopac »

@mnelsonhotjobs, that worked! Thanks.

Locked
Please be positive and constructive with your questions and comments.

Return to “Feather - Adafruit's lightweight platform”