And it looks like I maybe missed removing a warning from digitalToggle()
unused variable (pinMode)...
/// Font data stored PER GLYPH
typedef struct {
uint16_t bitmapOffset; ///< Pointer into GFXfont->bitmap
uint8_t width; ///< Bitmap dimensions in pixels
uint8_t height; ///< Bitmap dimensions in pixels
uint8_t xAdvance; ///< Distance to advance cursor (x axis)
int8_t xOffset; ///< X dist from cursor pos to UL corner
int8_t yOffset; ///< Y dist from cursor pos to UL corner
} GFXglyph;
/// Data stored for FONT AS A WHOLE
typedef struct {
uint8_t *bitmap; ///< Glyph bitmaps, concatenated
GFXglyph *glyph; ///< Glyph array
uint16_t first; ///< ASCII extents (first char)
uint16_t last; ///< ASCII extents (last char)
uint8_t yAdvance; ///< Newline distance (y axis)
} GFXfont;
@mjs513 - I also did a PR on the ST7735_t3 code for same issue: https://github.com/PaulStoffregen/ST7735_t3/pull/17
and as mentioned already did for ili9341_t3n... Have not done yet for RA8876, nor ILI9488_t3...
Will try to do 9488 soon unless someone beats me... But getting ready for another round of Sushi![]()
@Paul - You should probably pickup the updated libraries
Done. I've pulled in the latest for RA8875, ST7735_t3 and ILI9488_t3.
I'm still looking though a long list of compiler warnings & errors. Seems ILI9488_t3 examples UpdateAsyncCont_Test and Kurts_ILI9488_t3n_FB_and_clip_tests may still be using extRAM_t4.h.
Yes they do from what I remember. Not sure if you want to pull that stuff in yet.
...that is recognized by Teensy loader, Teensy monitor and would allow automatic reprogramming?
Is that just used for PSRAM access? That is built in now with TD 1.52. Only problem is lack of a uniform malloc() scheme for that to avoid conflicts with a user manual alloc.
Looking at the "Kurts_ILI9488_t3n_FB_and_clip_tests" example, I don't understand why it's including extRAM_t4.h. It creates an "ext_mem" object which seems to be only used once for "ext_mem.begin();". Since 1.52 initializes the hardware, that shouldn't be needed, right?
But just commenting those lines doesn't make it compile. The next issue that comes up is an elapsedMicros variable which is defined for one #ifdef case but not the other. Fixing that still doesn't get it to build. I didn't investigate any further.
Could I talk you into committing at least some comments at the beginning of this file, stating it's experimental code that probably doesn't work? Likewise for other examples which are experimental stuff, please add some comments at the top of those files for users who click File > Examples > ILI9488_t3 and unwittingly choose one that doesn't actually work.
Fine to leave this broken stuff in... but please think of end users who are experiencing the library for the first time, perhaps having just connected the wires and not 100% sure their hardware is connected properly. Known-good examples are essential to help people bring up their freshly-wired hardware.
I made a little PCB to connect Teensy to these RA8875 displays from BuyDisplay.
#elif defined(__IMXRT1052__) || defined(__IMXRT1062__) // Teensy 4.x
...
//DMASetting ILI9488_t3::_dmasettings[2];
//DMAChannel ILI9488_t3::_dmatx;
#else
#elif defined(__IMXRT1052__) || defined(__IMXRT1062__) // Teensy 4.x
// Going to try it similar to T4.
#if defined(ENABLE_EXT_DMA_UPDATES)
#define SCREEN_DMA_NUM_SETTINGS 5 // see if making it a constant value makes difference...
DMASetting _dmasettings[6];
DMAChannel _dmatx;
#else
static DMASetting _dmasettings[2];
static DMAChannel _dmatx;