@mjs513 - just posted updated sketch with much of your 'disks' and some added bonus fitting the NEW way of doing it.
pjrc.com/threads/58033-LittleFS-port-to-Teensy-SPIFlash
Copy/Pasting
1. [COLOR="#FF0000"]Between devices on Teensy fails and hangs from doing anything else.[/COLOR]
2. [COLOR="#FF0000"]Disabling and enabling does not work. Can do it but Teensy does not show up in Win Explorer after re-enabling[/COLOR]
3. Copying from PC to devices works for a txt and imgs. Tested with a PDF buf funny same [COLOR="#FF0000"]PDF copied to 5 devices sucessfully and opened correct but when copied to the 6 (propshield flash) failed and lost Propshield in Explorer. When I restared T4.1 file did actually copy to Propshield.[/COLOR]. May just have been a glitch.
4. Coping from all devices worked for me.
Deleting
1. Able to delete files from all devices
2. Can do multiple file deletions
3.[COLOR="#FF0000"] Can not delete a directory with files in it. Have to delete files first. This was on the SD Cards (external and Internal). [/COLOR] [B]However it does work on qspi, ram and SPI flash
[/B]
Move - Create Directory - Rename
1. Created a directory on each device and renamed it successfully.
2. After creating a directory moved a file from that device into the newly created directory no issue
3. Restarted and everything was where it was created.
4. Also copied file from desktop into sub directory auccessfully
#include "Arduino.h"
#include "SD.h"
#include "MTP.h"
#include "usb1_mtp.h"
#define HAVE_LITTLEFS 1 // set to zero if no LtttleFS is existing or to be used
/**** Start device specific change area ****/
// edit SPI to reflect your configuration (following is fot T4.1)
#define SD_MOSI 11
#define SD_MISO 12
#define SD_SCK 13
#define SPI_SPEED SD_SCK_MHZ(16) // adjust to sd card
// SDClasses
const char *sd_str[]={"sdio","sd0"}; // edit to reflect your configuration
const int cs[] = {BUILTIN_SDCARD, 4}; // edit to reflect your configuration
const int nsd = sizeof(cs)/sizeof(int);
SDClass sdx[nsd];
//LittleFS classes
#if HAVE_LITTLEFS==1
#include "LittleFS.h"
#define USE_RAM 1
const char *ram_str[]={"RAM1"}; // edit to reflect your configuration
const int ram_size[] = {4'000'000};
const int ram_nsd = sizeof(ram_size)/sizeof(int);
LittleFS_RAM ramfs[ram_nsd]; // needs to be declared if LittleFS is used in storage.h
#define USE_SPI 1
const char *spi_str[]={"PROPSHIELD", "WINBOND"}; // edit to reflect your configuration
const int spi_cs[] = {6, 10}; // edit to reflect your configuration
const int spi_nsd = sizeof(spi_cs)/sizeof(int);
LittleFS_SPIFlash spifs[spi_nsd]; // needs to be declared if LittleFS is used in storage.h
#define USE_QSPI 1
const char *qspi_str[]={"QSPI0"}; // edit to reflect your configuration
const int qspi_nsd = 1;
LittleFS_QSPIFlash qspifs[qspi_nsd]; // needs to be declared if LittleFS is used in storage.h
#endif
MTPStorage_SD storage;
MTPD mtpd(&storage);
void storage_configure()
{
#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)
{
if(!sdx[ii].sdfs.begin(SdioConfig(FIFO_SDIO))) {Serial.println("No storage"); while(1);};
storage.addFilesystem(sdx[ii], sd_str[ii]);
}
else if(cs[ii]<BUILTIN_SDCARD)
{
pinMode(cs[ii],OUTPUT); digitalWriteFast(cs[ii],HIGH);
if(!sdx[ii].sdfs.begin(SdSpiConfig(cs[ii], SHARED_SPI, SPI_SPEED))) {Serial.println("No storage"); while(1);}
storage.addFilesystem(sdx[ii], sd_str[ii]);
}
uint64_t totalSize = sdx[ii].totalSize();
uint64_t usedSize = sdx[ii].usedSize();
Serial.printf("Storage %d %d %s ",ii,cs[ii],sd_str[ii]); Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
}
#if HAVE_LITTLEFS==1
#if USE_RAM == 1
for(int ii=0; ii<ram_nsd;ii++)
{
{ if(!ramfs[ii].begin(ram_size[ii])) { Serial.println("No storage"); while(1);}
storage.addFilesystem(ramfs[ii], ram_str[ii]);
}
uint64_t totalSize = ramfs[ii].totalSize();
uint64_t usedSize = ramfs[ii].usedSize();
Serial.printf("Storage %d %s ",ii,ram_str[ii]); Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
}
#endif
#if USE_SPI == 1
for(int ii=0; ii<spi_nsd;ii++) {
pinMode(spi_cs[ii],OUTPUT); digitalWriteFast(cs[ii],HIGH);
if(!spifs[ii].begin(spi_cs[ii], SPI)) {Serial.println("No storage"); while(1);}
storage.addFilesystem(spifs[ii], spi_str[ii]);
uint64_t totalSize = spifs[ii].totalSize();
uint64_t usedSize = spifs[ii].usedSize();
Serial.printf("Storage %d %d %s ",ii,spi_cs[ii],spi_str[ii]); Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
}
#endif
#if USE_QSPI == 1
for(int ii=0; ii<qspi_nsd;ii++) {
if(!qspifs[ii].begin()) {Serial.println("No storage"); while(1);}
storage.addFilesystem(qspifs[ii], qspi_str[ii]);
uint64_t totalSize = qspifs[ii].totalSize();
uint64_t usedSize = qspifs[ii].usedSize();
Serial.printf("Storage %d %s ",ii,qspi_str[ii]); Serial.print(totalSize); Serial.print(" "); Serial.println(usedSize);
}
#endif
#endif
}
/**** End of device specific change area ****/
// Call back for file timestamps. Only called for file create and sync(). needed by SDFat-beta
#include "TimeLib.h"
void dateTime(uint16_t* date, uint16_t* time, uint8_t* ms10)
{ *date = FS_DATE(year(), month(), day());
*time = FS_TIME(hour(), minute(), second());
*ms10 = second() & 1 ? 100 : 0;
}
void logg(uint32_t del, const char *txt)
{ static uint32_t to;
if(millis()-to > del)
{
Serial.println(txt);
to=millis();
}
}
void setup()
{
while(!Serial);
Serial.println("MTP_test");
// Set Time callback // needed for SDFat-beta
FsDateTime::callback = dateTime;
usb_mtp_configure();
storage_configure();
#if HAVE_LITTLEFS==1
// store some files into disks (but only once)
for(int ii=0; ii<10;ii++)
{ char filename[80];
sprintf(filename,"test_%d.txt",ii);
if(!ramfs[0].exists(filename))
{
File file=ramfs[0].open(filename,FILE_WRITE_BEGIN);
file.println("This is a test line");
file.close();
}
}
#endif
const char *str = "test1.txt";
if(sdx[0].exists(str)) sdx[0].remove(str);
File file=sdx[0].open(str,FILE_WRITE_BEGIN);
file.println("This is a test line");
file.close();
Serial.println("\n**** dir of sd[0] ****");
sdx[0].sdfs.ls();
Serial.println();
Serial.println("Setup done");
Serial.flush();
}
void loop()
{
mtpd.loop();
//logg(1000,"loop");
//asm("wfi"); // may wait forever on T4.x
}
@WMXZ.
Just did a little testing using 2 SD cards (internal and External), 1 RAM disk, 2 SPIFlash, and 1 QSPI. Just tested some basic MTP functions like copy/paste, delete etc from windows explorer. For the most part this is what I found:
Code:Copy/Pasting 1. [COLOR="#FF0000"]Between devices on Teensy fails and hangs from doing anything else.[/COLOR] 2. [COLOR="#FF0000"]Disabling and enabling does not work. Can do it but Teensy does not show up in Win Explorer after re-enabling[/COLOR] 3. Copying from PC to devices works for a txt and imgs. Tested with a PDF buf funny same [COLOR="#FF0000"]PDF copied to 5 devices sucessfully and opened correct but when copied to the 6 (propshield flash) failed and lost Propshield in Explorer. When I restared T4.1 file did actually copy to Propshield.[/COLOR]. May just have been a glitch. 4. Coping from all devices worked for me. Deleting 1. Able to delete files from all devices 2. Can do multiple file deletions 3.[COLOR="#FF0000"] Can not delete a directory with files in it. Have to delete files first. This was on the SD Cards (external and Internal). [/COLOR] [B]However it does work on qspi, ram and SPI flash [/B] Move - Create Directory - Rename 1. Created a directory on each device and renamed it successfully. 2. After creating a directory moved a file from that device into the newly created directory no issue 3. Restarted and everything was where it was created. 4. Also copied file from desktop into sub directory auccessfully
OK, to the red points
I will look into them
-copying works only from and to Teensy. (MTP calls that get and send, teensy should say PC failed, have never tested failing operation, was happy if something is not failing)
-Disabling and enabling Teensy with device manager is working for me to refresh (at least when I did it). but it is a very bad workaround to clean-up index file.
The problem with MTP is that it designed to remember and Responder (Teensy) cannot take initiative. So question is how to tell PC to close and reopen a session.
one needs a windows bat file to close and reopen session
- deleting directories. I had a problems with that code so I need to work on it. One problem is different devices all have root objects and MTP server (initiator) labels all roots with -1. Code originally written by @hubbe was dealing with a single storage
If you go into MTP.cpp at the top define DEGUG to 1 then Terminal will send you all commands and replies over serial. The first word is always a teensy command or answerBut was thinking that if I reclick on Teensy (the device) what command get sent, and if you could use that to rescan the roots with scandir. Or what happens if the refresh button is hit - does it send anything back?
If you go into MTP.cpp at the top define DEGUG to 1 then Terminal will send you all commands and replies over serial. The first word is always a teensy command or answer
To see what it does go to MTP::loop
MTP_test
After usb_mtp_configure
Storage 0 254 sdio 264289280 53494784
Storage 1 4 sd0 64055410688 1703936
Storage 0 RAM1 4000000 512
Storage 0 6 PROPSHIELD 8388608 8192
Storage 0 QSPI0 16777216 552960
After storage_configure
**** dir of sd[0] ****
overlays/
kernel7.img
mtpindex.dat
kernel.img
bcm2710-rpi-3-b-plus.dtb
test1.txt
kernel7l.img
kernel8.img
bcm2708-rpi-b-plus.dtb
issue.txt
bcm2708-rpi-b.dtb
bcm2708-rpi-cm.dtb
bcm2708-rpi-zero-w.dtb
bcm2708-rpi-zero.dtb
bcm2709-rpi-2-b.dtb
bcm2710-rpi-2-b.dtb
start_cd.elf
start.elf
cmdline.txt
config.txt
bcm2710-rpi-3-b.dtb
bcm2710-rpi-cm3.dtb
bcm2711-rpi-4-b.dtb
COPYING.linux
start_db.elf
start_x.elf
fixup.dat
fixup_cd.dat
fixup_db.dat
fixup_x.dat
bootcode.bin
start4.elf
start4cd.elf
start4db.elf
start4x.elf
fixup4.dat
fixup4cd.dat
fixup4db.dat
fixup4x.dat
LICENCE.broadcom
Setup done
1002 16 1 0: 1 0 0
2001 16 3 0: 1 0 0
1001 12 1 1: 1 0 0
2001 12 3 1: 0 0 0
1014 16 1 2: d402 0 0
2001 16 3 2: d402 0 0
1004 12 1 3: d402 0 0
2001 12 3 3: d402 0 0
1005 16 1 4: 1 0 0
2001 16 3 4: 1 0 0
1005 16 1 5: 2 0 0
2001 16 3 5: 2 0 0
1005 16 1 6: 3 0 0
2001 16 3 6: 3 0 0
1005 16 1 7: 4 0 0
2001 16 3 7: 4 0 0
1005 16 1 8: 5 0 0
2001 16 3 8: 5 0 0
9801 16 1 9: 3000 0 0
2001 16 3 9: 3000 0 0
9801 16 1 10: 3001 0 0
2001 16 3 10: 3001 0 0
1007 24 1 11: 1 0 ffffffff
2001 24 3 11: 1 0 ffffffff
9803 20 1 12: 2d dc02 ffffffff
2001 20 3 12: 2d dc02 ffffffff
9802 20 1 13: dc03 3000 ffffffff
2001 20 3 13: dc03 3000 ffffffff
9803 20 1 14: 2d dc03 ffffffff
2001 20 3 14: 2d dc03 ffffffff
9802 20 1 15: dc04 3000 ffffffff
2001 20 3 15: dc04 3000 ffffffff
9803 20 1 16: 2d dc04 ffffffff
2001 20 3 16: 2d dc04 ffffffff
1008 16 1 17: 2d dc04 ffffffff
2001 16 3 17: 2d dc04 ffffffff
9802 20 1 18: dc01 3000 ffffffff
2001 20 3 18: dc01 3000 ffffffff
9803 20 1 19: 2d dc01 ffffffff
2001 20 3 19: 2d dc01 ffffffff
9802 20 1 20: dc07 3000 ffffffff
2001 20 3 20: dc07 3000 ffffffff
9803 20 1 21: 2d dc07 ffffffff
2001 20 3 21: 2d dc07 ffffffff
9802 20 1 22: dc41 3000 ffffffff
2001 20 3 22: dc41 3000 ffffffff
9803 20 1 23: 2d dc41 ffffffff
2001 20 3 23: 2d dc41 ffffffff
9802 20 1 24: dc44 3000 ffffffff
2001 20 3 24: dc44 3000 ffffffff
9803 20 1 25: 2d dc44 ffffffff
2001 20 3 25: 2d dc44 ffffffff
9803 20 1 26: 2c dc02 ffffffff
2001 20 3 26: 2c dc02 ffffffff
9803 20 1 27: 2c dc03 ffffffff
2001 20 3 27: 2c dc03 ffffffff
9803 20 1 28: 2c dc04 ffffffff
2001 20 3 28: 2c dc04 ffffffff
1008 16 1 29: 2c dc04 ffffffff
2001 16 3 29: 2c dc04 ffffffff
9803 20 1 30: 2c dc01 ffffffff
2001 20 3 30: 2c dc01 ffffffff
9803 20 1 31: 2c dc07 ffffffff
2001 20 3 31: 2c dc07 ffffffff
9803 20 1 32: 2c dc41 ffffffff
2001 20 3 32: 2c dc41 ffffffff
9803 20 1 33: 2c dc44 ffffffff
2001 20 3 33: 2c dc44 ffffffff
9803 20 1 34: 2b dc02 ffffffff
2001 20 3 34: 2b dc02 ffffffff
9803 20 1 35: 2b dc03 ffffffff
2001 20 3 35: 2b dc03 ffffffff
9803 20 1 36: 2b dc04 ffffffff
2001 20 3 36: 2b dc04 ffffffff
1008 16 1 37: 2b dc04 ffffffff
2001 16 3 37: 2b dc04 ffffffff
9803 20 1 38: 2b dc01 ffffffff
2001 20 3 38: 2b dc01 ffffffff
9803 20 1 39: 2b dc07 ffffffff
2001 20 3 39: 2b dc07 ffffffff
9803 20 1 40: 2b dc41 ffffffff
2001 20 3 40: 2b dc41 ffffffff
9803 20 1 41: 2b dc44 ffffffff
2001 20 3 41: 2b dc44 ffffffff
9803 20 1 42: 2a dc02 ffffffff
2001 20 3 42: 2a dc02 ffffffff
9803 20 1 43: 2a dc03 ffffffff
2001 20 3 43: 2a dc03 ffffffff
9803 20 1 44: 2a dc04 ffffffff
2001 20 3 44: 2a dc04 ffffffff
1008 16 1 45: 2a dc04 ffffffff
2001 16 3 45: 2a dc04 ffffffff
9803 20 1 46: 2a dc01 ffffffff
2001 20 3 46: 2a dc01 ffffffff
9803 20 1 47: 2a dc07 ffffffff
2001 20 3 47: 2a dc07 ffffffff
9803 20 1 48: 2a dc41 ffffffff
2001 20 3 48: 2a dc41 ffffffff
9803 20 1 49: 2a dc44 ffffffff
2001 20 3 49: 2a dc44 ffffffff
9803 20 1 50: 29 dc02 ffffffff
2001 20 3 50: 29 dc02 ffffffff
9802 20 1 51: dc03 3001 ffffffff
2001 20 3 51: dc03 3001 ffffffff
9803 20 1 52: 29 dc03 ffffffff
2001 20 3 52: 29 dc03 ffffffff
9802 20 1 53: dc04 3001 ffffffff
2001 20 3 53: dc04 3001 ffffffff
9803 20 1 54: 29 dc04 ffffffff
2001 20 3 54: 29 dc04 ffffffff
1008 16 1 55: 29 dc04 ffffffff
2001 16 3 55: 29 dc04 ffffffff
9802 20 1 56: dc01 3001 ffffffff
2001 20 3 56: dc01 3001 ffffffff
9803 20 1 57: 29 dc01 ffffffff
2001 20 3 57: 29 dc01 ffffffff
9802 20 1 58: dc07 3001 ffffffff
2001 20 3 58: dc07 3001 ffffffff
9803 20 1 59: 29 dc07 ffffffff
2001 20 3 59: 29 dc07 ffffffff
9802 20 1 60: dc41 3001 ffffffff
2001 20 3 60: dc41 3001 ffffffff
9803 20 1 61: 29 dc41 ffffffff
2001 20 3 61: 29 dc41 ffffffff
9802 20 1 62: dc44 3001 ffffffff
2001 20 3 62: dc44 3001 ffffffff
9803 20 1 63: 29 dc44 ffffffff
2001 20 3 63: 29 dc44 ffffffff
9803 20 1 64: 28 dc02 ffffffff
2001 20 3 64: 28 dc02 ffffffff
9803 20 1 65: 28 dc03 ffffffff
2001 20 3 65: 28 dc03 ffffffff
9803 20 1 66: 28 dc04 ffffffff
2001 20 3 66: 28 dc04 ffffffff
1008 16 1 67: 28 dc04 ffffffff
2001 16 3 67: 28 dc04 ffffffff
9803 20 1 68: 28 dc01 ffffffff
2001 20 3 68: 28 dc01 ffffffff
9803 20 1 69: 28 dc07 ffffffff
2001 20 3 69: 28 dc07 ffffffff
9803 20 1 70: 28 dc41 ffffffff
2001 20 3 70: 28 dc41 ffffffff
9803 20 1 71: 28 dc44 ffffffff
2001 20 3 71: 28 dc44 ffffffff
9803 20 1 72: 27 dc02 ffffffff
2001 20 3 72: 27 dc02 ffffffff
9803 20 1 73: 27 dc03 ffffffff
2001 20 3 73: 27 dc03 ffffffff
9803 20 1 74: 27 dc04 ffffffff
2001 20 3 74: 27 dc04 ffffffff
1008 16 1 75: 27 dc04 ffffffff
2001 16 3 75: 27 dc04 ffffffff
9803 20 1 76: 27 dc01 ffffffff
2001 20 3 76: 27 dc01 ffffffff
9803 20 1 77: 27 dc07 ffffffff
2001 20 3 77: 27 dc07 ffffffff
9803 20 1 78: 27 dc41 ffffffff
2001 20 3 78: 27 dc41 ffffffff
9803 20 1 79: 27 dc44 ffffffff
2001 20 3 79: 27 dc44 ffffffff
9803 20 1 80: 26 dc02 ffffffff
2001 20 3 80: 26 dc02 ffffffff
9803 20 1 81: 26 dc03 ffffffff
2001 20 3 81: 26 dc03 ffffffff
9803 20 1 82: 26 dc04 ffffffff
2001 20 3 82: 26 dc04 ffffffff
1008 16 1 83: 26 dc04 ffffffff
2001 16 3 83: 26 dc04 ffffffff
9803 20 1 84: 26 dc01 ffffffff
2001 20 3 84: 26 dc01 ffffffff
9803 20 1 85: 26 dc07 ffffffff
2001 20 3 85: 26 dc07 ffffffff
9803 20 1 86: 26 dc41 ffffffff
2001 20 3 86: 26 dc41 ffffffff
9803 20 1 87: 26 dc44 ffffffff
2001 20 3 87: 26 dc44 ffffffff
9803 20 1 88: 25 dc02 ffffffff
2001 20 3 88: 25 dc02 ffffffff
9803 20 1 89: 25 dc03 ffffffff
2001 20 3 89: 25 dc03 ffffffff
9803 20 1 90: 25 dc04 ffffffff
2001 20 3 90: 25 dc04 ffffffff
1008 16 1 91: 25 dc04 ffffffff
2001 16 3 91: 25 dc04 ffffffff
9803 20 1 92: 25 dc01 ffffffff
2001 20 3 92: 25 dc01 ffffffff
9803 20 1 93: 25 dc07 ffffffff
2001 20 3 93: 25 dc07 ffffffff
9803 20 1 94: 25 dc41 ffffffff
2001 20 3 94: 25 dc41 ffffffff
9803 20 1 95: 25 dc44 ffffffff
2001 20 3 95: 25 dc44 ffffffff
9803 20 1 96: 24 dc02 ffffffff
2001 20 3 96: 24 dc02 ffffffff
9803 20 1 97: 24 dc03 ffffffff
2001 20 3 97: 24 dc03 ffffffff
9803 20 1 98: 24 dc04 ffffffff
2001 20 3 98: 24 dc04 ffffffff
1008 16 1 99: 24 dc04 ffffffff
2001 16 3 99: 24 dc04 ffffffff
9803 20 1 100: 24 dc01 ffffffff
2001 20 3 100: 24 dc01 ffffffff
9803 20 1 101: 24 dc07 ffffffff
2001 20 3 101: 24 dc07 ffffffff
9803 20 1 102: 24 dc41 ffffffff
2001 20 3 102: 24 dc41 ffffffff
9803 20 1 103: 24 dc44 ffffffff
2001 20 3 103: 24 dc44 ffffffff
9803 20 1 104: 23 dc02 ffffffff
2001 20 3 104: 23 dc02 ffffffff
9803 20 1 105: 23 dc03 ffffffff
2001 20 3 105: 23 dc03 ffffffff
9803 20 1 106: 23 dc04 ffffffff
2001 20 3 106: 23 dc04 ffffffff
1008 16 1 107: 23 dc04 ffffffff
2001 16 3 107: 23 dc04 ffffffff
9803 20 1 108: 23 dc01 ffffffff
2001 20 3 108: 23 dc01 ffffffff
9803 20 1 109: 23 dc07 ffffffff
2001 20 3 109: 23 dc07 ffffffff
9803 20 1 110: 23 dc41 ffffffff
2001 20 3 110: 23 dc41 ffffffff
9803 20 1 111: 23 dc44 ffffffff
2001 20 3 111: 23 dc44 ffffffff
9803 20 1 112: 22 dc02 ffffffff
2001 20 3 112: 22 dc02 ffffffff
9803 20 1 113: 22 dc03 ffffffff
2001 20 3 113: 22 dc03 ffffffff
9803 20 1 114: 22 dc04 ffffffff
2001 20 3 114: 22 dc04 ffffffff
1008 16 1 115: 22 dc04 ffffffff
2001 16 3 115: 22 dc04 ffffffff
9803 20 1 116: 22 dc01 ffffffff
2001 20 3 116: 22 dc01 ffffffff
9803 20 1 117: 22 dc07 ffffffff
2001 20 3 117: 22 dc07 ffffffff
9803 20 1 118: 22 dc41 ffffffff
2001 20 3 118: 22 dc41 ffffffff
9803 20 1 119: 22 dc44 ffffffff
2001 20 3 119: 22 dc44 ffffffff
9803 20 1 120: 21 dc02 ffffffff
2001 20 3 120: 21 dc02 ffffffff
9803 20 1 121: 21 dc03 ffffffff
2001 20 3 121: 21 dc03 ffffffff
9803 20 1 122: 21 dc04 ffffffff
2001 20 3 122: 21 dc04 ffffffff
1008 16 1 123: 21 dc04 ffffffff
2001 16 3 123: 21 dc04 ffffffff
9803 20 1 124: 21 dc01 ffffffff
2001 20 3 124: 21 dc01 ffffffff
9803 20 1 125: 21 dc07 ffffffff
2001 20 3 125: 21 dc07 ffffffff
9803 20 1 126: 21 dc41 ffffffff
2001 20 3 126: 21 dc41 ffffffff
9803 20 1 127: 21 dc44 ffffffff
2001 20 3 127: 21 dc44 ffffffff
9803 20 1 128: 20 dc02 ffffffff
2001 20 3 128: 20 dc02 ffffffff
9803 20 1 129: 20 dc03 ffffffff
2001 20 3 129: 20 dc03 ffffffff
9803 20 1 130: 20 dc04 ffffffff
2001 20 3 130: 20 dc04 ffffffff
1008 16 1 131: 20 dc04 ffffffff
2001 16 3 131: 20 dc04 ffffffff
9803 20 1 132: 20 dc01 ffffffff
2001 20 3 132: 20 dc01 ffffffff
9803 20 1 133: 20 dc07 ffffffff
2001 20 3 133: 20 dc07 ffffffff
9803 20 1 134: 20 dc41 ffffffff
2001 20 3 134: 20 dc41 ffffffff
9803 20 1 135: 20 dc44 ffffffff
2001 20 3 135: 20 dc44 ffffffff
9803 20 1 136: 1f dc02 ffffffff
2001 20 3 136: 1f dc02 ffffffff
9803 20 1 137: 1f dc03 ffffffff
2001 20 3 137: 1f dc03 ffffffff
9803 20 1 138: 1f dc04 ffffffff
2001 20 3 138: 1f dc04 ffffffff
1008 16 1 139: 1f dc04 ffffffff
2001 16 3 139: 1f dc04 ffffffff
9803 20 1 140: 1f dc01 ffffffff
2001 20 3 140: 1f dc01 ffffffff
9803 20 1 141: 1f dc07 ffffffff
2001 20 3 141: 1f dc07 ffffffff
9803 20 1 142: 1f dc41 ffffffff
2001 20 3 142: 1f dc41 ffffffff
9803 20 1 143: 1f dc44 ffffffff
2001 20 3 143: 1f dc44 ffffffff
9803 20 1 144: 1e dc02 ffffffff
2001 20 3 144: 1e dc02 ffffffff
9803 20 1 145: 1e dc03 ffffffff
2001 20 3 145: 1e dc03 ffffffff
9803 20 1 146: 1e dc04 ffffffff
2001 20 3 146: 1e dc04 ffffffff
1008 16 1 147: 1e dc04 ffffffff
2001 16 3 147: 1e dc04 ffffffff
9803 20 1 148: 1e dc01 ffffffff
2001 20 3 148: 1e dc01 ffffffff
9803 20 1 149: 1e dc07 ffffffff
2001 20 3 149: 1e dc07 ffffffff
9803 20 1 150: 1e dc41 ffffffff
2001 20 3 150: 1e dc41 ffffffff
9803 20 1 151: 1e dc44 ffffffff
2001 20 3 151: 1e dc44 ffffffff
9803 20 1 152: 1d dc02 ffffffff
2001 20 3 152: 1d dc02 ffffffff
9803 20 1 153: 1d dc03 ffffffff
2001 20 3 153: 1d dc03 ffffffff
9803 20 1 154: 1d dc04 ffffffff
2001 20 3 154: 1d dc04 ffffffff
1008 16 1 155: 1d dc04 ffffffff
2001 16 3 155: 1d dc04 ffffffff
9803 20 1 156: 1d dc01 ffffffff
2001 20 3 156: 1d dc01 ffffffff
9803 20 1 157: 1d dc07 ffffffff
2001 20 3 157: 1d dc07 ffffffff
9803 20 1 158: 1d dc41 ffffffff
2001 20 3 158: 1d dc41 ffffffff
9803 20 1 159: 1d dc44 ffffffff
2001 20 3 159: 1d dc44 ffffffff
9803 20 1 160: 1c dc02 ffffffff
2001 20 3 160: 1c dc02 ffffffff
9803 20 1 161: 1c dc03 ffffffff
2001 20 3 161: 1c dc03 ffffffff
9803 20 1 162: 1c dc04 ffffffff
2001 20 3 162: 1c dc04 ffffffff
1008 16 1 163: 1c dc04 ffffffff
2001 16 3 163: 1c dc04 ffffffff
9803 20 1 164: 1c dc01 ffffffff
2001 20 3 164: 1c dc01 ffffffff
9803 20 1 165: 1c dc07 ffffffff
2001 20 3 165: 1c dc07 ffffffff
9803 20 1 166: 1c dc41 ffffffff
2001 20 3 166: 1c dc41 ffffffff
9803 20 1 167: 1c dc44 ffffffff
2001 20 3 167: 1c dc44 ffffffff
9803 20 1 168: 1b dc02 ffffffff
2001 20 3 168: 1b dc02 ffffffff
9803 20 1 169: 1b dc03 ffffffff
2001 20 3 169: 1b dc03 ffffffff
9803 20 1 170: 1b dc04 ffffffff
2001 20 3 170: 1b dc04 ffffffff
1008 16 1 171: 1b dc04 ffffffff
2001 16 3 171: 1b dc04 ffffffff
9803 20 1 172: 1b dc01 ffffffff
2001 20 3 172: 1b dc01 ffffffff
9803 20 1 173: 1b dc07 ffffffff
2001 20 3 173: 1b dc07 ffffffff
9803 20 1 174: 1b dc41 ffffffff
2001 20 3 174: 1b dc41 ffffffff
9803 20 1 175: 1b dc44 ffffffff
2001 20 3 175: 1b dc44 ffffffff
9803 20 1 176: 1a dc02 ffffffff
2001 20 3 176: 1a dc02 ffffffff
9803 20 1 177: 1a dc03 ffffffff
2001 20 3 177: 1a dc03 ffffffff
9803 20 1 178: 1a dc04 ffffffff
2001 20 3 178: 1a dc04 ffffffff
1008 16 1 179: 1a dc04 ffffffff
2001 16 3 179: 1a dc04 ffffffff
9803 20 1 180: 1a dc01 ffffffff
2001 20 3 180: 1a dc01 ffffffff
9803 20 1 181: 1a dc07 ffffffff
2001 20 3 181: 1a dc07 ffffffff
9803 20 1 182: 1a dc41 ffffffff
2001 20 3 182: 1a dc41 ffffffff
9803 20 1 183: 1a dc44 ffffffff
2001 20 3 183: 1a dc44 ffffffff
9803 20 1 184: 19 dc02 ffffffff
2001 20 3 184: 19 dc02 ffffffff
9803 20 1 185: 19 dc03 ffffffff
2001 20 3 185: 19 dc03 ffffffff
9803 20 1 186: 19 dc04 ffffffff
2001 20 3 186: 19 dc04 ffffffff
1008 16 1 187: 19 dc04 ffffffff
2001 16 3 187: 19 dc04 ffffffff
9803 20 1 188: 19 dc01 ffffffff
2001 20 3 188: 19 dc01 ffffffff
9803 20 1 189: 19 dc07 ffffffff
2001 20 3 189: 19 dc07 ffffffff
9803 20 1 190: 19 dc41 ffffffff
2001 20 3 190: 19 dc41 ffffffff
9803 20 1 191: 19 dc44 ffffffff
2001 20 3 191: 19 dc44 ffffffff
9803 20 1 192: 18 dc02 ffffffff
2001 20 3 192: 18 dc02 ffffffff
9803 20 1 193: 18 dc03 ffffffff
2001 20 3 193: 18 dc03 ffffffff
9803 20 1 194: 18 dc04 ffffffff
2001 20 3 194: 18 dc04 ffffffff
1008 16 1 195: 18 dc04 ffffffff
2001 16 3 195: 18 dc04 ffffffff
9803 20 1 196: 18 dc01 ffffffff
2001 20 3 196: 18 dc01 ffffffff
9803 20 1 197: 18 dc07 ffffffff
2001 20 3 197: 18 dc07 ffffffff
9803 20 1 198: 18 dc41 ffffffff
2001 20 3 198: 18 dc41 ffffffff
9803 20 1 199: 18 dc44 ffffffff
2001 20 3 199: 18 dc44 ffffffff
9803 20 1 200: 17 dc02 ffffffff
2001 20 3 200: 17 dc02 ffffffff
9803 20 1 201: 17 dc03 ffffffff
2001 20 3 201: 17 dc03 ffffffff
9803 20 1 202: 17 dc04 ffffffff
2001 20 3 202: 17 dc04 ffffffff
1008 16 1 203: 17 dc04 ffffffff
2001 16 3 203: 17 dc04 ffffffff
9803 20 1 204: 17 dc01 ffffffff
2001 20 3 204: 17 dc01 ffffffff
9803 20 1 205: 17 dc07 ffffffff
2001 20 3 205: 17 dc07 ffffffff
9803 20 1 206: 17 dc41 ffffffff
2001 20 3 206: 17 dc41 ffffffff
9803 20 1 207: 17 dc44 ffffffff
2001 20 3 207: 17 dc44 ffffffff
9803 20 1 208: 16 dc02 ffffffff
2001 20 3 208: 16 dc02 ffffffff
9803 20 1 209: 16 dc03 ffffffff
2001 20 3 209: 16 dc03 ffffffff
9803 20 1 210: 16 dc04 ffffffff
2001 20 3 210: 16 dc04 ffffffff
1008 16 1 211: 16 dc04 ffffffff
2001 16 3 211: 16 dc04 ffffffff
9803 20 1 212: 16 dc01 ffffffff
2001 20 3 212: 16 dc01 ffffffff
9803 20 1 213: 16 dc07 ffffffff
2001 20 3 213: 16 dc07 ffffffff
9803 20 1 214: 16 dc41 ffffffff
2001 20 3 214: 16 dc41 ffffffff
9803 20 1 215: 16 dc44 ffffffff
2001 20 3 215: 16 dc44 ffffffff
9803 20 1 216: 15 dc02 ffffffff
2001 20 3 216: 15 dc02 ffffffff
9803 20 1 217: 15 dc03 ffffffff
2001 20 3 217: 15 dc03 ffffffff
9803 20 1 218: 15 dc04 ffffffff
2001 20 3 218: 15 dc04 ffffffff
1008 16 1 219: 15 dc04 ffffffff
2001 16 3 219: 15 dc04 ffffffff
9803 20 1 220: 15 dc01 ffffffff
2001 20 3 220: 15 dc01 ffffffff
9803 20 1 221: 15 dc07 ffffffff
2001 20 3 221: 15 dc07 ffffffff
9803 20 1 222: 15 dc41 ffffffff
2001 20 3 222: 15 dc41 ffffffff
9803 20 1 223: 15 dc44 ffffffff
2001 20 3 223: 15 dc44 ffffffff
9803 20 1 224: 14 dc02 ffffffff
2001 20 3 224: 14 dc02 ffffffff
9803 20 1 225: 14 dc03 ffffffff
2001 20 3 225: 14 dc03 ffffffff
9803 20 1 226: 14 dc04 ffffffff
2001 20 3 226: 14 dc04 ffffffff
1008 16 1 227: 14 dc04 ffffffff
2001 16 3 227: 14 dc04 ffffffff
9803 20 1 228: 14 dc01 ffffffff
2001 20 3 228: 14 dc01 ffffffff
9803 20 1 229: 14 dc07 ffffffff
2001 20 3 229: 14 dc07 ffffffff
9803 20 1 230: 14 dc41 ffffffff
2001 20 3 230: 14 dc41 ffffffff
9803 20 1 231: 14 dc44 ffffffff
2001 20 3 231: 14 dc44 ffffffff
9803 20 1 232: 13 dc02 ffffffff
2001 20 3 232: 13 dc02 ffffffff
9803 20 1 233: 13 dc03 ffffffff
2001 20 3 233: 13 dc03 ffffffff
9803 20 1 234: 13 dc04 ffffffff
2001 20 3 234: 13 dc04 ffffffff
1008 16 1 235: 13 dc04 ffffffff
2001 16 3 235: 13 dc04 ffffffff
9803 20 1 236: 13 dc01 ffffffff
2001 20 3 236: 13 dc01 ffffffff
9803 20 1 237: 13 dc07 ffffffff
2001 20 3 237: 13 dc07 ffffffff
9803 20 1 238: 13 dc41 ffffffff
2001 20 3 238: 13 dc41 ffffffff
9803 20 1 239: 13 dc44 ffffffff
2001 20 3 239: 13 dc44 ffffffff
9803 20 1 240: 12 dc02 ffffffff
2001 20 3 240: 12 dc02 ffffffff
9803 20 1 241: 12 dc03 ffffffff
2001 20 3 241: 12 dc03 ffffffff
9803 20 1 242: 12 dc04 ffffffff
2001 20 3 242: 12 dc04 ffffffff
1008 16 1 243: 12 dc04 ffffffff
2001 16 3 243: 12 dc04 ffffffff
9803 20 1 244: 12 dc01 ffffffff
2001 20 3 244: 12 dc01 ffffffff
9803 20 1 245: 12 dc07 ffffffff
2001 20 3 245: 12 dc07 ffffffff
9803 20 1 246: 12 dc41 ffffffff
2001 20 3 246: 12 dc41 ffffffff
9803 20 1 247: 12 dc44 ffffffff
2001 20 3 247: 12 dc44 ffffffff
9803 20 1 248: 11 dc02 ffffffff
2001 20 3 248: 11 dc02 ffffffff
9803 20 1 249: 11 dc03 ffffffff
2001 20 3 249: 11 dc03 ffffffff
9803 20 1 250: 11 dc04 ffffffff
2001 20 3 250: 11 dc04 ffffffff
1008 16 1 251: 11 dc04 ffffffff
2001 16 3 251: 11 dc04 ffffffff
9803 20 1 252: 11 dc01 ffffffff
2001 20 3 252: 11 dc01 ffffffff
9803 20 1 253: 11 dc07 ffffffff
2001 20 3 253: 11 dc07 ffffffff
9803 20 1 254: 11 dc41 ffffffff
2001 20 3 254: 11 dc41 ffffffff
9803 20 1 255: 11 dc44 ffffffff
2001 20 3 255: 11 dc44 ffffffff
9803 20 1 256: 10 dc02 ffffffff
2001 20 3 256: 10 dc02 ffffffff
9803 20 1 257: 10 dc03 ffffffff
2001 20 3 257: 10 dc03 ffffffff
9803 20 1 258: 10 dc04 ffffffff
2001 20 3 258: 10 dc04 ffffffff
1008 16 1 259: 10 dc04 ffffffff
2001 16 3 259: 10 dc04 ffffffff
9803 20 1 260: 10 dc01 ffffffff
2001 20 3 260: 10 dc01 ffffffff
9803 20 1 261: 10 dc07 ffffffff
2001 20 3 261: 10 dc07 ffffffff
9803 20 1 262: 10 dc41 ffffffff
2001 20 3 262: 10 dc41 ffffffff
9803 20 1 263: 10 dc44 ffffffff
2001 20 3 263: 10 dc44 ffffffff
9803 20 1 264: f dc02 ffffffff
2001 20 3 264: f dc02 ffffffff
9803 20 1 265: f dc03 ffffffff
2001 20 3 265: f dc03 ffffffff
9803 20 1 266: f dc04 ffffffff
2001 20 3 266: f dc04 ffffffff
1008 16 1 267: f dc04 ffffffff
2001 16 3 267: f dc04 ffffffff
9803 20 1 268: f dc01 ffffffff
2001 20 3 268: f dc01 ffffffff
9803 20 1 269: f dc07 ffffffff
2001 20 3 269: f dc07 ffffffff
9803 20 1 270: f dc41 ffffffff
2001 20 3 270: f dc41 ffffffff
9803 20 1 271: f dc44 ffffffff
2001 20 3 271: f dc44 ffffffff
9803 20 1 272: e dc02 ffffffff
2001 20 3 272: e dc02 ffffffff
9803 20 1 273: e dc03 ffffffff
2001 20 3 273: e dc03 ffffffff
9803 20 1 274: e dc04 ffffffff
2001 20 3 274: e dc04 ffffffff
1008 16 1 275: e dc04 ffffffff
2001 16 3 275: e dc04 ffffffff
9803 20 1 276: e dc01 ffffffff
2001 20 3 276: e dc01 ffffffff
9803 20 1 277: e dc07 ffffffff
2001 20 3 277: e dc07 ffffffff
9803 20 1 278: e dc41 ffffffff
2001 20 3 278: e dc41 ffffffff
9803 20 1 279: e dc44 ffffffff
2001 20 3 279: e dc44 ffffffff
9803 20 1 280: d dc02 ffffffff
2001 20 3 280: d dc02 ffffffff
9803 20 1 281: d dc03 ffffffff
2001 20 3 281: d dc03 ffffffff
9803 20 1 282: d dc04 ffffffff
2001 20 3 282: d dc04 ffffffff
1008 16 1 283: d dc04 ffffffff
2001 16 3 283: d dc04 ffffffff
9803 20 1 284: d dc01 ffffffff
2001 20 3 284: d dc01 ffffffff
9803 20 1 285: d dc07 ffffffff
2001 20 3 285: d dc07 ffffffff
9803 20 1 286: d dc41 ffffffff
2001 20 3 286: d dc41 ffffffff
9803 20 1 287: d dc44 ffffffff
2001 20 3 287: d dc44 ffffffff
9803 20 1 288: c dc02 ffffffff
2001 20 3 288: c dc02 ffffffff
9803 20 1 289: c dc03 ffffffff
2001 20 3 289: c dc03 ffffffff
9803 20 1 290: c dc04 ffffffff
2001 20 3 290: c dc04 ffffffff
1008 16 1 291: c dc04 ffffffff
2001 16 3 291: c dc04 ffffffff
9803 20 1 292: c dc01 ffffffff
2001 20 3 292: c dc01 ffffffff
9803 20 1 293: c dc07 ffffffff
2001 20 3 293: c dc07 ffffffff
9803 20 1 294: c dc41 ffffffff
2001 20 3 294: c dc41 ffffffff
9803 20 1 295: c dc44 ffffffff
2001 20 3 295: c dc44 ffffffff
9803 20 1 296: b dc02 ffffffff
2001 20 3 296: b dc02 ffffffff
9803 20 1 297: b dc03 ffffffff
2001 20 3 297: b dc03 ffffffff
9803 20 1 298: b dc04 ffffffff
2001 20 3 298: b dc04 ffffffff
1008 16 1 299: b dc04 ffffffff
2001 16 3 299: b dc04 ffffffff
9803 20 1 300: b dc01 ffffffff
2001 20 3 300: b dc01 ffffffff
9803 20 1 301: b dc07 ffffffff
2001 20 3 301: b dc07 ffffffff
9803 20 1 302: b dc41 ffffffff
2001 20 3 302: b dc41 ffffffff
9803 20 1 303: b dc44 ffffffff
2001 20 3 303: b dc44 ffffffff
9803 20 1 304: a dc02 ffffffff
2001 20 3 304: a dc02 ffffffff
9803 20 1 305: a dc03 ffffffff
2001 20 3 305: a dc03 ffffffff
9803 20 1 306: a dc04 ffffffff
2001 20 3 306: a dc04 ffffffff
1008 16 1 307: a dc04 ffffffff
2001 16 3 307: a dc04 ffffffff
9803 20 1 308: a dc01 ffffffff
2001 20 3 308: a dc01 ffffffff
9803 20 1 309: a dc07 ffffffff
2001 20 3 309: a dc07 ffffffff
9803 20 1 310: a dc41 ffffffff
2001 20 3 310: a dc41 ffffffff
9803 20 1 311: a dc44 ffffffff
2001 20 3 311: a dc44 ffffffff
9803 20 1 312: 9 dc02 ffffffff
2001 20 3 312: 9 dc02 ffffffff
9803 20 1 313: 9 dc03 ffffffff
2001 20 3 313: 9 dc03 ffffffff
9803 20 1 314: 9 dc04 ffffffff
2001 20 3 314: 9 dc04 ffffffff
1008 16 1 315: 9 dc04 ffffffff
2001 16 3 315: 9 dc04 ffffffff
9803 20 1 316: 9 dc01 ffffffff
2001 20 3 316: 9 dc01 ffffffff
9803 20 1 317: 9 dc07 ffffffff
2001 20 3 317: 9 dc07 ffffffff
9803 20 1 318: 9 dc41 ffffffff
2001 20 3 318: 9 dc41 ffffffff
9803 20 1 319: 9 dc44 ffffffff
2001 20 3 319: 9 dc44 ffffffff
9803 20 1 320: 8 dc02 ffffffff
2001 20 3 320: 8 dc02 ffffffff
9803 20 1 321: 8 dc03 ffffffff
2001 20 3 321: 8 dc03 ffffffff
9803 20 1 322: 8 dc04 ffffffff
2001 20 3 322: 8 dc04 ffffffff
1008 16 1 323: 8 dc04 ffffffff
2001 16 3 323: 8 dc04 ffffffff
9803 20 1 324: 8 dc01 ffffffff
2001 20 3 324: 8 dc01 ffffffff
9803 20 1 325: 8 dc07 ffffffff
2001 20 3 325: 8 dc07 ffffffff
9803 20 1 326: 8 dc41 ffffffff
2001 20 3 326: 8 dc41 ffffffff
9803 20 1 327: 8 dc44 ffffffff
2001 20 3 327: 8 dc44 ffffffff
9803 20 1 328: 7 dc02 ffffffff
2001 20 3 328: 7 dc02 ffffffff
9803 20 1 329: 7 dc03 ffffffff
2001 20 3 329: 7 dc03 ffffffff
9803 20 1 330: 7 dc04 ffffffff
2001 20 3 330: 7 dc04 ffffffff
1008 16 1 331: 7 dc04 ffffffff
2001 16 3 331: 7 dc04 ffffffff
9803 20 1 332: 7 dc01 ffffffff
2001 20 3 332: 7 dc01 ffffffff
9803 20 1 333: 7 dc07 ffffffff
2001 20 3 333: 7 dc07 ffffffff
9803 20 1 334: 7 dc41 ffffffff
2001 20 3 334: 7 dc41 ffffffff
9803 20 1 335: 7 dc44 ffffffff
2001 20 3 335: 7 dc44 ffffffff
9803 20 1 336: 6 dc02 ffffffff
2001 20 3 336: 6 dc02 ffffffff
9803 20 1 337: 6 dc03 ffffffff
2001 20 3 337: 6 dc03 ffffffff
9803 20 1 338: 6 dc04 ffffffff
2001 20 3 338: 6 dc04 ffffffff
1008 16 1 339: 6 dc04 ffffffff
2001 16 3 339: 6 dc04 ffffffff
9803 20 1 340: 6 dc01 ffffffff
2001 20 3 340: 6 dc01 ffffffff
9803 20 1 341: 6 dc07 ffffffff
2001 20 3 341: 6 dc07 ffffffff
9803 20 1 342: 6 dc41 ffffffff
2001 20 3 342: 6 dc41 ffffffff
9803 20 1 343: 6 dc44 ffffffff
2001 20 3 343: 6 dc44 ffffffff
9803 20 1 344: 5 dc02 ffffffff
2001 20 3 344: 5 dc02 ffffffff
9803 20 1 345: 5 dc03 ffffffff
2001 20 3 345: 5 dc03 ffffffff
9803 20 1 346: 5 dc04 ffffffff
2001 20 3 346: 5 dc04 ffffffff
1008 16 1 347: 5 dc04 ffffffff
2001 16 3 347: 5 dc04 ffffffff
9803 20 1 348: 5 dc01 ffffffff
2001 20 3 348: 5 dc01 ffffffff
9803 20 1 349: 5 dc07 ffffffff
2001 20 3 349: 5 dc07 ffffffff
9803 20 1 350: 5 dc41 ffffffff
2001 20 3 350: 5 dc41 ffffffff
9803 20 1 351: 5 dc44 ffffffff
2001 20 3 351: 5 dc44 ffffffff
100c 20 1 352: 1 ffffffff ffffffff
2001 24 3 352: 1 ffffffff 2e
100d 12 1 353: 0 3000 60109
2001 12 3 353: 0 dae819fe 7679a24d
9803 20 1 354: 2e dc02 7679a24d
2001 20 3 354: 2e dc02 7679a24d
9803 20 1 355: 2e dc01 7679a24d
2001 20 3 355: 2e dc01 7679a24d
9803 20 1 356: 2e dc07 7679a24d
2001 20 3 356: 2e dc07 7679a24d
9802 20 1 357: dc0b 3000 7679a24d
2001 20 3 357: dc0b 3000 7679a24d
9803 20 1 358: 2e dc0b 7679a24d
2001 20 3 358: 2e dc0b 7679a24d
9803 20 1 359: 2e dc41 7679a24d
2001 20 3 359: 2e dc41 7679a24d
9803 20 1 360: 2e dc44 7679a24d
2001 20 3 360: 2e dc44 7679a24d
9803 20 1 361: 2e dc03 7679a24d
2001 20 3 361: 2e dc03 7679a24d
9803 20 1 362: 2e dc04 7679a24d
2001 20 3 362: 2e dc04 7679a24d
1008 16 1 363: 2e dc04 7679a24d
2001 16 3 363: 2e dc04 7679a24d
1005 16 1 364: 1 dc04 7679a24d
2001 16 3 364: 1 dc04 7679a24d
100c 20 1 365: 1 ffffffff 7679a24d
2001 24 3 365: 1 ffffffff 2f
100d 12 1 366: 0 3000 5321e
2001 12 3 366: 0 8aa228 8aa228
9803 20 1 367: 2f dc02 8aa228
2001 20 3 367: 2f dc02 8aa228
9803 20 1 368: 2f dc01 8aa228
2001 20 3 368: 2f dc01 8aa228
9803 20 1 369: 2f dc07 8aa228
2001 20 3 369: 2f dc07 8aa228
9803 20 1 370: 2f dc0b 8aa228
2001 20 3 370: 2f dc0b 8aa228
9803 20 1 371: 2f dc41 8aa228
2001 20 3 371: 2f dc41 8aa228
9803 20 1 372: 2f dc44 8aa228
2001 20 3 372: 2f dc44 8aa228
9803 20 1 373: 2f dc03 8aa228
2001 20 3 373: 2f dc03 8aa228
9803 20 1 374: 2f dc04 8aa228
2001 20 3 374: 2f dc04 8aa228
1008 16 1 375: 2f dc04 8aa228
2001 16 3 375: 2f dc04 8aa228
1005 16 1 376: 1 dc04 8aa228
2001 16 3 376: 1 dc04 8aa228
Honestly, the same is here. But as it happened, I needed a multi disk MTP responder for an important project of mine.I do have have plenty of other distractions to play with
Before someone else discovers this:
Size of used disc space is only interrogated at the beginning of a MTP session.
Any PC to Teensy copy, deletion of files, does not change the "used disk space" indication in the initial file explorer window (at least on Windows)
My guess is there is some form of timing window or the like that we are hitting, where we are hitting something where we either hang or we miss an event.
Could be something like:
<Setup something in a queue that will trigger event>
<Clear event flag>
<Wait for event>
Where most the time not a problem as it takes some time for whatever it was you triggered to happen, but then once in awhile some other interrupt happens as you are triggering the event and so your event happens which sets the event flag which you then clear out...
Been bit by that sort of thing many times. We still have a similar issue with HardwareSerial and transmitterEnable pin. There is a timing window which can cause us to not have the transmitter enable enabled properly. So far have not found a fix for that one as it appears like the hardware knows that the queue is empty and transmit complete, but has not triggered it yet, we clear that state, but it then goes ahead and does the transmit complete interrupt... But that is a different topic, which I was supposed to remind @Paul about...
Is there any restriction on the length of filenames?