Folks I found a bug with the DMA that I didn't catch before. It's corrupting once you stop updating the display. As long as you continue to update it works fine. I'm running it down, but I'm waiting on some hardware i need first that should get...
Awesome.
I just ordered some of these screens. I've been making paired down drivers that do partial screen updates using DMA suitable for graphics libs like LVGL that produce bitmaps but don't have their own hardware interface with the library...
https://github.com/codewitch-honey-crisis/teensy_lcd_dma
Here's the benchmark I've been using. It's using htcw_uix instead of LVGL but the concept is the same
I added this driver for the ILI9341 https://github.com/codewitch-honey-crisis/ili9341_t4
also changed the interface a bit so now there's flush() and flush_async() - async uses DMA and takes an optional argument to flush the cache which you'll...
Solved: I found a quirky bug in my UI code that occasionally made the target draw bitmap larger than the available buffer space. Walking off the end was causing errors in a different part of my code, which confused me and inspired this post...
On to the next struggle. I made some LVGL compliant drivers (partial screen updates using DMA) and a base class to make it easy to implement more. It works for the Teensy 4.x presently. Trouble is I can't get it to work for the ILI9341 which is...
Solved:
Unfortunately I'm not sure what I did. I went back and retooled my code to remove, and then reinsert this functionality and it worked. *shrug*
Sorry for the churn folks. I had been wrestling with this all morning.
Previous issue...
Edit: Never mind. I solved it. My transfer buffers were too large
I'm trying to do DMA to an LCD using 8-bit instead of 16-bit transfers for a couple of reasons. Firstly, the color depth for IoT screens can usually be set to 18-bit "packed" into...
In case anyone finds this thread later here's what I've found specifically in my tests.
Paul basically said as much, but I'll just hit the highlights:
You can use DTCM memory (via declaring a static array) and everything works great without...
I'm on a Teensy 4.1 (MXRT1062)
I've been inspecting the code for *_t3 graphics libraries like SSD1351_t3, and ST7789_t3.
I noticed there is a complicated anti-caching scheme happening wherein multiple buffers are being juggled and memcpy'd...
I have almost no soldering skills, but I married well, so he can solder - it was a condition of our marriage (kidding). I also have a Hakko.
That said, even with my resources, I've found myself gravitating towards kits with integrated screens...
There are variants if the ILI9341 that are basically compatible but require a slightly different initialization sequence.
TFT_eSPI handles these, so I would look there in Bodmer's defines - the init and rotation headers for the ILI9341 variants...
I noticed the existing drivers require an entire framebuffer to be used to support DMA.
I retooled and stripped these drivers so that they can do partial updates to the display, the way libraries like LVGL and htcw_uix expect.
They don't do...
The ESP32 successfully hosts FreeRTOS alongside Arduino which allows for a scheduler and use of its multiple cores.
Arduino itself does not have multithreaded functionality, and synchronization needs to be added to the HAL to support multiple...
Thanks for the advice. Arduino IDE 2.x flickers painfully on both my machines, rendering it nearly unusable.
STM32CubeMX had a similar issue, - it had to do with them not testing on high end video cards -but I was able to work around it. No such...
hey, i did have two versions of gccarmoneeabi - one with -teensy as a suffix. I deleted both, in addition to the other folders.
I removed the build_unflags/build_flags settings from PIO, reverting them to the default configuration, and rebuilt.
I...
I know where the windows folders are. I'll give that a shot, but I'm not confident based on the fact that I was seeing the latest package versions during the build. Either way, I appreciate it.
Hey thanks. I was originally doing -std=gnu++11 in my build_unflags, but that wasn't working. You tipped me off to a fix. When I switched it to 14 from 11 it worked
build_unflags = -std=gnu++14
build_flags = -std=gnu++17
-DHTCW_GFX_NO_SWAP...
I'm trying to build for a Teensy 4.1. This used to work. Now I get all kinds of crazy errors. (Both for PIOArduino and PlatformIO)
I love your devkit, i do not love the Arduino IDE, so if your kit forces me to use Arduino IDE, I am done with...