Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 11 of 11

Thread: Teensyduino 1.57 Beta #2

  1. #1
    Administrator Paul's Avatar
    Join Date
    Oct 2012
    Posts
    430

    Teensyduino 1.57 Beta #2

    Teensyduino 1.57 Beta #2

    Here is a second beta test for Teensyduino 1.57.


    Linux 32 bit:
    https://www.pjrc.com/teensy/td_157-b...nstall.linux32

    Linux 64 bit:
    https://www.pjrc.com/teensy/td_157-b...nstall.linux64

    Linux ARM: (coming soon...)
    https://www.pjrc.com/teensy/td_157-b...stall.linuxarm

    Linux ARM64:
    https://www.pjrc.com/teensy/td_157-b...l.linuxaarch64

    MacOS (Catalina to Monterey)
    https://www.pjrc.com/teensy/td_157-b...S_Catalina.zip

    Old MacOS (Lion to Mojave)
    https://www.pjrc.com/teensy/td_157-b...inoInstall.dmg

    Windows:
    https://www.pjrc.com/teensy/td_157-b...inoInstall.exe


    Changes since Teensyduino 1.56-beta1:

    Add USB Type Serial+MTP
    Dynamic AudioConnection on Teensy 3 (Jonathan Oakley)
    Fix RawHID revc with 0 timeout on Teensy 4 (KurtE)
    Fix PT8211_2 initialization (KurtE)
    Update QuadEncoder (mjs513)
    USBHost_t36 USBDrive handle GPT & Ext partitions (KurtE)
    USBHost_t36 USBFilesystem formatting (mjs513, KurtE)
    USBHost_t36 USBDrive startFilesystems (KurtE)
    Remove SdFat GPT & Ext partitions, now done in USBHost_t36

  2. #2
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,238
    Install on Windows Home x64 went smoothly no blue screens about security which is good.

    Started to do some testing with updates to USBHost_t36. Did notice UsbMscFat was not included in Beta2 - maybe for Beta3.

    Did some testing with MTP_Teensy this morning and seem to be having issues with it wanting to reboot when specifing SPI NAND (1G and 2G) using the memory board breakout. Not sure yet if its an issue with NAND with MTP/USBHost or an issue with my breakout board.

    Anyway if I just use SPI Nor flash from the breakout and 2 USB Drives partitioned of course
    Code:
     === Drive index 0 found ===
    
    Try Partition list
    Partition Table
    	part,boot,bgnCHS[3],type,endCHS[3],start,length
    exFAT:	1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,2048,50362368
    Extend:	2,0,0xFE,0xFF,0xFF,0xF,0xFE,0xFF,0xFF,50364416,70780928
    exFAT:	2:1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,50364480(64),70780864 (0)
    pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    Found new Volume:0
    Found new Volume:1
    
     === Drive index 1 found ===
    
    Try Partition list
    Partition Table
    	part,boot,bgnCHS[3],type,endCHS[3],start,length
    *** GPT Disk WIP ***
    GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0xBF,0xDB,1,4294967295
    pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    	 < unused area starting at: 0 length 242075647 >
    
    GPT partition header revision: 10000
    LBAs current:1 backup:242075647 first:34 last:242075614
    Disk GUID:A9140183-C42E-E8C4-C060-39F59EFB0CCCStart LBA Array: 2 Count: 128 size:128
    Part	 Type Guid, Unique Guid, First, last, attr, name
    0	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, A8A4FA8A-72C3-0915-BF58-114D93406C41, 2112, 59158591, 0, 
    >>> Microsoft Basic Data Partition
    1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, A6FDEF94-76A2-BC8F-3E4C-55D104277D6F, 59160640, 242073727, 0, 
    >>> Microsoft Basic Data Partition
        EXFAT:
    3	00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000000, 0, 0, 0, 
    Found new Volume:2
    Found new Volume:3
    
    Dump Storage list(9)
    store:0 storage:10001 name:PgmIndx fs:2001110c pn:
    store:1 storage:20001 name:BUILTIN fs:20013954 pn:
    store:2 storage:30001 name:QSPI fs:2001380c pn:W25Q128JV*M (DTR)
    store:3 storage:40001 name:sflash5 fs:20013e28 pn:W25Q512JV*M (DTR)
    store:4 storage:50001 name:sflash6 fs:20013f04 pn:W25Q512JV*Q
    store:5 storage:60001 name:MSC0 fs:200112ac pn:
    store:6 storage:70001 name:MSC1 fs:20011758 pn:
    store:7 storage:80001 name:MSC2-GPTFAT32 fs:20011c04 pn:
    store:8 storage:90001 name:MSC3 fs:200120b0 pn:
    EDIT: Forgot this is the crashreport when using NAND
    Code:
     === Drive index 0 found ===
    
    Try Partition list
    Partition Table
    	part,boot,bgnCHS[3],type,endCHS[3],start,length
    exFAT:	1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,2048,50362368
    Extend:	2,0,0xFE,0xFF,0xFF,0xF,0xFE,0xFF,0xFF,50364416,70780928
    exFAT:	2:1,0,0x20,0x21,0x0,0x7,0xFE,0xFF,0xFF,50364480(64),70780864 (0)
    pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    Found new Volume:0
    Found new Volume:1
    
     === Drive index 1 found ===
    
    Try Partition list
    Partition Table
    	part,boot,bgnCHS[3],type,endCHS[3],start,length
    *** GPT Disk WIP ***
    GPT guard:	1,0,0x0,0x2,0x0,0xEE,0xFE,0xBF,0xDB,1,4294967295
    pt_#0:	2,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	3,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    pt_#0:	4,0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0,0
    	 < unused area starting at: 0 length 242075647 >
    
    GPT partition header revision: 10000
    LBAs current:1 backup:242075647 first:34 last:242075614
    Disk GUID:A9140183-C42E-E8C4-C060-39F59EFB0CCCStart LBA Array: 2 Count: 128 size:128
    Part	 Type Guid, Unique Guid, First, last, attr, name
    0	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, A8A4FA8A-72C3-0915-BF58-114D93406C41, 2112, 59158591, 0, 
    >>> Microsoft Basic Data Partition
    1	EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, A6FDEF94-76A2-BC8F-3E4C-55D104277D6F, 59160640, 242073727, 0, 
    >>> Microsoft Basic Data Partition
        EXFAT:
    3	00000000-0000-0000-0000-000000000000, 00000000-0000-0000-0000-000000000000, 0, 0, 0, 
    Found new Volume:2
    Found new Volume:3
    
    Dump Storage list(9)
    store:0 storage:10001 name:PgmIndx fs:2001110c pn:
    store:1 storage:20001 name:BUILTIN fs:20013954 pn:
    store:2 storage:30001 name:QSPI fs:2001380c pn:W25Q128JV*M (DTR)
    store:3 storage:40001 name:sflash5 fs:20013e28 pn:W25Q512JV*M (DTR)
    store:4 storage:50001 name:sflash6 fs:20013f04 pn:W25Q512JV*Q
    store:5 storage:60001 name:MSC0 fs:200112ac pn:
    store:6 storage:70001 name:MSC1 fs:20011758 pn:
    store:7 storage:80001 name:MSC2-GPTFAT32 fs:20011c04 pn:
    store:8 storage:90001 name:MSC3 fs:200120b0 pn:

  3. #3
    Senior Member
    Join Date
    Jul 2014
    Posts
    3,451
    thanks
    changed read.me on https://github.com/WMXZ-EU/MTP_t4

  4. #4
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,238
    Quote Originally Posted by WMXZ View Post
    thanks
    changed read.me on https://github.com/WMXZ-EU/MTP_t4
    You can probably delete this as well
    install LittleFS from https://github.com/PaulStoffregen/LittleFS for use of LittleFS basd filesystems
    as LittleFS is installed with Teensyduino

  5. #5
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,238
    As a followup to my post on MTP issues looks like the problem is isolated to getting and printing the storage list:
    Code:
        case '1':
          // first dump list of storages:
          fsCount = MTP.getFilesystemCount();
          DBGSerial.printf("\nDump Storage list(%u)\n", fsCount);
          for (uint32_t ii = 0; ii < fsCount; ii++) {
            DBGSerial.printf("store:%u storage:%x name:%s fs:%x pn:", ii,
                             MTP.Store2Storage(ii), MTP.getFilesystemNameByIndex(ii),
                             (uint32_t)MTP.getFilesystemByIndex(ii));
            Serial.flush();        
            DBGSerial.println(getFSPN(ii));
          }
    If I look in File explorer and access winbond 2G and accessing its files there is no issue:
    Click image for larger version. 

