Forum Rule: Always post complete source code & details to reproduce any issue!
Page 69 of 175 FirstFirst ... 19 59 67 68 69 70 71 79 119 169 ... LastLast
Results 1,701 to 1,725 of 4362

Thread: Teensy 4.0 First Beta Test

  1. #1701
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    10,108
    I suppose I'll wait for my display units from China - hopefully I followed the right link from Paul. Looks like I have an rPi display … says free returns - in the US so shipping about $4 ...

    Funny the ebay text says 'V6.2 version' and 6.3 on silkscreen - like Mike's. I wonder if it might be setup to work right, is rPi SPI at 3v?

  2. #1702
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,375
    Quote Originally Posted by defragster View Post
    I suppose I'll wait for my display units from China - hopefully I followed the right link from Paul. Looks like I have an rPi display … says free returns - in the US so shipping about $4 ...

    Funny the ebay text says 'V6.2 version' and 6.3 on silkscreen - like Mike's. I wonder if it might be setup to work right, is rPi SPI at 3v?
    Yes, the PI is 3.3v.

    Here is a pinout of the 20 pin connector:


    AFAIK, there are 3 revisions to the pinout:
    • The original Pi had 2 columns of 13 rows of pins;
    • The second revision had the same 2x13 pinout, but they changed the i2c pins (same physical location) from being pin #0 and #1 to pin #2 and #3, and the i2c switched from i2c #0 to i2c #1;
    • The third revision went to 2x20 pins, with the 2x13 pins being the same (other than the i2c pin # change in the original Pi's).


    The Pi 2x20 pinout has 8 ground pins, 2 3.3v pins, and 2 5v pins. Just in case, you might need to connect each of the pins, depending on how the device is actually wired.
    Last edited by MichaelMeissner; 02-12-2019 at 05:50 AM.

  3. #1703
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    10,108
    Thanks MichaelM - knowing SPI is 3.3V is promising. I got a link for rPi drivers from the seller - no docs there though to ID the controller Driver is a 1.4 GB RAR file! The sales page did note it uses the same XPT2046 touch controller. It has two CS's and IRQ and shows MISO and MOSI a CLK but no reset. So when Mike/Kurt show a lib that works on T_3.6 I can try it there. Using the driver name I found some links - but none specify the LCD controller #.

  4. #1704
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    @defragster - @KurtE

    Have had much luck with what I got but I did manage to find a few other implementations and discussions:
    1. https://github.com/loboris/ESP32_SPI..._NODMA_EXAMPLE, found from this link - https://www.esp32.com/viewtopic.php?...start=20#p8220
    2. https://www.udoo.org/forum/threads/3...and-play.7514/
    3. https://github.com/avrxml/asf/blob/m...9488/ili9488.c
    4. http://www.lcdwiki.com/3.5inch_RPi_Display - the closet thing to my display (at least for connections.

    Still no schematic though.

  5. #1705
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    3,375
    Quote Originally Posted by defragster View Post
    Thanks MichaelM - knowing SPI is 3.3V is promising. I got a link for rPi drivers from the seller - no docs there though to ID the controller Driver is a 1.4 GB RAR file! The sales page did note it uses the same XPT2046 touch controller. It has two CS's and IRQ and shows MISO and MOSI a CLK but no reset. So when Mike/Kurt show a lib that works on T_3.6 I can try it there. Using the driver name I found some links - but none specify the LCD controller #.
    If I had to guess, I would say the pinouts are probably that same as the Adafruit 3.5" display:

  6. #1706
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    @defragster, @mjs513 - As I mentioned, the display is working on my T3.6 using the library that we both mentioned...

    However so far it is not working with my edited version of Adafruit ili... The main difference is that he has set the pixel format to 18 bits of input (3 byte per pixel), stating that 16 bit format does not work in SPI 4 wire mode... Maybe he is right? I just downloaded another copy of the ILI9488 document... And again while the 4-line Serial Interface section (Page 121) mentions that available display data formats are: the 1 (1,1,1) byte, 2 (565)byte and 3 (666)byte formats, the sub-sections only describe the 1 byte and 3 byte data...

    Also found discussions like: https://www.esp32.com/viewtopic.php?t=1683&start=10
    Which again implies they are outputting 3 bytes per pixel...
    Comments like:
    I've had ILI9488 working on STM32F4. Still no time to check it on ESP32.
    Basically, all you have to do is make shure the initialization sequence is correct (always include soft reset (0x01) as the first command + delay 100 ms) and replace in every function which sends 16-bit color (RGB565) with 3-byte color (RGB 6-6-6).
    I'll try to test it this week.
    Have you checked https://github.com/jaretburkett/ILI9488, it's a good starting point.
    So wondering if should move this to different topic (not T4 specific) Or
    @Paul - Or you wanting a Frame buffer implementation for this? Needless to say it will take more memory than the ili9341 as twice as many pixels and 3 bytes per pixel.
    So buffer on ili9341 is: 153600 bytes, The buffer for this display would be 460800 bytes, which I don't think would fit on this chip...

  7. #1707
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    Quote Originally Posted by KurtE View Post
    @defragster, @mjs513 - As I mentioned, the display is working on my T3.6 using the library that we both mentioned...

    However so far it is not working with my edited version of Adafruit ili... The main difference is that he has set the pixel format to 18 bits of input (3 byte per pixel), stating that 16 bit format does not work in SPI 4 wire mode... Maybe he is right? I just downloaded another copy of the ILI9488 document... And again while the 4-line Serial Interface section (Page 121) mentions that available display data formats are: the 1 (1,1,1) byte, 2 (565)byte and 3 (666)byte formats, the sub-sections only describe the 1 byte and 3 byte data...
    ...
    Hi Kurt
    Yeah that's the same as reference 1. From what I also came across they looked like they were limiting it 2 bytes (565 format). The link it esp32 for another init shows both a 9341 partial init and a modification for 9488. Haven't had time to check it out along with the comparisons. Everything I see has it set for 0x55. Even if I change back to 3byte is still does not work with the T4. Don't know if its an SPI transfer issue - later this after noon was going to check it with the T3.6 like you did.

    Mike

    EDIT: Took a break and loaded up the original example from https://github.com/jaretburkett/ILI9488 on the T3.6. I compiled and loaded no problem. But same thing is happening with my display as with the T4, i.e,, no photons but it runs. Just for reference these are my connections:
    Code:
    24--GPIO7 --------> TP_CS  --------> 9
    26--GPIO8 --------> LCD_CS  --------> 10
    22--GPIO25 --------> TP_irq  --------> NC
    23--GPIO11 --------> SPI_CLK  --------> 13
    21--GPIO9 ---------> SPI_MISO --------> 12
    19--GPIO10 ---------> SPI_MOSI  --------> 11
    EDIT2: I did find this link that has a schematic for my board and a teardown, https://www.raspberrypi.org/forums/v...?f=44&t=124961
    Last edited by mjs513; 02-12-2019 at 04:40 PM.

  8. #1708
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    For what it is worth: I just hooked it up to my T4...

    My connections are: Display-T4

    1-GND, 2-+3.3v, 21-7, 23-10, 24-13, 25-9, 27-11, 28-12, 29-8

    I updated the sketch a little to turn the LED on and to change the pin numbers...
    Code:
    /***************************************************
      This is our GFX example for the Adafruit ILI9488 Breakout and Shield
      ----> http://www.adafruit.com/products/1651
    
      Check out the links above for our tutorials and wiring diagrams
      These displays use SPI to communicate, 4 or 5 pins are required to
      interface (RST is optional)
      Adafruit invests time and resources providing this open source code,
      please support Adafruit and open-source hardware by purchasing
      products from Adafruit!
    
      Written by Limor Fried/Ladyada for Adafruit Industries.
      MIT license, all text above must be included in any redistribution
     ****************************************************/
    
    
    #include "SPI.h"
    #include <Adafruit_GFX.h>
    #include <ILI9488.h>
    
    #define TFT_CS         10
    #define TFT_DC         9
    #define TFT_LED        8
    #define TFT_RST        7
    
    // Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
    ILI9488 tft = ILI9488(TFT_CS, TFT_DC, TFT_RST);
    // If using the breakout, change pins as desired
    //Adafruit_ILI9488 tft = Adafruit_ILI9488(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);
    
    void setup() {
      Serial.begin(9600);
      Serial.println("ILI9488 Test!");
      pinMode(TFT_LED, OUTPUT);
      digitalWrite(TFT_LED, HIGH);
      tft.begin();
    
      // read diagnostics (optional but can help debug problems)
      uint8_t x = tft.readcommand8(ILI9488_RDMODE);
      Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX);
      x = tft.readcommand8(ILI9488_RDMADCTL);
      Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX);
      x = tft.readcommand8(ILI9488_RDPIXFMT);
      Serial.print("Pixel Format: 0x"); Serial.println(x, HEX);
      x = tft.readcommand8(ILI9488_RDIMGFMT);
      Serial.print("Image Format: 0x"); Serial.println(x, HEX);
      x = tft.readcommand8(ILI9488_RDSELFDIAG);
      Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX);
    
      Serial.println(F("Benchmark                Time (microseconds)"));
    
      Serial.print(F("Screen fill              "));
      Serial.println(testFillScreen());
      delay(500);
    
      Serial.print(F("Text                     "));
      Serial.println(testText());
      delay(3000);
    
      Serial.print(F("Lines                    "));
      Serial.println(testLines(ILI9488_CYAN));
      delay(500);
    
      Serial.print(F("Horiz/Vert Lines         "));
      Serial.println(testFastLines(ILI9488_RED, ILI9488_BLUE));
      delay(500);
    
      Serial.print(F("Rectangles (outline)     "));
      Serial.println(testRects(ILI9488_GREEN));
      delay(500);
    
      Serial.print(F("Rectangles (filled)      "));
      Serial.println(testFilledRects(ILI9488_YELLOW, ILI9488_MAGENTA));
      delay(500);
    
      Serial.print(F("Circles (filled)         "));
      Serial.println(testFilledCircles(10, ILI9488_MAGENTA));
    
      Serial.print(F("Circles (outline)        "));
      Serial.println(testCircles(10, ILI9488_WHITE));
      delay(500);
    
      Serial.print(F("Triangles (outline)      "));
      Serial.println(testTriangles());
      delay(500);
    
      Serial.print(F("Triangles (filled)       "));
      Serial.println(testFilledTriangles());
      delay(500);
    
      Serial.print(F("Rounded rects (outline)  "));
      Serial.println(testRoundRects());
      delay(500);
    
      Serial.print(F("Rounded rects (filled)   "));
      Serial.println(testFilledRoundRects());
      delay(500);
    
      Serial.println(F("Done!"));
    
    }
    
    
    void loop(void) {
      for(uint8_t rotation=0; rotation<4; rotation++) {
        tft.setRotation(rotation);
        testText();
        delay(1000);
      }
    }
    
    unsigned long testFillScreen() {
      unsigned long start = micros();
      tft.fillScreen(ILI9488_BLACK);
      tft.fillScreen(ILI9488_RED);
      tft.fillScreen(ILI9488_GREEN);
      tft.fillScreen(ILI9488_BLUE);
      tft.fillScreen(ILI9488_BLACK);
      return micros() - start;
    }
    
    unsigned long testText() {
      tft.fillScreen(ILI9488_BLACK);
      unsigned long start = micros();
      tft.setCursor(0, 0);
      tft.setTextColor(ILI9488_WHITE);  tft.setTextSize(1);
      tft.println("Hello World!");
      tft.setTextColor(ILI9488_YELLOW); tft.setTextSize(2);
      tft.println(1234.56);
      tft.setTextColor(ILI9488_RED);    tft.setTextSize(3);
      tft.println(0xDEADBEEF, HEX);
      tft.println();
      tft.setTextColor(ILI9488_GREEN);
      tft.setTextSize(5);
      tft.println("Groop");
      tft.setTextSize(2);
      tft.println("I implore thee,");
      tft.setTextSize(1);
      tft.println("my foonting turlingdromes.");
      tft.println("And hooptiously drangle me");
      tft.println("with crinkly bindlewurdles,");
      tft.println("Or I will rend thee");
      tft.println("in the gobberwarts");
      tft.println("with my blurglecruncheon,");
      tft.println("see if I don't!");
      return micros() - start;
    }
    
    unsigned long testLines(uint16_t color) {
      unsigned long start, t;
      int           x1, y1, x2, y2,
                    w = tft.width(),
                    h = tft.height();
    
      tft.fillScreen(ILI9488_BLACK);
    
      x1 = y1 = 0;
      y2    = h - 1;
      start = micros();
      for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
      x2    = w - 1;
      for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
      t     = micros() - start; // fillScreen doesn't count against timing
    
      tft.fillScreen(ILI9488_BLACK);
    
      x1    = w - 1;
      y1    = 0;
      y2    = h - 1;
      start = micros();
      for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
      x2    = 0;
      for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
      t    += micros() - start;
    
      tft.fillScreen(ILI9488_BLACK);
    
      x1    = 0;
      y1    = h - 1;
      y2    = 0;
      start = micros();
      for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
      x2    = w - 1;
      for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
      t    += micros() - start;
    
      tft.fillScreen(ILI9488_BLACK);
    
      x1    = w - 1;
      y1    = h - 1;
      y2    = 0;
      start = micros();
      for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
      x2    = 0;
      for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
    
      return micros() - start;
    }
    
    unsigned long testFastLines(uint16_t color1, uint16_t color2) {
      unsigned long start;
      int           x, y, w = tft.width(), h = tft.height();
    
      tft.fillScreen(ILI9488_BLACK);
      start = micros();
      for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1);
      for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2);
    
      return micros() - start;
    }
    
    unsigned long testRects(uint16_t color) {
      unsigned long start;
      int           n, i, i2,
                    cx = tft.width()  / 2,
                    cy = tft.height() / 2;
    
      tft.fillScreen(ILI9488_BLACK);
      n     = min(tft.width(), tft.height());
      start = micros();
      for(i=2; i<n; i+=6) {
        i2 = i / 2;
        tft.drawRect(cx-i2, cy-i2, i, i, color);
      }
    
      return micros() - start;
    }
    
    unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
      unsigned long start, t = 0;
      int           n, i, i2,
                    cx = tft.width()  / 2 - 1,
                    cy = tft.height() / 2 - 1;
    
      tft.fillScreen(ILI9488_BLACK);
      n = min(tft.width(), tft.height());
      for(i=n; i>0; i-=6) {
        i2    = i / 2;
        start = micros();
        tft.fillRect(cx-i2, cy-i2, i, i, color1);
        t    += micros() - start;
        // Outlines are not included in timing results
        tft.drawRect(cx-i2, cy-i2, i, i, color2);
      }
    
      return t;
    }
    
    unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
      unsigned long start;
      int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;
    
      tft.fillScreen(ILI9488_BLACK);
      start = micros();
      for(x=radius; x<w; x+=r2) {
        for(y=radius; y<h; y+=r2) {
          tft.fillCircle(x, y, radius, color);
        }
      }
    
      return micros() - start;
    }
    
    unsigned long testCircles(uint8_t radius, uint16_t color) {
      unsigned long start;
      int           x, y, r2 = radius * 2,
                    w = tft.width()  + radius,
                    h = tft.height() + radius;
    
      // Screen is not cleared for this one -- this is
      // intentional and does not affect the reported time.
      start = micros();
      for(x=0; x<w; x+=r2) {
        for(y=0; y<h; y+=r2) {
          tft.drawCircle(x, y, radius, color);
        }
      }
    
      return micros() - start;
    }
    
    unsigned long testTriangles() {
      unsigned long start;
      int           n, i, cx = tft.width()  / 2 - 1,
                          cy = tft.height() / 2 - 1;
    
      tft.fillScreen(ILI9488_BLACK);
      n     = min(cx, cy);
      start = micros();
      for(i=0; i<n; i+=5) {
        tft.drawTriangle(
          cx    , cy - i, // peak
          cx - i, cy + i, // bottom left
          cx + i, cy + i, // bottom right
          tft.color565(0, 0, i));
      }
    
      return micros() - start;
    }
    
    unsigned long testFilledTriangles() {
      unsigned long start, t = 0;
      int           i, cx = tft.width()  / 2 - 1,
                       cy = tft.height() / 2 - 1;
    
      tft.fillScreen(ILI9488_BLACK);
      start = micros();
      for(i=min(cx,cy); i>10; i-=5) {
        start = micros();
        tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
          tft.color565(0, i, i));
        t += micros() - start;
        tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
          tft.color565(i, i, 0));
      }
    
      return t;
    }
    
    unsigned long testRoundRects() {
      unsigned long start;
      int           w, i, i2,
                    cx = tft.width()  / 2 - 1,
                    cy = tft.height() / 2 - 1;
    
      tft.fillScreen(ILI9488_BLACK);
      w     = min(tft.width(), tft.height());
      start = micros();
      for(i=0; i<w; i+=6) {
        i2 = i / 2;
        tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
      }
    
      return micros() - start;
    }
    
    unsigned long testFilledRoundRects() {
      unsigned long start;
      int           i, i2,
                    cx = tft.width()  / 2 - 1,
                    cy = tft.height() / 2 - 1;
    
      tft.fillScreen(ILI9488_BLACK);
      start = micros();
      for(i=min(tft.width(), tft.height()); i>20; i-=6) {
        i2 = i / 2;
        tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
      }
    
      return micros() - start;
    }
    And it run! With stuff on the display

  9. #1709
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    @KurtE - @defragster

    Has to be something with the particular display that I got from ebay. I do have this one on order from aliexpress which should be better: https://www.aliexpress.com/snapshot/...Id=32908809356

    EDIT:
    @KurtE - just ran your post wow - you actually got it to run!

  10. #1710
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    Quote Originally Posted by mjs513 View Post
    @KurtE - just ran your post wow - you actually got it to run!
    Click image for larger version. 

