Cannot get work, setting same pin as mine doesn't do nothing, no activity on PIN 6 or 10 but MOSI and SCLK are fine, also the function pinIsChipSelect(_cs, _dc) cannot get true in SPI1 since only one pin is available (6).Sumotoy mine should work same way with pins you mentioned
The OSC-Library (lol..i don't know what it does ;-) - i just saw it when searching mentions of K20 ) misses a whole bunch of #defines for k64/k66 - even in the examples.
What is this lib ?
Edit: More missing #defines (and perhaps more work) in :
- openGLCD
- RA8875
- UTFT
- XBEE
for freqmeasure, I have done a PR some minutes ago
The OSC-Library (lol..i don't know what it does ;-) - i just saw it when searching mentions of K20 ) misses a whole bunch of #defines for k64/k66 - even in the examples.
What is this lib ?
Edit: More missing #defines (and perhaps more work) in :
- openGLCD
- RA8875
- UTFT
- XBEE
for freqmeasure, I have done a PR some minutes ago
defragster, I got SPI1 working on a test version ... , you don't need to do anything special or change any define.
The SPI1 is used only on K64/k66 and when MOSI=0,SCLK=32 and DC=6, in this case CS can be any pin.
//TFT_ILI9163C::TFT_ILI9163C(cspin,dcpin,rstpin,mosi,sclk)
TFT_ILI9163C tft = TFT_ILI9163C(10,6,255,0,32);//Teensy K66 SPI1!!!
Benchmark[rot=0] Time(F_BUS=60) Time (F_BUS=120) (microseconds)
Screen fill 9563 9016
Text 2262 2129
Text2 6735 6314
Lines 12844 11964
Horiz/Vert Lines 4124 3882
Rectangles (outline) 3344 3146
Rectangles (filled) 72931 68756
Circles (filled) 12176 11422
Circles (outline) 11583 10776
Triangles (outline) 4024 3751
Triangles (filled) 25046 23576
Rounded rects (outline) 6643 6209
Rounded rects (filled) 79837 75247
You are right that the pinIsChipselect(cs1,cs2) always returns false, as only one true CS on Spi1. Yes you can use pins 6 or 31, but they are both CS0, so they will both incode the same in the spi commands. I.e. They are simply alternate pins for each other in same way as there are alternates for MOSI.Cannot get work, setting same pin as mine doesn't do nothing, no activity on PIN 6 or 10 but MOSI and SCLK are fine, also the function pinIsChipSelect(_cs, _dc) cannot get true in SPI1 since only one pin is available (6).
Accordly this table, in SPI1 only pin 6 (or 31) should be usable and the SPI.cpp return always false for pinIsChipSelect(pin1,pin2), also setCS can handle only pin 6 or 31.
At this point a question is inevitable, where is pin 0xE4 and pin 0xE5 located on K66 board and how they can be legally usable in SPI1?
240Mhz
1MB write timing test 2048 writes, (0), (0), 2477 ms (2 sec)
1MB read timing test 2048 reads, (20), 1478 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2258 ms (2 sec)
1MB read timing test 2048 reads, (20), 1476 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2477 ms (2 sec)
1MB read timing test 2048 reads, (20), 1477 ms (1 sec)
192Mhz
1MB write timing test 2048 writes, (0), (0), 2280 ms (2 sec)
1MB read timing test 2048 reads, (20), 1487 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2508 ms (3 sec)
1MB read timing test 2048 reads, (20), 1489 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2279 ms (2 sec)
1MB read timing test 2048 reads, (20), 1490 ms (1 sec)
168Mhz
1MB write timing test 2048 writes, (0), (0), 2521 ms (3 sec)
1MB read timing test 2048 reads, (20), 1492 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2290 ms (2 sec)
1MB read timing test 2048 reads, (20), 1491 ms (1 sec)
1MB write timing test 2048 writes, (0), (0), 2516 ms (3 sec)
1MB read timing test 2048 reads, (20), 1495 ms (1 sec)
144Mhz
1MB write timing test 2048 writes, (0), (0), 2300 ms (2 sec)
1MB read timing test 2048 reads, (20), 1518 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2542 ms (3 sec)
1MB read timing test 2048 reads, (20), 1514 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2289 ms (2 sec)
1MB read timing test 2048 reads, (20), 1514 ms (2 sec)
120Mhz
1MB write timing test 2048 writes, (0), (0), 2549 ms (3 sec)
1MB read timing test 2048 reads, (20), 1608 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2302 ms (2 sec)
1MB read timing test 2048 reads, (20), 1560 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2544 ms (3 sec)
1MB read timing test 2048 reads, (20), 1668 ms (2 sec)
96Mhz
1MB write timing test 2048 writes, (0), (0), 2549 ms (3 sec)
1MB read timing test 2048 reads, (20), 1560 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2306 ms (2 sec)
1MB read timing test 2048 reads, (20), 1561 ms (2 sec)
1MB write timing test 2048 writes, (0), (0), 2553 ms (3 sec)
1MB read timing test 2048 reads, (20), 1560 ms (2 sec)
Very interested to try this out! Is all the library code you used, and a read/write example sketch somewhere in https://github.com/felis/UHS30/tree/master/libraries/UHS_host ?FS USB-OTG test results, Teensy 3.5. 256MB generic USB thumb drive.
Very interested to try this out! Is all the library code you used, and a read/write example sketch somewhere in https://github.com/felis/UHS30/tree/master/libraries/UHS_host ?
I wonder if SPIFIFO.h in teensy core needs a upgrade, for sure pin 26 is missed....
I never used it, someone knows anything that use it?
Paul Quick questions and suggestion. Is there a plan to make time_t 64bit? Perhaps we should, since I can forsee some devices in the wild that will actually still be using these devices. I've been seeing devices put out into the wild that are going to be monitoring things like air, water, soil, etc for an indefinite period. It is very possible such systems will be still in use. Right now it isn't if the system headers say time_t is 32bit, which is what I believe newlib uses. A patch is needed urgently, and is basically a mandate by 2018. Since this is an easy fix, why not fix it early, and never have to be concerned about it again.
ILI9341_t3 tft9341 = ILI9341_t3(TFT_CS, 20, 255, 11, 14, 12);
// ILI9341_t3::ILI9341_t3(cs, dc, rst, mosi, sclk, miso)
Paul's posting - hopefully that means the PCB routing of his lifetime is going well?
Perhaps I could commandeer my page#1, post #8.
tft.begin();
tft.setRotation(1);
for ( int ii=0; ii<8; ii++) {
Serial.print(F("Rectangles (filled) "));
Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA));
delay(500);
Serial.print(F("Rounded rects (filled) "));
Serial.println(testFilledRoundRects());
delay(500);
}
@defragster, I can update post#3 to contain a link to #8 at the very top if you wish, and either remove the rest or keep it with an "outdated" note. PM me if you like.