OPPS - F_CPU was left at 150 MHz !!!! this and prior post - recalbrating
NOTE: Audio works at ALL SPI speeds - but display and SerMon output ONLY at 16 and 24 MHz
//#define ST7735_SPICLOCK 80'000'000
//#define ST7735_SPICLOCK 40'000'000
#define...
Had to find ST7735_t3_font_OpenSans.h
"C:\Users\MEMEME\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.60.4\libraries\ST7735_t3\fonts.zip"
Builds and runs with these notes:
1.8.19\\hardware\\teensy\\avr\\libraries\\SD\\src"...
I've pushed up a commit which gives you a way to switch the hardware over to the Mini Platform using one macro; change #define notMINI_PLATFORM to #define MINI_PLATFORM. If I've missed anything or got it wrong, please drop me a PR and I'll fix it.
You had something similar happen when you were making some connector mods and the CS pin got left disconnected I think.
Along a similar line, when I first modified the prototype to go from ILI9341 to use the new ST7796, I forgot to cut an inner...
An example for serial with DMA on T4.1:
https://forum.pjrc.com/index.php?threads/using-dma-to-store-uart-byte-directly-in-teensy-3-5.71466/#post-315706
Still between blocking issues here.
I did run the display with audio the other day at 150 MHz for a test and it worked ... in the end.
First build and upload ran off color on END of display (wrong orientation and green? IIRC) ? Then changed...
@h4yn0nnym0u5e I finally had a chance to download your big-screen-t4 branch. With no changes to my test sketch, it compiled and ran fine and audio was good.
I then ran your Audio_TFT_Display_torture_test. It initially ran OK but there was no...
I've got hold of a few IS66WVS16M8FBLL chips (3.3V 16MByte), and have managed to get the cores to initialise them correctly. Two of them show up as 32MB, and the standard PSRAM test passes. I don't have a lot of Teensy 4.1s knocking about, so the...
We just had to hunt this bug down for work, and I thought I would share what I found.
We have a Teensy 4.1 as a controller in our robot that recently started rebooting for no known reason.
It would not just reboot once, but keep repeating every...
I wonder how much of a performance boost this thing would have on a Devboard v5 with SDRAM, and a full eLCDIF/FlexIO capable output for driving a display
Hi guys,
I've been pulling my hair out on this one.
Thanks for posting this solution:
SNVS_LPCR |= (1 << 24); //Enable NVRAM - documented in SDK
That is all I needed :)
Regards,
E.
I've done some more testing, this time with eLCDIF enabled before the PXP is started and and before a trasnfer starts
PXP and eLCDIF share the destination buffer, so the eLCDIF is constantly running
This affects the number a fair amount, but not...
I'd be totally flattered if you had one of my boards. I have 10 version 3 boards, with repaired LPT ports, Im working on the last missing feature (keyboard scan code maps) likely needed for people using not-my-keyboard, no big deal, done in a day...
BTW: Example in use is :: // Part 3-3: Add a TFT Display
which at 150 MHz has this loop() code updating the display bars:
if (msecs > 15) {
if (peak1.available() && peak2.available()) {
msecs = 0;
float leftNumber =...
Thanks to the wonderful culture of folks' here I was able to put together a fully functional standalone CP/M-80 version 2.2 machine using Teensy 4.1. None of the host teensy code is visible, it boots Z80/8080 code like a 1978 machine, with all of...
Try building it at 150 MHz and running it there first.
Have an audio sketch here playing back SD WAV files that works doing that and bar charts on an SPI display that works as well as it does at 600 MHz.
It may be there is something that...
More updates...
attachInterrupt() renamed to setDMAinterruptPriority()
mid-transaction break added in DMA+IRQ asynchronous updates, i.e. those started with updateScreenAsync([true|false], true);
updates to torture test
Brief testing so far...
When a verbose build completes the libraries used are noted at the tail of the build like IDE 2:
Using library Audio at version 1.3 in folder: C:\Users\aUser\AppData\Local\Arduino15\packages\teensy\hardware\avr\0.60.4\libraries\Audio
or IDE 1...
OK, I've pushed a bunch of changes to the big-screen-t4 branch, which should include continuous updates now working again - use
UPDATE_MODE values of 3 or 7 in Audio_TFT_Display_torture_test.ino to test. Apart from those, there are some...
The p#3 note was when it was horrid - not seen that since. That may have been after initial expanded memory alloc and before the 403 responses.
Was totally not good then (in cycles) if it did draw like clicking the @KurtE page it would draw only...
Years ago I looked at slow responses for misbehaving bots. Maybe there is some way to do it, but it's tricky to accomplish without tying up resources on our side while the connection remains open.
For an idea of the scale, yesterday's log file...
I started by aiming to break up the long SPI transactions into short chunks, so the display doesn’t hog the bus when it’s shared with other hardware needing regular access (audio being the known candidate and test case). That’s essentially done...
The bots are still at it, fetching about 10-15 URLs per second from a vast pool of IP numbers.
I'm configured the server to reply with 403 error for 22 large netblocks which are more than half the requests so far. A quick 403 response means PHP...
The big-screen-t4 branch mostly works for me with the 4" ST7796! Async update wasn't working in the normal library, which is what I needed. However, it doesn't work if turning on continuous updates. Only one-shot. That's fine for me, but just FYI.
Thanks. I've switched issue reporting on for that repo, and added that to it. There's a lot of housekeeping stuff like that which will get done either if (a) someone needs it urgently, or (b) I get everything else to a state where I think it...
Support for this 7796 is in its first BETA ...
See here - https://forum.pjrc.com/index.php?threads/st7796-teensyduino-support.76510/post-358582
Work in progress may apply
Forum Keeps coming and going ... and click of link wasn't giving whole page?
https://forum.pjrc.com/index.php?threads/code-explanation-on-a-http-3-5inch_spi_module_ili9488.77008/#post-358826
... working now . for now
Starting yesterday (May 27, 2025) the forum began having problems, showing "An error occurred while the page was being generated".
After some investigation, the problem turned out to be a "xf_session_activity" table grew too large. Apparently...
More testing on DB5:
SDRAM@133Mhz
Time to copy 800*240*2 bytes from RAM1 to RAM2: 1607 uSec
Time to copy 800*240*2 bytes from RAM1 to SDRAM: 8406 uSec
Time to copy 800*240*2 bytes from RAM2 to SDRAM: 8405 uSec
Time to copy 800*240*2 bytes from...
I tried some full sized images, 800 x 480 in 24 bit packed format. Not using the pixel pipeline. The fastest i could get was:
Image in SDRam, reading from SDram then copying into the Backbuffer on SDRam. 13.9 milliseconds
Image saved to...
Been doing some more experiments with stepper/encoder along with quad encoder lib.
Right now in the sketch I have:
void runMove()
{
int stepsPerRevolution = PPR * MPR;
int total_revs = revolutions * stepsPerRevolution...
What @jmarsh said.
I just did a quick spreadsheet and if you’d carried on a bit longer, you’d’ve seen an error at record 160, none at 182 (because the 256-byte boundary is exactly between your two floats), then the errors resuming at record 277...
Out of curiosity, I went back to the original problem statement from when Defragster first detected this issue with the Audio Tutorial 3-3. I put everything back to original except I increased SPI clock to 80MHz and that also resolved that...
Asynchronous updates are now working for a 480x320 display, on this branch - not the same as previous, but branched from it. These are not finished for my purposes - I'd need to add the mid-transaction break, which is going to take some thinking...
This may be awhile:
I am not suggesting that this will be today or tomorrow or ... Could be weeks, months...
I am not overly inspired... Hopefully that will come back. And if it does I will probably mainly fix the things are broken, and not...
That would be good.
I've followed the code just far enough to determine that there's an assumption that if 2 chunks would be too big, then 3 will be fine. However, this isn't true, and it attempts to do 3x transfers of 51200 pixels, which...
Join the crowd. It does for me as well, everytime I look at it. Especially since DMA works differently for T4.x, 3.5, 3.6, lc, ...
On T4.x if I remember correctly: With something this big you can not do it all with one simple DMA structure...
Maybe @KurtE and/or @mjs513 will see this and offer insight.
This 4" display with more area and resolution is quite nice and has been running the example for 10 hours it seems since posted above at "80 MHz" - not sure what it really resolves to...
Paging @KurtE :D ...
I had an inspiration, and lied about the screen resolution, which made the asynchronous update spring into life. The truth is 320x480, but if I say 320x240 it works OK. I'd have a crack at fixing it myself, but the DMA code...