Name:	Capture.jpg 
Views:	2 
Size:	30.3 KB 
ID:	28597

    The code shows there are 9 Filesystems but in actuality there are 11:
    Click image for larger version. 

Name:	Capture.PNG 
Views:	6 
Size:	17.7 KB 
ID:	28598

  6. #6
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    10,556
    Installed this morning so far on Windows 10, just starting up Ubuntu machine will try on that.
    Note: I am running Ubuntu 20.04... wondering if I should update this machine to 22.04?


    Note: The Serial+MTP so far only includes setup for T4.x.

    Tested our more extended picture viewer on RA8876 (not part of our default examples)... And it is working.
    Minor notes: to those of us who use some different build tools...

    TSET - I had to update slightly as the boards.txt has USB type=serialmtp and our temporary one had mtpserial...

    Also TyCommander now shows (Teensyduino Generic) ...

  7. #7
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,238
    Quote Originally Posted by mjs513 View Post
    As a followup to my post on MTP issues looks like the problem is isolated to getting and printing the storage list:
    Code:
        case '1':
          // first dump list of storages:
          fsCount = MTP.getFilesystemCount();
          DBGSerial.printf("\nDump Storage list(%u)\n", fsCount);
          for (uint32_t ii = 0; ii < fsCount; ii++) {
            DBGSerial.printf("store:%u storage:%x name:%s fs:%x pn:", ii,
                             MTP.Store2Storage(ii), MTP.getFilesystemNameByIndex(ii),
                             (uint32_t)MTP.getFilesystemByIndex(ii));
            Serial.flush();        
            DBGSerial.println(getFSPN(ii));
          }
    If I look in File explorer and access winbond 2G and accessing its files there is no issue:


    The code shows there are 9 Filesystems but in actuality there are 11:
    FYI - This is the line that is causing the issues:
    Code:
            //DBGSerial.println(getFSPN(ii));
    Did we loose getFSPN?

  8. #8
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    10,556
    Quote Originally Posted by mjs513 View Post
    FYI - This is the line that is causing the issues:
    Code:
            //DBGSerial.println(getFSPN(ii));
    Did we loose getFSPN?
    Which sketch are your running?

    I believe that getfspn is a function within the example sketch.
    That is in SD_Program_SPI_QSPI_MTP-logger.ino (assuming I typed correctly)

    Code:
    const char *getFSPN(uint32_t ii) {
      FS* pfs = MTP.storage()->getStoreFS(ii);
      // total set of hacks...
      if (pfs == (FS *)&lfsram) return lfsram.getMediaName();
      if (pfs == (FS *)&lfsProg) return lfsProg.getMediaName();
      #ifdef ARDUINO_TEENSY41
      if (pfs == (FS *)&lfsqspi) return lfsqspi.getMediaName();
      #endif
      for (uint8_t i = 0; i < CLFSSPIPINS; i++) {
        if (pfs == (FS *)&lfsspi[i]) return lfsspi[i].getMediaName();
      }
      return "";
    }

  9. #9
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    10,556
    Quote Originally Posted by KurtE View Post
    Also TyCommander now shows (Teensyduino Generic) ...
    https://github.com/Koromix/tytools/pull/92

  10. #10
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    8,238
    Quote Originally Posted by KurtE View Post
    Which sketch are your running?

    I believe that getfspn is a function within the example sketch.
    That is in SD_Program_SPI_QSPI_MTP-logger.ino (assuming I typed correctly)

    Code:
    const char *getFSPN(uint32_t ii) {
      FS* pfs = MTP.storage()->getStoreFS(ii);
      // total set of hacks...
      if (pfs == (FS *)&lfsram) return lfsram.getMediaName();
      if (pfs == (FS *)&lfsProg) return lfsProg.getMediaName();
      #ifdef ARDUINO_TEENSY41
      if (pfs == (FS *)&lfsqspi) return lfsqspi.getMediaName();
      #endif
      for (uint8_t i = 0; i < CLFSSPIPINS; i++) {
        if (pfs == (FS *)&lfsspi[i]) return lfsspi[i].getMediaName();
      }
      return "";
    }
    Yeah the dummy that I am I forgot. getMediaName is whats in the core - duh.

    Anyway the conflict seems to be that when I print the media name for NANDS and then MSC it seems to be crashing right the first print for MSC partition. If I don't print the NAND PartNumbers no crash and it works:
    Code:
    Dump Storage list(11)
    store:0 storage:10001 name:PgmIndx fs:2001110c pn:PROGRAM
    store:1 storage:20001 name:BUILTIN fs:20013b3c pn:
    store:2 storage:30001 name:QSPI fs:200139f4 pn:W25Q128JV*M (DTR)
    store:3 storage:40001 name:sflash5 fs:20014010 pn:W25Q512JV*M (DTR)
    store:4 storage:50001 name:sflash6 fs:200140ec pn:W25Q512JV*Q
    store:5 storage:60001 name:WINBOND1G fs:200112ac pn:
    store:6 storage:70001 name:WINBOND2G fs:200113a0 pn:
    store:7 storage:80001 name:MSC0 fs:20011494 pn:
    store:8 storage:90001 name:MSC1 fs:20011940 pn:
    store:9 storage:a0001 name:MSC2-GPTFAT32 fs:20011dec pn:
    store:10 storage:b0001 name:MSC3 fs:20012298 pn:
    Here is what I am using now in my mtp_test_integrity sketch
    Code:
    const char *getFSPN(uint32_t ii) {
      FS* pfs = MTP.storage()->getStoreFS(ii);
      #if USE_LFS_QSPI==1
        if (pfs == (FS *)&qspifs[0] && USE_LFS_QSPI == 1) return qspifs[0].getMediaName();
      #endif
      #if useExMem == 1
        if (pfs == (FS *)&lfsram) return lfsram.getMediaName();
      #endif
      #if useProIdx == 1
        if (pfs == (FS *)&lfsProg) return lfsProg.getMediaName();
      #endif
      for (uint8_t i = 0; i < 4; i++) {
        #if USE_LFS_RAM == 1
          if (pfs == (FS *)&ramfs[i]) return ramfs[i].getMediaName();
        #endif
        #if USE_LFS_PROGM == 1
          if (pfs == (FS *)&progmfs[i]) return progmfs[i].getMediaName();
        #endif
        #if USE_LFS_SPI == 1
          if (pfs == (FS *)&spifs[i]) return spifs[i].getMediaName();
        #endif
        #if USE_LFS_NAND == 1
          //if (pfs == (FS *)&nspifs[i]) return nspifs[i].getMediaName();
        #endif
        #if USE_LFS_QSPI_NAND == 1
          if (pfs == (FS *)&qnspifs[i]) return qnspifs[i].getMediaName();
        #endif
        #if USE_LFS_FRAM == 1
          if (pfs == (FS *)&qfspi[i]) return qfspi[i].getMediaName();
        #endif
       }
      return "";
    }
    Haven't figured out why yet.

  11. #11
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    10,556
    I thought I would mention, that today I installed Ubuntu 22.04 onto an RPI4(8mb) on an SSD 64 bit.

    Looked for Arduino 2, but did not see any for arch64, so installed 1.8.18 and installed TD 1.57b2.

    I then installed enough libraries: mtp_teensy, jpeg_dec, ping_dec, ra8876... And then built our mtp_tft_picture_view (my github by that name),
    I built using Serial + MTP for T4.1 on RA8876

    And it built and programmed the T4.1 and I could Use MTP to talk to the Teensy.
    Click image for larger version. 

Name:	Screenshot from 2022-06-09 17-19-00.jpg 
Views:	15 
Size:	112.9 KB 
ID:	28658

    And the images are showing up on my RA8876 display.

Posting Permissions

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