Forum Rule: Always post complete source code & details to reproduce any issue!

Search:

Type: Posts; User: vindar

Page 1 of 2 1 2

Search: Search took 0.00 seconds.

  1. Replies
    39
    Views
    3,121

    Hi, The _drawCircleHelper() method is a...

    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...
  2. Replies
    18
    Views
    618

    Hi, I find your your results quite...

    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...
  3. Hi, I am bumping this old thread to mention...

    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,...
  4. Replies
    18
    Views
    618

    Hi, You could also remember the pins states...

    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...
  5. Replies
    5
    Views
    116

    this is a strange bug. May I ask why you need to...

    this is a strange bug. May I ask why you need to use 74HCT245/125 between the T4.1 and the ili9341 screens ?
  6. Replies
    39
    Views
    3,121

    I did a little more testing and everything seems...

    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...
  7. Replies
    5
    Views
    147

    Hi, I think you are not supposed to call...

    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;
  8. Replies
    39
    Views
    3,121

    Done :D I just added a new 'blend()' method to...

    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...
  9. Replies
    39
    Views
    3,121

    Hi, The blitting operations that are...

    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,...
  10. If you have the transistor on the board, then you...

    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...
  11. More details here on how to check if your screen...

    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
  12. Hi, In my experience, some *red...

    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...
  13. Replies
    39
    Views
    3,121

    Yes, it is very easy to clip any drawing...

    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...
  14. Replies
    39
    Views
    3,121

    Hi, I just want to let you know that I...

    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...
  15. Replies
    39
    Views
    3,121

    Good to know it is working :) I think it...

    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...
  16. Hi, I would suggest you use an internal...

    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...
  17. Replies
    39
    Views
    3,121

    Here is an (untested) snippet of code for drawing...

    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...
  18. Replies
    39
    Views
    3,121

    Yes, the 3D renderer is part of the TGX library...

    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...
  19. Replies
    39
    Views
    3,121

    Yes, you can freely mix tgx with any other...

    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......
  20. Replies
    39
    Views
    3,121

    Hi, Yes, the tgx library is independent of the...

    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...
  21. Replies
    39
    Views
    3,121

    Hello, I have seen report about this error...

    Hello,

    I have seen report about this error before: https://github.com/vindar/tgx/issues/1

    I think the problem may be that you are using an older version of Teensyduino. Can you try installing...
  22. Good to know, thanks.

    Good to know, thanks.
  23. @WMXZ Yes indeed, but I was hoping there was...

    @WMXZ
    Yes indeed, but I was hoping there was some secret ARM instruction for parallel multiplication that the compiler was not aware of... Apparently not.
  24. Hi, I just did a quick benchmark of CMSIS...

    Hi,

    I just did a quick benchmark of CMSIS arm_mat_mult_f32() for multiplying 4x4 float32 matrices on a T4. In my test setup, the function is about 7% faster than a hard-coded matrix...
  25. Replies
    39
    Views
    3,121

    Hi everyone, I am bumping this thread to let...

    Hi everyone,

    I am bumping this thread to let you know that I have made improvements to my 2D/3D library. In particular, concerning the 3D part of the lib:


    Added new texturing modes (wrap /...
  26. Replies
    2
    Views
    401

    Hello, I (unfortunately) do not know the...

    Hello,

    I (unfortunately) do not know the answer to your question but I am somewhat confused about your problem.

    The pixels in the ili934 screen are square. Then, if the pixels on your other...
  27. Hi, The ILI9341_T4 library borrows code from...

    Hi,

    The ILI9341_T4 library borrows code from Paul's XPT2046 library to drive.the.touchscren. I did not test it fully but it did work for the touch screens I have.

    Did you specify that you are...
  28. Replies
    39
    Views
    3,121

    Hi, I made some improvement to the library...

    Hi,

    I made some improvement to the library which now supports blitting rotated and rescaled sprites with bilinear filtering. If anyone is interested in creating a gauge, a counter or a clock,...
  29. Hi, I just experimented switching between...

    Hi,

    I just experimented switching between MODE0 to MODE3 on an ILI9341 screen connected to a T4.1 on a breadboard with 5cm long wires. I am not seeing any improvement. Both modes are stable up to...
  30. Hi, The clip error seems to be a mistake from...

    Hi,

    The clip error seems to be a mistake from my part where I mixed double and float carelessly. Hopefully, it should be ok now if you pull the the latest version of the library from github.
    ...
  31. Replies
    39
    Views
    3,121

    Hello, I am upping this old post to mention...

    Hello,

    I am upping this old post to mention that I have made some significant improvements to the library: all 2D drawing methods now support alpha-blending. I have also added several drawing...
  32. Replies
    39
    Views
    3,121

    @mjs513 Thanks ! In fact, I used your...

    @mjs513 Thanks ! In fact, I used your pseudo-opengl library as the starting point for the implementation the Mat4 matrix class. That was very useful :)
  33. Replies
    39
    Views
    3,121

    (5) 'Screaming waves' Finally, a last example...

    (5) 'Screaming waves' Finally, a last example where the geometry of the object is changed at runtime. The sheet is made of about 4K triangles whose heights are recomputed at each frame to create...
  34. Replies
    39
    Views
    3,121

    (3) Happy Buddha 20K vertices running with SPI...

    (3) Happy Buddha 20K vertices running with SPI down to a puny 20Mhz. The video does not really shows it but it runs at a fixed 30FPS with vsync enables (so completely tear free).

    ...
  35. Replies
    39
    Views
    3,121

    tgx: a 2D/3D graphics library for Teensy.

    Hello,

    I have been working on a new graphics library for a few week: tgx - Tiny/Teensy GraphicX library available here: https://github.com/vindar/tgx.

    With the advent of powerful MCU like...
  36. Replies
    0
    Views
    475

    Macros for memory location (T4/4.1) ?

    Hi,

    Is there available macros to check whether a given address resides in DTCM, DMAMEM, EXTRAM, FLASH, ... ? I checked a bit but I did not find anything conclusive except a macro IS_EXTRAM() in...
  37. Hi, Just bumping this thread to say that I...

    Hi,

    Just bumping this thread to say that I made quite a few optimizations to the library.
    It now performs almost identically in any orientation mode. CPU usage has been significantly reduced...
  38. Yes exactly :-) Yes, I think it should...

    Yes exactly :-)



    Yes, I think it should work in your case since there is no way your will upload rate will be faster than the refresh rate. In my case, differential updates can be way faster...
  39. Hi KurtE I think the main point to notice is...

    Hi KurtE

    I think the main point to notice is that you do not need the duration of a frame upload to be smaller than a refresh period but only to be smaller than (a little less than) 2 times the...
  40. Ahah, I completely sympathize. I made the exact...

    Ahah, I completely sympathize. I made the exact same mistake last week and spent 4 hours pulling my hair and wondering why my screen was behaving erratically. I had just moved from a breadboard to a...
  41. Isn't you code also holding the DC pin low during...

    Isn't you code also holding the DC pin low during the 3us wait ?
    Maybe that is the problem as the 0x45 command is only registered once the dc pin goes high again and that is when the wait should...
  42. Replies
    16
    Views
    6,458

    That is very cool ! I did not know about the PXP...

    That is very cool ! I did not know about the PXP pipeline. How efficient is the flip/rotation of a buffer ?
  43. Indeed. I read the doc too fast: addThread()...

    Indeed.
    I read the doc too fast: addThread() only accepts functions with a single argument of type either int or void* so I guess you must do it the old way and pass the address of a struct...
  44. According to...

    According to https://github.com/ftrias/TeensyThreads, the syntax is similar to std::thread so you can just try


    threads.addThread(Edge1,"Cylon", 120.5)
  45. Also I just realize a few things today which gave...

    Also I just realize a few things today which gave me a huge improvement in the upload speed:

    - The PASET and CASET commands are supposed to send two 16bits values: the end and the start value. But...
  46. Hi, Yes, Paul's version probably better than...

    Hi,

    Yes, Paul's version probably better than mine :-)

    Indeed, I am missing a bit in my code since I am not using the lsb from the second byte received. I do not kwow why but when I...
  47. The problem with rotating an image is that it is...

    The problem with rotating an image is that it is not possible to access both src and dst buffer linearly and when using EXTMEM, optimizing cache access is a must. As you can see EXTMEM -> DMAMEM is...
  48. Yes I agree. It heavily depends on the...

    Yes I agree. It heavily depends on the application and where to set the trade-off fps drop / screen tearing ... Also, this frame drop is the reason I wanted to push diff updates to compensate...
  49. @mborgeson I wanted to see how to driver...

    @mborgeson

    I wanted to see how to driver handles video so I hooked up an esp-cam streaming video to the Teensy via SPI (with Teensy as slave, receiving jpeg encoded images and decoding them on...
  50. Hi, I have no idea ! Please try it and...

    Hi,



    I have no idea ! Please try it and let me know :-)
    But in fact, I suspect my library may make things even worse in this case since it uses more interrupts than the ILI93141_t3n and...
Results 1 to 50 of 63
Page 1 of 2 1 2