Search results

  1. A

    Using frame buffering to solidify tft displayed objects

    ? Who is trippy? Did you try the new popup code to see if it works?
  2. A

    Using frame buffering to solidify tft displayed objects

    First get rid of all your updatePopup functions. Then, Just before you call updateScreen say print(F("Hi"); If you don't see something or it glitches or something there is a problem with your graphics functions
  3. A

    Using frame buffering to solidify tft displayed objects

    Double check your print() and drawRoundRect functions to see if they work.
  4. A

    Using frame buffering to solidify tft displayed objects

    So this code is not working: void GrafxT3::popup(const __FlashStringHelper* text, uint8_t duration){ if (popupTimeLeft < millis()) { popupText = text; popupTimeLeft = millis() + duration * 1000; } } void GrafxT3::updatePopup(){ if (millis() < popupTimeLeft){ int...
  5. A

    Using frame buffering to solidify tft displayed objects

    You need to learn proper c++ before you embark on such large projects. Byte means values of (0 - 255). you have 308 as one of your values. Change const byte duneworld[] = {308,308, to const int duneworld[]. also, did my new popup code work?
  6. A

    Using frame buffering to solidify tft displayed objects

    What is happening is that when you are saying tft.popup(F(" ""Rock"" "),1); in an if statement that popup function is being called consecutively frame after frame because the if statement is true when you touch the rock. You have to call the popup function only ONCE and then wait for the...
  7. A

    Using frame buffering to solidify tft displayed objects

    how are you encoding your bitmaps btw? Im making a python script to encode my bitmaps into hex. So do you have a palette with 16 colors and then the bitmap data just indexes the pallete
  8. A

    DMAChannel Confusion

    I am only making small simple games so 4 bit color is fine. The only problem would be if it still is too slow and flickers/tears
  9. A

    DMAChannel Confusion

    Hmm. Having 4 bit color for the frame buffer would work (320/2 = 160. 160*240 = 38400 bytes). I can then store a color palette in RAM and then index it with the buffer data
  10. A

    DMAChannel Confusion

    The problem is my library is still too slow for a decent refresh rate in my gaming library. I can see the screen flickering. I'm looking for ways to clear the screen faster
  11. A

    DMAChannel Confusion

    So I read up on DMAChannels and my question is, can I have a buffer full of pixel data (the source buffer) and send this data to the GPIOC_PDOR register one byte at a time via a DMAChannel (maybe even many DMAChannels)?
  12. A

    Finished Fast 8080 Parallel ILI9341 Library

    So I finished my Parallel ILI9341 Library which you can find here: https://github.com/LudumDareDevelopment/Teensy-ILI9341-8-bit-Parallel-Library As for speed here is the benchmark: ILI9341 Test! Display Power Mode: 0x9C MADCTL Mode: 0x48 Pixel Format: 0x5 Image Format: 0x0 Self Diagnostic: 0xC0...
  13. A

    ILI 9341 Parallel Library

    It's generally faster than both the ILI9341_t3 library and Paul's DMA library
  14. A

    ILI 9341 Parallel Library

    IT WORKED!! Finally! I have super fast results too! Here: ILI9341 Test! Display Power Mode: 0x9C MADCTL Mode: 0x48 Pixel Format: 0x5 Image Format: 0x0 Self Diagnostic: 0xC0 Device ID: 0x9341 Benchmark Time (microseconds) Screen fill 88319 Text...
  15. A

    ILI 9341 Parallel Library

    Should I just change the code to: void write8special(uint8_t c) { digitalWriteFast(TFT_WR, LOW); *((volatile uint8_t *)(&GPIOC_PDOR)) = c; digitalWriteFast(TFT_WR, HIGH); asm("NOP"); asm("NOP"); asm("NOP"); asm("NOP"); } For both write8 functions?
  16. A

    ILI 9341 Parallel Library

    Thanks for the reply KurtE. I will test this out
  17. A

    ILI 9341 Parallel Library

    It works on the STM32 so why isn't it working on the Teensy?
  18. A

    ILI 9341 Parallel Library

    If someone can help please do!
  19. A

    ILI 9341 Parallel Library

    Ok at this point I'm just going to conclude that the ILI9341 can't read when all the bits are put onto the data lines at the same time for some reason.
  20. A

    ILI 9341 Parallel Library

    The TFT Driver ID and other data is still being read correctly though.
  21. A

    ILI 9341 Parallel Library

    I'm getting a gray screen now
  22. A

    ILI 9341 Parallel Library

    This doesn't: GPIOC_PSOR = c; GPIOC_PCOR = (~c & 0xff); WR_STROBE(); GPIOC_PCOR = 0xff;
  23. A

    ILI 9341 Parallel Library

    This code works: GPIOC_PDOR |= c & 1; GPIOC_PDOR |= c & 2; GPIOC_PDOR |= c & 4; GPIOC_PDOR |= c & 8; GPIOC_PDOR |= c & 16; GPIOC_PDOR |= c & 32; GPIOC_PDOR |= c & 64; GPIOC_PDOR |= c & 128; //TFT_DATA->regs->ODR = ((TFT_DATA->regs->ODR & 0xFF00) | ((c) & 0x00FF));//FF00 is Binary...
  24. A

    ILI 9341 Parallel Library

    This display protocol is so annoying. I tried your code, and it still doesn't work. The problem is when I set the bits one by one, it works, but when I set them all at once, it doesn't. The thing is if I can get these hardware registers to work with just one write, the library will be extremely...
  25. A

    ILI 9341 Parallel Library

    Do you have to set bits in the hardware registers one at a time or can you set them all at once
  26. A

    ILI 9341 Parallel Library

    I've narrowed the problem down to the write8 functions in which I set the GPIOC_PSOR and GPIOC_PCOR registers. When I replace these register writes with digitalWrite everything starts working again.
  27. A

    ILI 9341 Parallel Library

    Ok I've tried literally everything including using the GPIOC_PDOR register and this is still not working.
  28. A

    ILI 9341 Parallel Library

    Ok I changed GPIOC_PCOR = (~c & 0xff); but still doesn't work. As for PinMode I use that for the LCD control pins which are on a different GPIO port. I doubt this would cause it to not work?
  29. A

    ILI 9341 Parallel Library

    It actually has to be ~ because ! only reverses one bit
  30. A

    ILI 9341 Parallel Library

    Still not working
  31. A

    ILI 9341 Parallel Library

    https://github.com/LudumDareDevelopment/Teensy-ILI9341-8-bit-Parallel-Library
  32. A

    ILI 9341 Parallel Library

    Ok KurtE. I added your code into the library and now for some reason it's not working even though it should be. Any ideas?
  33. A

    ILI 9341 Parallel Library

    According to the data sheet on page 31, I have to set the bits to zero because otherwise it won't work. As for speed. the problem is I can't find any documentation for these hardware registers. In addition I've heard that digitalWriteFast is just as fast as hardware registers? Would changing the...
  34. A

    Simple explanation of DMA?

    Can someone help me optimize this library?
  35. A

    Simple explanation of DMA?

    Here is my library: https://github.com/LudumDareDevelopment/Teensy-ILI9341-8-bit-Parallel-Library
  36. A

    Simple explanation of DMA?

    Do you think accessing hardware registers instead of using digitalWriteFast() would improve the performance by a lot? What about DMA?
  37. A

    Simple explanation of DMA?

    ILI9341_t3 performs way better than my library and I don't understand why! It could be because I haven't implemented DMA but does DMA have that much of an impact on performance? Here is my results: [code] ILI9341 Test! Display Power Mode: 0x9C MADCTL Mode: 0x48 Pixel Format: 0x5 Image Format...
  38. A

    Simple explanation of DMA?

    So I benchmarked my ILI9341 Parallel Library and got some pretty slow results compared to the STM32. I also saw that the original STM32 library uses DMA to write to the ILI9341. Is it possible to do this with the Teensy 3.2? If so, how? Here is the library...
  39. A

    8-bit TFT wiring or simultaneously over SPI with Ethernet?

    I have finished the library. You can find it on GitHub here: https://github.com/LudumDareDevelopment/Teensy-ILI9341-8-bit-Parallel-Library
  40. A

    ILI 9341 Parallel Library

    Thanks rcarr, Duhjoker, and KurtE. Here is my working library: https://github.com/LudumDareDevelopment/Teensy-ILI9341-8-bit-Parallel-Library
  41. A

    ILI 9341 Parallel Library

    Yess!!! I finally got the LCD to work! I studied the datasheet on page 31 and realized after the TFT_WR strobe I had to negate all the data bit pins. Now all I have to do is optimize the library by using hardware registers (if someone could help me with that that would be great).
  42. A

    ILI 9341 Parallel Library

    So I'm using David's library and running the register id program which gives me 0 as the id. I think something is wrong with the lcd.
  43. A

    ILI 9341 Parallel Library

    I'm starting to think this is a hardware problem. The MCUFriend LCD is for the Arduino and therefore requires 5V for pin voltage. Would it still work with Teensy 3.2?
  44. A

    ILI 9341 Parallel Library

    I got an id of 0x01...
  45. A

    ILI 9341 Parallel Library

    Ok I found an error. In my write8() function I say digitalWrite(D0 + b, HIGH) but that won't work because D0-D7 don't increase by one.
  46. A

    ILI 9341 Parallel Library

    Check my updated Github
  47. A

    ILI 9341 Parallel Library

    I'm not using the hardware registers anymore. I replaced all of them with pinMode and digitalWrite for testing purposes.
  48. A

    ILI 9341 Parallel Library

    Thanks duhjoker. The problem is I think I can get the library working without having to buy another LCD. If it takes too long to get this to work, I'll buy the SPI version. Today I'm going to fix my inverse defines and try to get my TFT ID correctly
  49. A

    ILI 9341 Parallel Library

    Here is my updated library where I changed everything you mentioned above. I looked at the data sheet and found my data and command defines were also swapped. I fixed everything and it still doesn't work for some reason. Here is my github...
  50. A

    ILI 9341 Parallel Library

    I changed all of the GPIO_PTOR and all that to pinMode() and digitalWriteFast() to try and make it work. Even that didn't work. I read my TFT driver ID and got 0x303, which is not even the ILI9341. I have no idea what controller this LCD is using. Seems like the lied on the product page...
Back
Top