Your notes said wire it to 3.3v. I can give it another try in the morning if you have another thoughtsWhere do you have the RD pin wired to?
I didn’t add read support at the time, so I tied it to 3.3v
You can also wire to a free FlexIO pin and just keep it high
Perfect!Your notes said wire it to 3.3v. I can give it another try in the morning if you have another thoughts
I can confirm that bitdepth was NOT SET. Rotation was. I am using the example in the library.Perfect!
Can you confirm that in the setup() function you are calling setBitDepth(16) and SetRotation(x) etc?
I did set it as a test using the buydisplay and still only blank screen - did order one from buydisplay but as you said that will take a few weeks to get here . In the mean time I did order from amazon the other uno shield as well. That will get here tomorrow. So no worries - now back to PXP and Camera testingsetBitDepth() is crucial. Some of the init codes set it by default, some don't
I don't seem to have enough parts to put together a test display right now - will have to order one of AliExpress - will take a few weeks at most.
So you decided not to unsolder something like 9 (19, R21-28) resistors and one jumper(3), plus then solder one resistor(20) and one jumper(6)I did set it as a test using the buydisplay and still only blank screen - did order one from buydisplay but as you said that will take a few weeks to get here . In the mean time I did order from amazon the other uno shield as well. That will get here tomorrow. So no worries - now back to PXP and Camera testing
Getting too old to solder and resolder those small parts. Easier just to order one already set upSo you decided not to unsolder something like 9 (19, R21-28) resistors and one jumper(3), plus then solder one resistor(20) and one jumper(6)
Ditto... I have not ordered a new one yet, although I do have the one from Amazon also arriving tomorrow.
Marginal improvement - still some time and fudging ... but @Dogbone06 pointed out a brand/family of Air solder he uses that was a handy improvement swapping those 'TINY' CAPS on the DevBoard. Awesome for removal - and works well with solder paste putting SMD parts on too.Getting too old to solder and resolder those small parts
These are made by Bakon (https://www.bakon.cc/) in China, a pretty high quality company. I've bought several directly from them, truly works a charm and the tips they provide are the best I've tried. Lots of solder tips out there are garbage.Marginal improvement - still some time and fudging ... but @Dogbone06 pointed out a brand/family of Air solder he uses that was a handy improvement swapping those 'TINY' CAPS on the DevBoard. Awesome for removal - and works well with solder paste putting SMD parts on too.
This variant delivered here now at $50 https://www.amazon.com/gp/product/B0C7Q2GSTR - and includes a fresh combined temp controlled iron too with multiple tips.
Marginal improvement - still some time and fudging ... but @Dogbone06 pointed out a brand/family of Air solder he uses that was a handy improvement swapping those 'TINY' CAPS on the DevBoard. Awesome for removal - and works well with solder paste putting SMD parts on too.
Well I actually have a Aoyue hot air gun and soldering station: https://www.amazon.com/gp/product/B006FA481G/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 and a https://www.amazon.com/gp/product/B000KSPXZE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1These are made by Bakon (https://www.bakon.cc/) in China, a pretty high quality company. I've bought several directly from them, truly works a charm and the tips they provide are the best I've tried. Lots of solder tips out there are garbage.
So I can highly recommend this for anyone who wants a good solder station for a low price!
oops editing: I have one like:These are made by Bakon (https://www.bakon.cc/) in China, a pretty high quality company. I've bought several directly from them, truly works a charm and the tips they provide are the best I've tried. Lots of solder tips out there are garbage.
So I can highly recommend this for anyone who wants a good solder station for a low price!
Ditto...With that said no clue how to use them. Last time I tried I made a mess and gave up. Really have found a good set of beginners instructions on how to use them.
Lines 354370
Horiz/Vert Lines 405487
Circles (filled) 1049293
Circles (outline) 167739
Rectangles (outline) 221104
Rectangles (filled) 352340
Triangles (outline) 98723
Triangles (filled) 3738139
Rounded rects (outline) 210234
Rounded rects (filled) 4201596
Benchmark Time (microseconds)
Screen fill 615251
Text 10915
Lines 154798
Horiz/Vert Lines 51142
Rectangles (outline) 28386
Rectangles (filled) 1487087
Circles (filled) 177501
Circles (outline) 103593
Triangles (outline) 33562
Triangles (filled) 487144
Rounded rects (outline) 54398
Rounded rects (filled) 1626225
ILI9486 Initialized
Benchmark Time (microseconds)
Screen fill 133200
Text 20942
Lines 356470
Horiz/Vert Lines 408021
Circles (filled) 893530
Circles (outline) 169149
Rectangles (outline) 222505
Rectangles (filled) 352451
Triangles (outline) 99298
Triangles (filled) 3760474
Rounded rects (outline) 211702
Rounded rects (filled) 3136330
Well my guess is I messed up on how I did write16BitColor function works. Right now its set up as a modification to your push16bit function works:I wonder why there is such a decrease in render+write time compared to SPI
If I take the exact same LVGL app and run one over SPI and one over 8080 - the latter is 10x faster visually (and in write time too)
I know FlexIO SHIFTBUF can take a while to clear the transfer bit, but THAT long?
FASTRUN void ILI948x_t4_mm::write16BitColor(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, const uint16_t * pcolors, uint16_t count)
{
while(WR_DMATransferDone == false)
{
//Wait for any DMA transfers to complete
}
//uint32_t area = (x2-x1+1)*(y2-y1+1);
uint32_t area = count;
if (!((_lastx1 == x1) && (_lastx2 == x2) && (_lasty1 == y1) && (_lasty2 == y2))) {
setAddrWindow( x1, y1, x2, y2);
_lastx1 = x1; _lastx2 = x2; _lasty1 = y1; _lasty2 = y2;
}
SglBeatWR_nPrm_16(ILI9488_RAMWR, pcolors, area);
}
void writedata16_cont(uint16_t d) __attribute__((always_inline)) {
maybeUpdateTCR(_tcr_dc_not_assert | LPSPI_TCR_FRAMESZ(15) | LPSPI_TCR_CONT);
_pimxrt_spi->TDR = d;
_pending_rx_count++; //
waitFifoNotFull();
}
void writedata16_last(uint16_t d) __attribute__((always_inline)) {
maybeUpdateTCR(_tcr_dc_not_assert | LPSPI_TCR_FRAMESZ(15));
_pimxrt_spi->TDR = d;
// _pimxrt_spi->SR = LPSPI_SR_WCF | LPSPI_SR_FCF | LPSPI_SR_TCF;
_pending_rx_count++; //
waitTransmitComplete();
}
Screen fill 133319
Lines 355400
Horiz/Vert Lines 11284
Circles (filled) 95931
Circles (outline) 168032
Rectangles (outline) 6961
Rectangles (filled) 353046
Triangles (outline) 67087
Triangles (filled) 128698
Rounded rects (outline) 44855
Rounded rects (filled) 398191
Done!
Benchmark Time (microseconds)
Screen fill 129740
Lines 294814
Horiz/Vert Lines 10940
Circles (filled) 93865
Circles (outline) 139980
Rectangles (outline) 6729
Rectangles (filled) 333857
Triangles (outline) 56094
Triangles (filled) 122755
Rounded rects (outline) 44480
Rounded rects (filled) 378916
Done!
Benchmark Time (microseconds)
Screen fill 615251
Text 10915
Lines 154798
Horiz/Vert Lines 51142
Rectangles (outline) 28386
Rectangles (filled) 1487087
Circles (filled) 177501
Circles (outline) 103593
Triangles (outline) 33562
Triangles (filled) 487144
Rounded rects (outline) 54398
Rounded rects (filled) 1626225
Blocking. When tested before todays changes didn't seem to make much difference. Easy enough to give it a try though - stay tuned@mjs513 great work!
Are you using DMA on the parallel display or just blocking method?