Name:	IMG_0703.jpg 
Views:	26 
Size:	33.5 KB 
ID:	15895

    Could not see your AliExpress one... Need to login to get to it

  11. #1711
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    @KurtE
    Try this one: https://www.aliexpress.com/item/3-5-...f-5b468dcc5d07

    Can you send me the link to yours?

    EDIT: I know you posted it but now getting confused on which ones are which

  12. #1712
    Senior Member xxxajk's Avatar
    Join Date
    Nov 2013
    Location
    Buffalo, NY USA
    Posts
    532
    Quote Originally Posted by WMXZ View Post
    OK,
    I have a trivial question:
    I just got a breaoutboard for T4. (thank you at PJRC)
    I note a new usb connector.
    I see that the data lines are connected with pogo pins with the USB connector that we use to download programs.
    I assume the new USB connector is for testing USB host.
    How does it work?
    Can I keep both usb cables connected, or must I disconnect the one I'm not using?
    I have a relay jig that I use for this exact problem.
    I'll get a chance to look at mine this weekend, and see if I can manage to alter the board to do the same.

  13. #1713
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    20,826
    Quote Originally Posted by WMXZ View Post
    I see that the data lines are connected with pogo pins with the USB connector that we use to download programs.
    No, it just looks that way. Even though those 2 pads are underneath the USB Micro-B connector, they're actually a completely separate USB port.

    I assume the new USB connector is for testing USB host.
    How does it work?
    Just plug a USB cable in to that connector, and into whatever USB device you wish to use.

    I put a TPS2055A current limit switch and 100 uF capacitor underneath the USB A connector. This means 2 things. You can't use really power hungry devices, since it will limit the current somewhere between 250 to 500 mA. But it also means you T4 is likely to be able to keep running without a brown-out reset if you hot-plug the USB cable.

    Can I keep both usb cables connected, or must I disconnect the one I'm not using?
    Yes, you can use both. The 1052 chip has 2 USB ports, like Teensy 3.6. This host port is independent of the main USB port.


    Quote Originally Posted by xxxajk View Post
    I have a relay jig that I use for this exact problem.
    I'll get a chance to look at mine this weekend, and see if I can manage to alter the board to do the same.
    No need for that. Just plug in a USB device to the breakout board's USB A connector.

    I tested these latest boards with USBHost_t36 before sending. They work fine, no hardware mods or hacks needed. Just plug in a USB device and run the library examples.

  14. #1714
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    Quote Originally Posted by mjs513 View Post
    @KurtE
    Try this one: https://www.aliexpress.com/item/3-5-...f-5b468dcc5d07

    Can you send me the link to yours?

    EDIT: I know you posted it but now getting confused on which ones are which
    I am pretty sure mine is this one: https://www.buydisplay.com/default/l...breakout-board
    But I actually purchased it from: https://www.ebay.com/itm/392220881268 which is the company SmartBuysOnly.com

    I only saw the one... So not sure if they might have others. ...
    Actually maybe the do: http://smartbuysonly.com/eastrising-...reakout-board/

    EDIT: forgot to mention, I did put in a PR to handle the T4 for the library https://github.com/jaretburkett/ILI9488/pull/7

    Also again will hold off trying to do frame buffer version as don't have enough memory and wondering about the speed. I believe the SPI to this unit can run at 30 maybe 40 mhz... So currently have to send 3 times as much data to display as ili9341 display 2 times the pixels and each pixel 3 bytes instead of 2...

    But could maybe try an 8 bit color mode?

  15. #1715
    Senior Member
    Join Date
    Jul 2014
    Posts
    2,398
    Quote Originally Posted by mjs513 View Post
    Unfortunately you can't use the USB socket on the breakout board. UHS2.0 is only designed to be used with the USB Host Shield, I typically use the Mini Shield. What KurtE has been doing to try to get Bluetooth working with USBHost_t36. To get a memory stick working with the USB direct on the T4 you are going to have to right the driver. You might be able to start with UHS2.0 library as a start, or USH3.0 which is the latest but don't know if it works with a memory stick, never looked.
    After thinking about and searching in the Web, I'm sinking the idea to access mass memory via USB. we have already 4-bit sdhc and for my applications I only need large logging storage and not the flexibility of a random access to USB disks.
    So, I will follow the idea I implemented some years ago, that is to access multiple micro SD disks sequentially.
    uSDHC of T3.5/6-T4 makes is easy to access paralleled disks, no dedicated CS needed.

    edit: I just saw Paul's reply, maybe I try first the USBHost_t36 examples.
    and UHS30 uses Elm ChaN's generic file system, the one I used for uSDFS
    Last edited by WMXZ; 02-12-2019 at 07:34 PM.

  16. #1716
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    Quote Originally Posted by mjs513 View Post
    I would think the display you linked to should work...
    You would need to connect up pins 1-9, Note on LED, might need to tie to 3.3v or put on IO pin and change that IO pin to output and drive high. That is what I did with the LED pin on mine

  17. #1717
    Senior Member+ Frank B's Avatar
    Join Date
    Apr 2014
    Location
    Germany NRW
    Posts
    5,679
    Added audio S/PDIF, for SAI1 and SAI2 software emulated. S/PDIF in hardware follows.
    Current state in Post #9

  18. #1718
    Senior Member+ manitou's Avatar
    Join Date
    Jan 2013
    Posts
    2,238
    Quote Originally Posted by PaulStoffregen View Post
    Then again, nobody else (as far as I know) had really tried to map M7's memory architecture onto the Arduino world's conventions. I believe some of Adafruit's SAMD51 boards (which are M4) may have the ability to put variables and maybe even code into a QSPI flash chip. Would be interesting to look at what they're doing, if anyone knows or has time to investigate. Maybe the STM32 folks have looked at this? I don't follow STM32 closely.

    But my gut feeling is we're probably the first to really tackle how to use M7 with Arduino's conventions and legacy of AVR code.
    As @MichaelMeissner notes in post #1668, Adafruit's M4 has QSPI serial flash that is used primarily by circuitpython, but I have played with Adafruit M4 and they also provide a fatfs API https://github.com/adafruit/Adafruit_QSPI. From an "arduino sketch" you can create/manipulate fatfs file system on the M4 QSPI 2MB flash, including reading the python files. I haven't seen core code that would allow you to access the QSPI flash as "memory".

    As noted in https://forum.pjrc.com/threads/28505...l=1#post182121, the Adafruit fatfs libs will work with Teensy SPI serial flash. The Teensy light-weight SerialFlash file system can be used on the Adafruit SPI flash, but not the QSPI flash.

  19. #1719
    Senior Member+ manitou's Avatar
    Join Date
    Jan 2013
    Posts
    2,238
    Quote Originally Posted by KurtE View Post
    So wondering if should move this to different topic (not T4 specific)
    I'm thinking the ILI9488 should have its own thread ....

  20. #1720
    Senior Member xxxajk's Avatar
    Join Date
    Nov 2013
    Location
    Buffalo, NY USA
    Posts
    532
    Cool, thanks Paul!

  21. #1721
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    Quote Originally Posted by manitou View Post
    I'm thinking the ILI9488 should have its own thread ....
    @manitou - maybe it should but at some point in time the general test and talk about the display will wind up discussing T4 impact and what has to be done if anything. So, think it may be @Paul call if we can move it to another thread - with the proviso that if its T4 specific it gets moved back to this thread but …

    Int the meantime have something for KurtE to mull over

  22. #1722
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    @KurtE
    Kurt, I think I mentioned that I found a schematic for the board and finally had time to take a look at in detail - I did notice there is no DC pin which is strange. The other thing is that there is a note about shifting MSB by 2 on the right side of the schematic-not really sure what that means or how to handle it

    Click image for larger version. 

