Hi,
The _drawCircleHelper() method is a legacy from the Adafruit GFX library and it is indeed used to draw quarter circles. It is not currently a public method but making it accessible would not a problem. However,...
Hi,
I find your your results quite surprising. I would think that the TOGGLE, SET and CLEAR registers have the same access time... In my (admittingly very dirty) test, I find that the write time is the same for all...
Hi,
I am bumping this old thread to mention that I made several improvements to my ILI9341 screen driver: https://github.com/vindar/ILI9341_T4.
Most importantly, thanks to user feedback, several subtle bugs have...
Hi,
You could also remember the pins states and then use the GPIO6_DR_TOGGLE register instead to prevent a delay between the high to low and low to high transitions.
All the details for the available registers...
I did a little more testing and everything seems to work nicely. However, since my previous post, I have changed the name of the new method from 'blend()' to 'blit()' because, in retrospect, it is just an extension of...
Hi,
I think you are not supposed to call 'initialize' multiple times... This codes seems to work correctly:
#include <TimerOne.h>
volatile long offset = 100;
void setup()
Done :D
I just added a new 'blend()' method to the library that performs the blitting of a sprite onto an image using a custom blending operator. If it works fine, I will also later add 'blendMask()' and...
Hi,
The blitting operations that are currently implemented use only basic alpha blending (and you must call the methods with an opacity parameter as the last parameter to activate blending, otherwise colors are...
If you have the transistor on the board, then you can directly connect the LED pin from your screen to any digital pin of the Teensy without any additional circuitry. Then, you can PWM the pin to dim the screen as you...
More details here on how to check if your screen has a transistor attached to the led pin: https://github.com/ThingPulse/esp8266-plane-spotter-color/issues/6
Hi,
In my experience, some «*red ili9341*screens » have a transistor already attached to the LED pin in which case you can directly PWM the backlight from a teensy pin… you can probably check on the PCB if that is...
Yes, it is very easy to clip any drawing operation to a given rectangular region of an image by creating a sub image referencing this region and drawing on it instead of the main image. Let me illustrate this. Say you...
Hi,
I just want to let you know that I updated the ILI9341_T4 library so that it now accepts any pin for CS and DS (but using a hardware CS pin for DS will provide the best performance). So you can now try it with...
Good to know it is working :)
I think it should be faster using only 3 chunks instead of 4 no ?
By the way, I just push an update to the library with some breaking change: the view port dimensions are not...
Hi,
I would suggest you use an internal framebuffer. Since your screen is monochrome with size 128x64, a memory buffer will only take 128*64 / 8 = 1kb of RAM (at 1 bit per pixel). You may use the GFXCanvas1 class...
Here is an (untested) snippet of code for drawing a 400x700 viewport centered on a 480x800 screen (in portrait mode) in two passes. First we draw and upload the upper half of the viewport then we do the same with the...
Yes, the 3D renderer is part of the TGX library which is completely independent of the screen/graphic driver used. All the renderer does is to draw graphics in regular RAM and then it is up to you to decide what you...
Yes, you can freely mix tgx with any other library since it does not access any peripheral hardware. The only thing tgx does is to write inside a tgx:Image which is basically a just buffer in RAM...
Here is a very...
Hi,
Yes, the tgx library is independent of the screen (an driver) used. All the library does is creating the graphics inside a memory framebuffer and then you choose which ever method you prefer to display the...