RA8875 5" 480x272

Just got one of these for my audio project.

Using 4 wire SPI.

Thought I'd post my findings!

TFT - view angles are ok tho.

It's a ok GFX Accelerator - nothing fancy - quick and simple to setup and get working.

It has no "command buffer" - which is crazy - really really crazy - so the whole thing is SPI transaction bound!

Since a few gfx commands require you to wait until the RA8875 is ready for more instructions - it goes against the whole idea of off loading to a GFX accel - since your host MCU has to idle about waiting.

I suppose you could use 3 wire SPI and the "busy" pin and create your own command buffer system - havn't tried this yet.

Max SPI speed I've got so far is 29mhz write 7mhz read - I'll try better connections soon - to see if it can go above that. I've previously got ILI9488 spying at 79mhz.

I think there are a few bugs in the RA hardware - if you setup dual layer to double buffer - you'll get issues when you switch write layers - even tho the RA claims it's finished it's business - it actually hasn't and will write previous fills onto your new layer!! Couldn't find anything to read for vsync or to indicate when the RA has properly finished doin' stuffs!

Bizarrely fillroundrect is twice as fast as fillrect - guessing some hardware bug.

fillRoundRect 480x272 16bit 2ms
fillRect 480x272 16bit 4ms

the RA8875 libs can be sped up ever so slightly:

void RA8875::_writeRegister(const uint8_t reg, uint8_t val)
{
_startSend();
_pspi->transfer(RA8875_CMDWRITE);
_pspi->transfer(reg);
_pspi->transfer(RA8875_DATAWRITE);
_pspi->transfer(val);
_endSend();
//writeCommand(reg);
//_writeData(val);
}

but you cannot send multiple CMDWRITE/DATAWRITE in one transaction.

Love to hear anyone else's RA8875 war stories :)
 
Sure - I'll post a vid in the next few weeks(busy with work). I've setup a few "benchmarks" for continuous rendering.

I realise this device is more for static rendering with slight changes - rather than full frame updates. Good device tho - I like it alot.
 
Back
Top