Name:	NFZpMT.jpg 
Views:	48 
Size:	131.5 KB 
ID:	15897

  23. #1723
    Senior Member
    Join Date
    Feb 2013
    Posts
    563
    hi, not 100% (and it's getting late here ... ) but shouldn't the line below read AD_B1_00 / 19 ( = GPIO16 | UART2_CTS) rather than AD_B1_01 / 18?

    https://github.com/PaulStoffregen/co...erial3.cpp#L61

  24. #1724
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,312
    Quote Originally Posted by mjs513 View Post
    I hooked up my USB Mini shield with UHS2.0. The channel ids used for rumble were 0x45 and 0x00. But when I tried that - no luck unless something overrode them.
    @KurtE
    Since I spent the day shoveling ice/snow (not much but had to do it twice) and not making much headway with the ili9488 breakout board I have, decided to go back to USBHost_T36_BT version.

    Well, something broke good in it. Can't use any wired devices with the new version. Tried Joystick (PS4 or PS3) only and then keyboard/mouse but both hung the T4 to the point where I had to use the pgm button to load the next sketch. Tough to isolate the problem area. With the keyboard mouse on the hub it just looses USB connection to the PC from the start.

    Getting sleepy now so time for coffee and rest.

    PS: looks like I will get my breakout board the end of the week. Ordered your display to try but that is the end of Feb so pretty much dead in the water with testing that particular piece of hardware.

    EDIT: Kurt - maybe we should start another thread just for USB BT - and use this thread just for T4 specific issues? Don't know what do you think.

  25. #1725
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    5,740
    Quote Originally Posted by mjs513 View Post
    @KurtE
    Kurt, I think I mentioned that I found a schematic for the board and finally had time to take a look at in detail - I did notice there is no DC pin which is strange. The other thing is that there is a note about shifting MSB by 2 on the right side of the schematic-not really sure what that means or how to handle it

    Click image for larger version. 

Name:	NFZpMT.jpg 
Views:	48 
Size:	131.5 KB 
ID:	15897
    I am not an expert here, but my 3 cent guess is that this display does not do what we would typically think of a normal SPI conversation...
    Instead I am thinking that there is 3 shift registers connected to each other, so you end up sending a 24 bits of data, probably 18 bits of color, plus maybe the D/C signal encoded on it it as well... But again just guessing.

Posting Permissions

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