Forum Rule: Always post complete source code & details to reproduce any issue!
Page 6 of 11 FirstFirst ... 4 5 6 7 8 ... LastLast
Results 126 to 150 of 266

Thread: ST7789_t3 (part of ST7735 library) support for displays without CS pin

  1. #126
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Figured I would take a break from trying to read a pixel so went back and fixed the other project using the ST7789 display. So just to let you all know I managed to get the T4 to do basic image classification using the ArduCAM and the the CMSIS-NN library I put together a while ago. After it takes a snapshot it runs the classification and displays on the ST7789 a half size image and the classification category and the confidence level. Will take some photos and do a better write up tomorrow for the forum.

    Guess after that its back to uncanny eyes

  2. #127
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE
    Downloaded you copy of the SSD1351 library and gave it a try - would display anything for me - ran the graphics test sketch. Did I pull down the right version?

  3. #128
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE
    Just can't seem to let it go - getting miso working and ReadRect. Its like a thorn in my side now Almost got it going for the T3.6 but still missing a piece of the puzzle. Remember _fifo_size from ili9488 lib - well its returning 57 or 61 for me vs 4 from the 9488 lib which is what it should be - so got something messed up. If you have nothing better to do here is what I have so far: https://github.com/mjs513/ST7735_t3. Not a top priority - I just go back to it once in a while and chip away at it.

  4. #129
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 - Which display? I don't think MISO connects up to the actual displays?

    For example if you look at the schematic of the Adafruit ST7789 1.5 display: https://cdn-learn.adafruit.com/asset...png?1565202407
    I think the MISO is only connected to the SD Card...

    Of course if you are using the frame buffer, it can return the data stored in frame buffer...

    ST7789 or ST7735? Looking at ST7789VW document, it does look like there might be some Read capability?

    But the Adafruit document: https://cdn-shop.adafruit.com/produc...0228182902.pdf
    Shows that maybe the SDA pin to the display might be read and write? Again not sure of the protocol?

  5. #130
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    I was using the 2" 320x240 7789 display. As usual you are right - just check the schematic and MISO is only connected to the SD card not the display. From Bodmers library he is using the SDA pin to read from the 7789 display so - yes you are right that it does have read capability to read the pixel. Then again I could always use the framebuffer like you said . Have to thing about this one on which way to go

  6. #131
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 -

    It may be possible to get the data over the SDA pin. We would need to look at the manual again (making sure the right one...), to see what the exact SPI communications they expect.
    The one I looked at showing another pin, looked like it required an extra (dummy) CLOCK pulse after the command, and I think I read in the T4 manual that maybe SPI MOSI pin could be configured to be also be able to do reads... Never tried it, don't remember the details... I assuming maybe along the line of what I did with USARTS where the TX pin could be configured to be half duplex...

  7. #132
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207

  8. #133
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    I going through the code I referenced it looked like he was basically changing MOSI from output to input after beginning the transaction. I made his read x = _pspi->transfer(0) and ran a test of just reading pixels - looked like it was trying to read them at least I got something other 0 or 0xff's.

  9. #134
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    Hi @mjs513 - another option is to ask before you start the next SPI transfer if the display is busy.

    I believe the Adafruit adapter has something like a Busy IO pin. I have not looked at it yet to see if it reflects the same data as the query to the display...\

    Edit: Ooops wrong thread... meant for the RA8875...

  10. #135
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Not a problem - I am beginning to get all the displays confused as well and remembering what we did where.

  11. #136
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE
    a couple of things:

    I just checked the RA8875 learn page on the wait pin:
    WAIT - output to indicate that the RA8875 is in a busy state. The RA8875 can't communicate with the microcontroller when the wait pin is active. It is active low and could be used by the microcontroller to poll busy status.
    Think that may answer your question.

    That readpixel thing is still bugging me so did a little more reading and playing around. Nordic has a method (file:///C:/Users/Merli/OneDrive/Desktop/WP_Interface_SPI_nRF2401.pdf) where they tie MISO/MOSI together on the MCU and then to the display or their product. Saw that somewhere else as well. Did a quick test you cant use a 10k resistor on MOSI but on MISO you still need it - tried 10K and 2.2k. Did get some like a get a pixel value even though it was wrong and didn't change if you changed screen color but did get a little life Have to play more with that one

    The other thing I found was in regards to the ST7735, still reading through it: https://www.avrfreaks.net/forum/st77...emory-over-spi

  12. #137
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 - Personally I am unsure if it is actually possible to read this data... But could be wrong?

    It also may depend on things like which ST7789 chip is used?
    For example if I look at the ST7789S document: https://datasheet4u.com/datasheet-pd...logy/ST7789S/1

    I don't see anything like it... Could be missing something. The document talks about SDO pin for SPI...
    And about page 100 of pdf above shows three different formats to output for color, but did not notice anything for reading them...

    But again I could be missing it.

  13. #138
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Yeah - beginning to give up on but its kind of been fun trying to get it to work. Was just going to post you a question on how can I do a readpixel or readrect using framebuffer? To be honest my head has been spinning with SPI for the last couple of days I think I stopped thinking.

    Either way think its more trouble than its worth at this point.

  14. #139
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 - Yep I would punt...

  15. #140
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Finished updating the ST7735_t3 library so it is almost mirrors the ILI9341_t3n lib. ScrolltextArea even works now that readpixel and readrect works using FrameBuffers - Big thank you there. If you want to take a look its here:

    https://github.com/mjs513/ST7735_t3

  16. #141
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 - Looks like a lot of the ili9341_t3n stuff, including decouple it from Adafruit_GFX...

    I am doing a quick check over the differences with my current stuff to see if there are things I would recommend.

    One thing I would recommend so far is I think you might have removed part of the stuff for what this thread was named for. In particular, it looks like you are always using SPI_MODE0, where our current stuff, we can pass in which mode to use on the init function, which we stash away in SPISettings...

    I think all of the code for it is still there, just probably need to change back in st7735_t3.h
    Code:
    inline void beginSPITransaction(uint32_t clock = ST7735_SPICLOCK) {
        if (_pspi) _pspi->beginTransaction(SPISettings(clock, MSBFIRST, SPI_MODE0));
    to
    Code:
     inline void beginSPITransaction() {
        if (_pspi) _pspi->beginTransaction(_spiSettings);
    But as I see you now have the clock setting value passed in for beginSPITransaction... you may need to instead, change the commonInit function to instead remember the mode value passed in, and use that value in the SPISettings...

    Although as it is unclear if you need the clock optional parameter now as it is unclear if you can actually read anything from these displays...

    But looks good. Probably should do a PR back to Paul? The interesting question will be, how many people used this library before that used some of the GFX fonts with it?
    Hopefully not many... Wonder how hard it would be to have this library as well as ili9341_t3? be able to use those fonts? Probably not worth it, but?

  17. #142
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Thanks for doing a double check to see what the deltas were. Will make the changes to the .h to go back to _spisettings since no longer trying to read from the display Thank you for stopping me going down that path.

    @mjs513 - Looks like a lot of the ili9341_t3n stuff, including decouple it from Adafruit_GFX...
    A lot of the stuff I moved over from the ILI9341_t3n lib was to decouple it from the Adafuit_GFX (think some of the functions had framebuffer incorporated - can't keep track of the libraries anymore). Was wondering what I was going to work on next

  18. #143
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Ok all done - I reverted the changes in the ST7735.h file to go back to using _spisettings in the beginSPITransction calls:
    Code:
       inline void beginSPITransaction() {
        if (_pspi) _pspi->beginTransaction(_spiSettings);
        if (cspin) *cspin = 0;
      }
    Retested with my grapicstest and scrollarea sketches. Don't have a display with no CS pin to double check with though.

  19. #144
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    Just tested the changes I made to the ST7789/7735 libraries with a 7789 with no CS pin and it worked fine once I used the right tft.init format If ok with you I will go ahead and put the PR in to Paul for the changes.

  20. #145
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    @mjs513 - Go for it...

    The only interesting thing will be how is our compatibility with previous versions?

  21. #146
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    Hi @mjs513 - I tried compiling the current graphic test in the project and it appears to fail in the link phase...
    Code:
    Linking everything together...
    "D:\\arduino-1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O2 -Wl,--gc-sections,--relax "-TD:\\arduino-1.8.10\\hardware\\teensy\\avr\\cores\\teensy4/imxrt1062.ld" -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179/graphicstest.ino.elf" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\sketch\\graphicstest.ino.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\Adafruit_GFX\\glcdfont.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\Adafruit_GFX\\Adafruit_GFX.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\Adafruit_GFX\\Adafruit_SPITFT.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\ST7735_t3\\glcdfont.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\ST7735_t3\\st7735_t3_font_Arial.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\ST7735_t3\\st7735_t3_font_ComicSansMS.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\ST7735_t3\\ST7735_t3.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\ST7735_t3\\ST7789_t3.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179/..\\arduino_cache_467331\\core\\core_teensy_avr_teensy40_usb_serial,opt_o2std,keys_en-us_29ef1ace545dddb57a41f425407f6185.a" "-LC:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_45179" -larm_cortexM7lfsp_math -lm -lstdc++
    C:\Users\kurte\AppData\Local\Temp\arduino_build_45179\libraries\ST7735_t3\ST7735_t3.cpp.o: In function `Adafruit_GFX_Button::drawButton(bool)':
    
    C:\Users\kurte\Documents\Arduino\libraries\ST7735_t3/ST7735_t3.cpp:2825: multiple definition of `Adafruit_GFX_Button::drawButton(bool)'
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_45179\libraries\Adafruit_GFX\Adafruit_GFX.cpp.o:D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX/Adafruit_GFX.cpp:1587: first defined here
    
    d:/arduino-1.8.10/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_45179\libraries\ST7735_t3\ST7735_t3.cpp.o: In function `Print::flush()':
    
    C:\Users\kurte\Documents\Arduino\libraries\ST7735_t3/ST7735_t3.cpp:2164: multiple definition of `Adafruit_GFX_Button::contains(short, short)'
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_45179\libraries\Adafruit_GFX\Adafruit_GFX.cpp.o:D:\arduino-1.8.10\hardware\teensy\avr\cores\teensy4/Print.h:61: first defined here
    
    collect2.exe: error: ld returned 1 exit status
    
    Multiple libraries were found for "Adafruit_GFX.h"
     Used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX
     Not used: C:\Users\kurte\Documents\Arduino\libraries\Adafruit_GFX_Library
    Multiple libraries were found for "ST7735_t3.h"
     Used: C:\Users\kurte\Documents\Arduino\libraries\ST7735_t3
     Not used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\ST7735_t3
    Multiple libraries were found for "SPI.h"
     Used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\SPI
    Using library Adafruit_GFX at version 1.5.6 in folder: D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX 
    Using library ST7735_t3 at version 1.0.0 in folder: C:\Users\kurte\Documents\Arduino\libraries\ST7735_t3 
    Using library SPI at version 1.0 in folder: D:\arduino-1.8.10\hardware\teensy\avr\libraries\SPI 
    Error compiling for board Teensy 4.0.
    EDIT: Looks like ILI9341_t3n has same problem...
    Last edited by KurtE; 09-17-2019 at 09:05 PM.

  22. #147
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    That's strange. I have been using both libs without any linker issues. Just did a double check. Just for reference I am using Adafruit GFX lib that Paul packaged with Teensyduino. Currently using IDE 1.8.9 plus TD1.47beta1. Maybe you have an old version of GFX lib that was put into the 1.47beta1 installer?

    This is the link to the changes I made to st7735: https://github.com/mjs513/ST7735_t3/...735_T4_rewrite

    EDIT: Just downloaded and installed IDE 1.8.10 as well as installed TD1.47Beta1. Recompiled graphicstest for both ILI9341_t3n and ST7735_t3 without getting any linker errors?
    Last edited by mjs513; 09-17-2019 at 11:11 PM.

  23. #148
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,570
    Hi @mjs513 - Since I already mucked with ILI9341_t3n and ST7735_t3,

    Redid it for ILI9341_t3 - Note: The unadulterated version of graphictest builds without error. However if I edit the start of the file like:
    Code:
    #include "SPI.h"
    #include <Adafruit_GFX.h>
    #include "ILI9341_t3.h"
    Code:
    Detecting libraries used...
    "D:\\arduino-1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=148 -DARDUINO=10810 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\cores\\teensy4" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\sketch\\graphicstest.ino.cpp" -o nul
    Alternatives for SPI.h: [SPI@1.0]
    ResolveLibrary(SPI.h)
      -> candidates: [SPI@1.0]
    "D:\\arduino-1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=148 -DARDUINO=10810 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\cores\\teensy4" "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\libraries\\SPI" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\sketch\\graphicstest.ino.cpp" -o nul
    Alternatives for Adafruit_GFX.h: [Adafruit_GFX_Library@1.5.7 Adafruit_GFX@1.5.6]
    ResolveLibrary(Adafruit_GFX.h)
      -> candidates: [Adafruit_GFX_Library@1.5.7 Adafruit_GFX@1.5.6]
    "D:\\arduino-1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=148 -DARDUINO=10810 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\cores\\teensy4" "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\libraries\\SPI" "-ID:\\arduino-1.8.10\\hardware\\teensy\\avr\\libraries\\Adafruit_GFX" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\sketch\\graphicstest.ino.cpp" -o nul
    Alternatives for ILI9341_t3.h: [ILI9341_t3@1.0 ILI9341_t3@1.0]
    ResolveLibrary(ILI9341_t3.h)

    Again Error on link:
    Code:
    Linking everything together...
    "D:\\arduino-1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O2 -Wl,--gc-sections,--relax "-TD:\\arduino-1.8.10\\hardware\\teensy\\avr\\cores\\teensy4/imxrt1062.ld" -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303/graphicstest.ino.elf" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\sketch\\graphicstest.ino.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\Adafruit_GFX\\glcdfont.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\Adafruit_GFX\\Adafruit_GFX.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\Adafruit_GFX\\Adafruit_SPITFT.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\ILI9341_t3\\font_Arial.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\ILI9341_t3\\font_ArialBold.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\ILI9341_t3\\glcdfont.c.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303\\libraries\\ILI9341_t3\\ILI9341_t3.cpp.o" "C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303/..\\arduino_cache_467331\\core\\core_teensy_avr_teensy40_usb_serial,opt_o2std,keys_en-us_29ef1ace545dddb57a41f425407f6185.a" "-LC:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_798303" -larm_cortexM7lfsp_math -lm -lstdc++
    C:\Users\kurte\AppData\Local\Temp\arduino_build_798303\libraries\ILI9341_t3\ILI9341_t3.cpp.o: In function `Adafruit_GFX_Button::drawButton(bool)':
    
    C:\Users\kurte\Documents\Arduino\libraries\ILI9341_t3/ILI9341_t3.cpp:1851: multiple definition of `Adafruit_GFX_Button::drawButton(bool)'
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_798303\libraries\Adafruit_GFX\Adafruit_GFX.cpp.o:D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX/Adafruit_GFX.cpp:1587: first defined here
    
    d:/arduino-1.8.10/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_798303\libraries\ILI9341_t3\ILI9341_t3.cpp.o: In function `Print::flush()':
    
    C:\Users\kurte\Documents\Arduino\libraries\ILI9341_t3/ILI9341_t3.cpp:1377: multiple definition of `Adafruit_GFX_Button::contains(short, short)'
    
    C:\Users\kurte\AppData\Local\Temp\arduino_build_798303\libraries\Adafruit_GFX\Adafruit_GFX.cpp.o:D:\arduino-1.8.10\hardware\teensy\avr\cores\teensy4/Print.h:61: first defined here
    
    collect2.exe: error: ld returned 1 exit status
    
    Multiple libraries were found for "Adafruit_GFX.h"
     Used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX
     Not used: C:\Users\kurte\Documents\Arduino\libraries\Adafruit_GFX_Library
    Multiple libraries were found for "ILI9341_t3.h"
     Used: C:\Users\kurte\Documents\Arduino\libraries\ILI9341_t3
     Not used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\ILI9341_t3
    Multiple libraries were found for "SPI.h"
     Used: D:\arduino-1.8.10\hardware\teensy\avr\libraries\SPI
    Using library SPI at version 1.0 in folder: D:\arduino-1.8.10\hardware\teensy\avr\libraries\SPI 
    Using library Adafruit_GFX at version 1.5.6 in folder: D:\arduino-1.8.10\hardware\teensy\avr\libraries\Adafruit_GFX 
    Using library ILI9341_t3 at version 1.0 in folder: C:\Users\kurte\Documents\Arduino\libraries\ILI9341_t3 
    Error compiling for board Teensy 4.0.
    Not sure if it matters but I have verbose output on compile and upload
    Compiler warning: All

  24. #149
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,207
    @KurtE

    My apologizes. A little dense lately. I get it now. Will have to fix the ILI9488 lib as well.


    EDIT: Updated the ILI9488 library as well as the ST7735_t4_rewrite branch with your changes.

    Mike
    Last edited by mjs513; 09-18-2019 at 02:16 AM.

  25. #150
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,316
    I recall people looked at the new version of uncanny eyes for the Monster M4SK (that supports the 240x240 displays). Do we have a Teensy version now that supports 2 eyes? Preferably both 3.5/3.6 (using a single SPI port at 3 of the fast CS/DC pins) and 4.0 versions (using 2 separate SPI buses). Obviously not having flash memory like the Monster M4SK would mean we have to link things into main sketch, instead of allowing things to change at boot time, but that is fairly minor.

    FWIW, I had 5 versions of the uncanny eyes running tonight at the same time:
    • Teensy 3.5 with 2 Adafruit OLED 128x128 displays;
    • Teensy 3.2 with 2 Adafruit TFT 128x128 displays;
    • Adafruit Hallowing M0 with a builtin TFT 128x128 display (Adafruit M0 processor);
    • Adafruit Hallowing M4 with a builtin TFT IPS 240x240 display (Adafruit M4 processor); and
    • Adafruit Monster M4SK with 2 builtin TFT IPS 240x240 displays on separate SPI buses (Adafruit M4 processor).


    In general, the TFT 128x128 is inferior to either the OLED 128x128 or the TFT IPS 240x240 display. You really have to look at the display straight on or else the colors aren't true. And I discovered if I put a convex lens on top of the TFT 128x128 display, it makes the color issue much worse.

    The TFT IPS 240x240 display is like the OLED display in that you can view it at any angle. Like all OLED displays I've encountered the colors are a little more saturated than with TFT displays. On the other hand, having more bits to display does make the eye image a little more detailed. Unfortunately, of course the 240x240 displays are slower since there is 4 times the data to download. The convex lenses do help both OLED 128x128 and TFT IPS 240x240 displays, but I tend to like the TFT IPS 240x240 displays a little better.

    In terms of power (using 4.9 - 5 volts USB power):
    • Teensy 3.5 with 2 OLED 128x128 displays: 0.19 - 0.25 amps;
    • Monster M4SK with 2 TFT IPS 240x240 displays: 0.15 amps (I forgot to remove the battery from being charged when I first posted this);
    • Teensy 3.2 with 2 TFT 128x128 displays: 0.08 amps;
    • Hallowing M4 with 1 TFT IPS 240x240 display: 0.10 amps;
    • Hallowing M0 with 1 TFT 128x128 display: 0.04 amp.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •