Getting started with Teensy as MTP device with audio/midi device.

charnjit

Well-known member
I want to teensy 4.1 as MTP device with (Serial+midi+audio+...etc). I need to files transferred to/from window PC & teensy's built-in SD Card .
Please recommend me A code example & library (tested successfully) links inwhich i could simply see teensy's mounted SDcard on connected PC's File explorer.

I AM using Arduino ide 1.8.19 ,teensyduino 1.59
Thank you....
 
aLSO tried after installed library From
MTP_t4 github
Example sketch was..
C++:
#include "SPI.h"
#include "SD.h"
#include "MTP.h"

#define USE_SD  1         // SDFAT based SDIO and SPI
#define USE_LFS_RAM 0     // T4.1 PSRAM (or RAM)
#define USE_LFS_QSPI 0    // T4.1 QSPI
#define USE_LFS_PROGM 0   // T4.1 Progam Flash
#define USE_LFS_SPI 0     // SPI Flash

#if USE_EVENTS==1
  extern "C" int usb_init_events(void);
#else
  int usb_init_events(void) {}
#endif

#if USE_LFS_RAM==1 ||  USE_LFS_PROGM==1 || USE_LFS_QSPI==1 || USE_LFS_SPI==1
  #include "LittleFS.h"
#endif

#if defined(__IMXRT1062__)
  // following only as long usb_mtp is not included in cores
  #if !__has_include("usb_mtp.h")
    #include "usb1_mtp.h"
  #endif
#else
  #ifndef BUILTIN_SDCARD
    #define BUILTIN_SDCARD 254
  #endif
  void usb_mtp_configure(void) {}
#endif


/****  Start device specific change area  ****/
// SDClasses
#if USE_SD==1
  // edit SPI to reflect your configuration (following is for T4.1)
  #define SD_MOSI 11
  #define SD_MISO 12
  #define SD_SCK  13

  #if defined (BUILTIN_SDCARD)
    const char *sd_str[]={"sdio","sd1"}; // edit to reflect your configuration
    const int cs[] = {BUILTIN_SDCARD,10}; // edit to reflect your configuration
  #else
    const char *sd_str[]={"sd1"}; // edit to reflect your configuration
    const int cs[] = {10}; // edit to reflect your configuration
  #endif
  const int nsd = sizeof(sd_str)/sizeof(const char *);

SDClass sdx[nsd];
#endif

//LittleFS classes
#if USE_LFS_RAM==1
  const char *lfs_ram_str[]={"RAM1","RAM2"};     // edit to reflect your configuration
  const int lfs_ram_size[] = {2'000'000,4'000'000}; // edit to reflect your configuration
  const int nfs_ram = sizeof(lfs_ram_str)/sizeof(const char *);

  LittleFS_RAM ramfs[nfs_ram];
#endif

#if USE_LFS_QSPI==1
  const char *lfs_qspi_str[]={"QSPI"};     // edit to reflect your configuration
  const int nfs_qspi = sizeof(lfs_qspi_str)/sizeof(const char *);

  LittleFS_QSPIFlash qspifs[nfs_qspi];
#endif

#if USE_LFS_PROGM==1
  const char *lfs_progm_str[]={"PROGM"};     // edit to reflect your configuration
  const int lfs_progm_size[] = {1'000'000}; // edit to reflect your configuration
  const int nfs_progm = sizeof(lfs_progm_str)/sizeof(const char *);

  LittleFS_Program progmfs[nfs_progm];
#endif

#if USE_LFS_SPI==1
  const char *lfs_spi_str[]={"nand1","nand2","nand3","nand4"}; // edit to reflect your configuration
  const int lfs_cs[] = {3,4,5,6}; // edit to reflect your configuration
  const int nfs_spi = sizeof(lfs_spi_str)/sizeof(const char *);

LittleFS_SPIFlash spifs[nfs_spi];
#endif


MTPStorage_SD storage;
MTPD    mtpd(&storage);

void storage_configure()
{
  // Using SD card for storage
  #if USE_SD==1
    #if defined SD_SCK
      SPI.setMOSI(SD_MOSI);
      SPI.setMISO(SD_MISO);
      SPI.setSCK(SD_SCK);
    #endif

    for(int ii=0; ii<nsd; ii++)
    {
      if(cs[ii]<BUILTIN_SDCARD)
      {
        pinMode(cs[ii],OUTPUT); digitalWriteFast(cs[ii],HIGH);
      }
      if(!sdx[ii].begin(cs[ii]))
      { Serial.printf("SD/SDIO Storage %d %d %s failed or missing",ii,cs[ii],sd_str[ii]);  Serial.println();
      }
      else
      {
        storage.addFilesystem(sdx[ii], sd_str[ii]);
        uint64_t totalSize = sdx[ii].totalSize();
        uint64_t usedSize  = sdx[ii].usedSize();
        Serial.printf("SDIO Storage %d %d %s ",ii,cs[ii],sd_str[ii]);
          Serial.print("; total "); Serial.print(totalSize); Serial.print(" used: "); Serial.println(usedSize);
      }
    }
  #endif

  // Using Little FS in RAM for storage
  #if USE_LFS_RAM==1
  for(int ii=0; ii<nfs_ram;ii++)
  {
    if(!ramfs[ii].begin(lfs_ram_size[ii]))
    { Serial.printf("Ram Storage %d %s failed or missing",ii,lfs_ram_str[ii]); Serial.println();
    }
    else
    {
      storage.addFilesystem(ramfs[ii], lfs_ram_str[ii]);
      uint64_t totalSize = ramfs[ii].totalSize();
      uint64_t usedSize  = ramfs[ii].usedSize();
      Serial.printf("RAM Storage %d %s ",ii,lfs_ram_str[ii]);
          Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
    }
  }
  #endif

  // Using Little FS in FLASH memory for storage
  #if USE_LFS_PROGM==1
  for(int ii=0; ii<nfs_progm;ii++)
  {
    if(!progmfs[ii].begin(lfs_progm_size[ii]))
    { Serial.printf("Program Storage %d %s failed or missing",ii,lfs_progm_str[ii]); Serial.println();
    }
    else
    {
      storage.addFilesystem(progmfs[ii], lfs_progm_str[ii]);
      uint64_t totalSize = progmfs[ii].totalSize();
      uint64_t usedSize  = progmfs[ii].usedSize();
      Serial.printf("Program Storage %d %s ",ii,lfs_progm_str[ii]);
          Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
    }
  }
  #endif

  // Using Little FS in QSPI for storage
  #if USE_LFS_QSPI==1
  for(int ii=0; ii<nfs_qspi;ii++)
  {
    if(!qspifs[ii].begin())
    { Serial.printf("QSPI Storage %d %s failed or missing",ii,lfs_qspi_str[ii]); Serial.println();
    }
    else
    {
      storage.addFilesystem(qspifs[ii], lfs_qspi_str[ii]);
      uint64_t totalSize = qspifs[ii].totalSize();
      uint64_t usedSize  = qspifs[ii].usedSize();
      Serial.printf("QSPI Storage %d %s ",ii,lfs_qspi_str[ii]);
          Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
    }
  }
  #endif

  // Using Little FS in SPI for storage
  #if USE_LFS_SPI==1
  for(int ii=0; ii<nfs_spi;ii++)
  {
    if(!spifs[ii].begin(lfs_cs[ii]))
    { Serial.printf("SPIFlash Storage %d %d %s failed or missing",ii,lfs_cs[ii],lfs_spi_str[ii]); Serial.println();
    }
    else
    {
      storage.addFilesystem(spifs[ii], lfs_spi_str[ii]);
      uint64_t totalSize = spifs[ii].totalSize();
      uint64_t usedSize  = spifs[ii].usedSize();
      Serial.printf("SPIFlash Storage %d %d %s ",ii,lfs_cs[ii],lfs_spi_str[ii]);
          Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
    }
  }
  #endif
}

void setup()
{
  while(!Serial);
  Serial.println("MTP_test");

  #if USE_EVENTS==1
    usb_init_events();
  #endif

  #if !__has_include("usb_mtp.h")
    usb_mtp_configure();
  #endif
  storage_configure();

}

void loop()
{
  mtpd.loop();

#if USE_EVENTS==1
  if(Serial.available())
  {
    char ch=Serial.read();
    Serial.println(ch);
    if(ch=='r')
    {
      Serial.println("Reset");
      mtpd.send_DeviceResetEvent();
    }
  }
#endif
}
And error is ..
Code:
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp:1026:20: error: 'length_' was not declared in this scope; did you mean 'length'?
 1026 |       header.len = length_ + sizeof(header);
      |                    ^~~~~~~
      |                    length
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp: In member function 'void MTPD::write_finish()':
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp:1038:36: error: 'rest' was not declared in this scope; did you mean 'test'?
 1038 |         push_packet(tx_data_buffer,rest);
      |                                    ^~~~
      |                                    test
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp: At global scope:
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp:1065:10: error: no declaration matches 'void MTPD::getObjecto(uint16_t, uint32_t, int32_t)'
 1065 |     void MTPD::getObjecto(uint16_t op, uint32_t transaction_id, int32_t object_id)
      |          ^~~~
In file included from C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.cpp:28:
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.h:144:8: note: candidate is: 'void MTPD::getObjecto(int32_t)'
  144 |   void getObjecto(int32_t object_id);
      |        ^~~~~~~~~~
C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master\src\MTP.h:68:7: note: 'class MTPD' defined here
   68 | class MTPD {
      |       ^~~~
Using library SPI at version 1.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SPI
Using library SD at version 2.0.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SD
Using library SdFat at version 2.1.2 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SdFat
Using library MTP_t4-master at version 1.0.0-beta.1 in folder: C:\Users\acer\Documents\Arduino\libraries\MTP_t4-master
Error compiling for board Teensy 4.1.
i have tried both option [MTP Disk (experimental)] & [Serial+MTP Disk (experimental)] for "USB Type:" ... for Teensy4.1/Arduino 1.8.13/TD 1.59
where is mistake.....???
thank you
 
Thank to suggest WMXZ
i tried to compile example "simple_t4_audio_sd" from
https://github.com/PaulStoffregen/MTP_Teensy and got Error
Code:
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Teensy.cpp:979:29: error: 'class FS' has no member named 'name'; did you mean 'rename'?
  979 |   const char *volname = fs->name(); // assume no media access if previously called
      |                             ^~~~
      |                             rename
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Teensy.cpp: In member function 'void MTP_class::printFilesystemsInfo(Stream&)':
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Teensy.cpp:2145:33: error: 'class FS' has no member named 'name'; did you mean 'rename'?
 2145 |       const char *volname = fs->name(); // requires updated core lib
      |                                 ^~~~
      |                                 rename
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Storage.cpp: In member function 'bool MTPStorage::addFilesystem(FS&, const char*)':
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Storage.cpp:1733:42: error: 'class FS' has no member named 'name'; did you mean 'rename'?
 1733 |         const char *volname = fs[store]->name();
      |                                          ^~~~
      |                                          rename
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Storage.cpp: In member function 'void MTPStorage::loop()':
C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch\src\MTP_Storage.cpp:1904:40: error: 'class FS' has no member named 'name'; did you mean 'rename'?
 1904 |       const char *volname = fs[store]->name();
      |                                        ^~~~
      |                                        rename
Using library SD at version 2.0.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SD
Using library SdFat at version 2.1.2 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SdFat
Using library SPI at version 1.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SPI
Using library LittleFS at version 1.0.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\LittleFS
Using library MTP_Teensy-pauls_branch at version 1.0.0 in folder: C:\Users\acer\Documents\Arduino\libraries\MTP_Teensy-pauls_branch
Error compiling for board Teensy 4.1.
how to fix it ???
which example work as (Teensy's Built-in SD card apears to file explorer in connected PC ) to Transfer files to/from Teensy & PC ???
 
I guess, you should update to TD 1.60.5 (latest beta). If then you have issues, Paul can check/advice
 
Request to Paul, Please check & advice.
after install TD 1.60.5 i tried copy example
https://github.com/PaulStoffregen/M...les/simple_t4_audio_sd/simple_t4_audio_sd.ino
using Usb Type: MTP Disk(Experimental) and Usb Type: Serial + MTP Disk(Experimental)
got error!! these are last 16 lines of error if need to see full error messege
C++:
Linking everything together...
"C:\\Program Files\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O2 -Wl,--gc-sections,--relax "-TC:\\Program Files\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4/imxrt1062_t41.ld" -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.elf" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\sketch\\simple_t4_audio_sd.ino.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SD\\SD.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FreeStack.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\MinimumSerial.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatDbg.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatFile.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatFilePrint.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatFileWrite.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatFormatter.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatName.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatPartition.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\ExFatVolume.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\ExFatLib\\upcase.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatDbg.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatFile.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatFileLFN.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatFilePrint.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatFileSFN.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatFormatter.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatName.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatPartition.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FatLib\\FatVolume.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FsLib\\FsFile.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FsLib\\FsNew.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\FsLib\\FsVolume.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SdCard\\SdCardInfo.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SdCard\\SdSpiCard.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SdCard\\SdioTeensy.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiArtemis.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiChipSelect.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiDue.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiESP.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiParticle.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiSTM32.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiSTM32Core.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\SpiDriver\\SdSpiTeensy3.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FmtNumber.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FsCache.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FsDateTime.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FsName.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FsStructs.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\FsUtf.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\PrintBasic.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\common\\upcase.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\iostream\\StdioStream.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\iostream\\StreamBaseClass.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\iostream\\istream.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SdFat\\iostream\\ostream.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\LittleFS\\LittleFS.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\LittleFS\\LittleFS_NAND.cpp.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\LittleFS\\littlefs\\lfs.c.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766\\libraries\\LittleFS\\littlefs\\lfs_util.c.o" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/core\\core.a" "-LC:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766" -larm_cortexM7lfsp_math -lm -lstdc++
"C:\\Program Files\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.elf" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.eep"
"C:\\Program Files\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.elf" "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.hex"
"C:\\Program Files\\Arduino\\hardware\\teensy/../tools/teensy_secure" encrypthex TEENSY41 "C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766/simple_t4_audio_sd.ino.hex"
No key .pem file found, skipping .ehex encryption
"C:\\Program Files\\Arduino\\hardware\\teensy/../tools/teensy_post_compile" -file=simple_t4_audio_sd.ino "-path=C:\\Users\\acer\\AppData\\Local\\Temp\\arduino_build_779766" "-tools=C:\\Program Files\\Arduino\\hardware\\teensy/../tools/" -board=TEENSY41
Opening Teensy Loader...
Could not start Teensy Loader application! (r=1)
  attempted: C:\Program Files\Arduino\hardware\teensy/../tools/\teensy.exe
Using library SD at version 2.0.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SD
Using library SdFat at version 2.1.2 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SdFat
Using library SPI at version 1.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\SPI
Using library LittleFS at version 1.0.0 in folder: C:\Program Files\Arduino\hardware\teensy\avr\libraries\LittleFS
quitexit status 1
Error compiling for board Teensy 4.1.
please check what is problem ??
thank you..
 
Could not start Teensy Loader application! (r=1) attempted: C:\Program Files\Arduino\hardware\teensy/../tools/\teensy.exe
Check your installation.
Close and Restart the IDE
Does the copy of Teensy.exe still exist at that (abbreviated /../) path?
 
yes .. on Location
C:\Program Files\Arduino\hardware\tools
Teensy.exe not exist.
post #6 and #7 error coming from all simple example.
Teensy.exe file missing.
what should i do next how to recover it??
 
there is no folder name :program Files(86) in C: drive ,
problem became releated to install update TD 1.60.
so i will ask in new thread , and i will come back here , when it solved and stopped by MTP events.!!!!!
 
On Windows there is ALWAYS a directory called "C:\Program Files (x86)". If you don't spell it properly you won't find it!
 
Back
Top