Teensyduino File System Integration, including MTP and MSC

@Paul @KurtE @mjs513 - Been working on updating mscFS.h/cpp. No luck yet. I have attached a zip file with the files below.

The compile error:
Code:
/home/wwatson/arduino-1.8.16/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=155 -DARDUINO=10816 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I/tmp/arduino_build_798727/pch -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/cores/teensy4 -I/home/wwatson/Arduino/libraries/UsbMscFat-main/src -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/USBHost_t36 -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SdFat/src -I/home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SPI /tmp/arduino_build_798727/sketch/listfilesUSB.ino.cpp -o /tmp/arduino_build_798727/sketch/listfilesUSB.ino.cpp.o
In file included from /home/wwatson/Arduino/libraries/UsbMscFat-main/examples/listfilesUSB/listfilesUSB.ino:14:0:
/home/wwatson/Arduino/libraries/UsbMscFat-main/src/mscFS.h:191:27: error: 'dateTime' has not been declared
   FsDateTime::setCallback(dateTime);
                           ^
/home/wwatson/Arduino/libraries/UsbMscFat-main/src/mscFS.h:191:35: warning: ISO C++ forbids declaration of 'setCallback' with no type [-fpermissive]
   FsDateTime::setCallback(dateTime);
                                   ^
/home/wwatson/Arduino/libraries/UsbMscFat-main/src/mscFS.h:191:35: error: invalid use of '::'
Using library UsbMscFat-main at version 1.0.0 in folder: /home/wwatson/Arduino/libraries/UsbMscFat-main 
Using library USBHost_t36 at version 0.1 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/USBHost_t36 
Using library SdFat at version 2.0.5-beta.1 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SdFat 
Using library SPI at version 1.0 in folder: /home/wwatson/arduino-1.8.16/hardware/teensy/avr/libraries/SPI 
Error compiling for board Teensy 4.1.

I am using the latest version of arduino and TD along with a brand new clean install of Ubuntu 20.04. Installed the updated cores and SD libraries. It seems like the compiler is not recognizing the dateTime() function? Probably missing something again:)

Pretty much did as you did but using MTP_t4 to test and having no problems compiling. As a matter of fact just copied your code changes for date and time - looked cleaner than mine. I can copy files to a USB drive and it retains its correct mod and create dates. If I create a new file or directory not working - keep getting 1/1/2021. So something up.
 
@wwatson
Just ran the listUSB.ino sketch - compiled no issues and ran:
Code:
Initializing USB MSC drive...initialization done.
mtpindex.dat                                      0    00:00  January 1, 2021
datalog.txt                                       455    00:00  January 1, 2021
ZED-F9P_InterfaceDescription_(UBX-18010854).pdf   3008805    19:56  February 15, 2021
Picture1.png                                      1037303    00:00  January 1, 2021
1809141331_Lyontek-Inc-LY68L6400SLIT_C261881.pdf  1439758    09:28  July 8, 2021
System Volume Information/
  WPSettings.dat                                  12    09:01  September 6, 2021
  IndexerVolumeGuid                               76    09:01  September 6, 2021
Telemetry Viewer_v1.jar                           1313268    00:00  January 1, 2021
done!

Maybe give my FS_Integration branch a try (you changes incorporated). https://github.com/mjs513/UsbMscFat/tree/FS_Integration
 
Yeah, something is up. I am using a version of @KurtE's UsbMscFat library 'UsbMscFat-main'. That is what I modified. Maybe I don't have the latest and greatest.
Guess I'll start experimenting.
Thanks...

Edit: Thanks for the link. I'll try that:)
 
Last edited:
Use the branch I pointed to - that has our latest changes. Or the FS_integration branch - never the main yet
 
@mjs513 - That works. Both listfiles.ino and DiskIOMB.ino are compiling without error. Thanks.
I want to start playing with MTP again. I know there were issues with Ubuntu and teensy_serialmon P#26. Has that been fixed yet?
 
@wwatson - glad its now working.
Not sure about Ubuntu - maybe @KurtE knows for sure but I thought some changes were made but I don't test with Ubuntu so don't remember
 
Once we complete more of the integration here, we need to test soon with both T4.x and T3.x to make sure we have the changes in both portions of the code.

Then I would like to also do testing on the Ubuntu as well. Will be curious to see how well that works. My earlier testing showed some interesting issues/limitations.
Like if you have 3 storages, they all show up as the same Name Teensy... And don't actually show you the storage name.

Also many/most of the events we posted back to Ubuntu like a new storage was added did not appear to do anything...
Lots to test
 
Two new T_4.1's running - looking to catch up here - will look at p#1 ,#2, #3 for updates on where to begin ...
... Note p#5 is there if another has value ...
 
@Paul @mjs513 @KurtE - Ok I'll hang tough:) I have been playing with FsInfo and SD SPI. Have some ideas to test.
 
Last edited:
When I write a file to a SD card and then put that card into reader connected to me Linux machine, the file modify times are off by several hours. Maybe Linux is reading the times as UTC and applying Pacific time zone before showing them? I haven't looked on Windows and MacOS yet.

Is anyone else seeing this?
 
@wwatson - @KurtE
Have something strange going on. Decided to instrument those new functions we added to see what was set or if an error occured.
Code:
	virtual bool getCreateTime(DateTimeFields &tm) {
		uint16_t fat_date, fat_time;
		if (!mscfatfile.getCreateDateTime(&fat_date, &fat_time))
		{
			Serial.println("/n===============getCreatTime Fail");
			return false;
		}
		tm.sec = FS_SECOND(fat_time);
		tm.min = FS_MINUTE(fat_time);
		tm.hour = FS_HOUR(fat_time);
		tm.mday = FS_DAY(fat_date);
		tm.mon = FS_MONTH(fat_date) - 1;
		tm.year = FS_YEAR(fat_date) - 1900;
		Serial.printf("============GCT: %d, %d, %d\n", FS_YEAR(fat_date) - 1900, FS_MONTH(fat_date) - 1, FS_DAY(fat_date));
		return true;
	}
	virtual bool getModifyTime(DateTimeFields &tm) {
		uint16_t fat_date, fat_time;
		if (!mscfatfile.getModifyDateTime(&fat_date, &fat_time))		{
			Serial.println("===================getModifyTime Fail");
			return false;
		}
		tm.sec = FS_SECOND(fat_time);
		tm.min = FS_MINUTE(fat_time);
		tm.hour = FS_HOUR(fat_time);
		tm.mday = FS_DAY(fat_date);
		tm.mon = FS_MONTH(fat_date) - 1;
		tm.year = FS_YEAR(fat_date) - 1900;
		Serial.printf("===============GMT: %d, %d, %d\n", FS_YEAR(fat_date) - 1900, FS_MONTH(fat_date) - 1, FS_DAY(fat_date));

		return true;
	}
	virtual bool setCreateTime(const DateTimeFields &tm) {
		if (tm.year < 80 || tm.year > 207)
		{
			Serial.println("==========setCreateTime Fail");
			return false;
		}
		Serial.printf("=================SCT: %d, %d, %d\n", tm.year + 1900, tm.mon + 1, tm.sec);

		return mscfatfile.timestamp(T_CREATE, tm.year + 1900, tm.mon + 1,
			tm.mday, tm.hour, tm.min, tm.sec);
	}
	virtual bool setModifyTime(const DateTimeFields &tm) {
		if (tm.year < 80 || tm.year > 207) return false;
		return mscfatfile.timestamp(T_WRITE, tm.year + 1900, tm.mon + 1,
			tm.mday, tm.hour, tm.min, tm.sec);
	}
got some strange things going on.

1. If I create a new folder on the drive win explorer by right clicking:
Code:
28191 CMD: 100c(SEND_OBJECT_INFO)l: 20 T:4f : 40001 ffffffff
28191 DATA:100c(SEND_OBJECT_INFO)l: 162 T:4f : 0 3001 0 3000 0
SendObjectInfo: 262145 4294967295 20004ca0: 0 3001 0 0 3000 0 0 0 0 0 0 0 0 0 0 : New Folder
Read DateTime string: 20210925T184650.0
>> date/Time: 614f6e9a 8/25/u 2021:18:46
Created: 614f6e9a
Read DateTime string: 20210925T184650.0
>> date/Time: 614f6e9a 8/25/u 2021:18:46
Modified: 614f6e9a


}}}}}}}}} MSCMTPCB::usedSizeCB called 200047e4 3 536901704
MSCMTPCB::usedSizeCB called for Fat32
[B][COLOR="#FF0000"]===============GMT: 121, 0, 1
============GCT: 121, 0, 1[/COLOR][/B]
28834 RESP:2001(RSP:OK)l: 24 T:4f : 40001 ffffffff 9
28835 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:50 : 9 dc02 (FORMAT)
28835 RESP:2001(RSP:OK)l: 20 T:50 : 9 dc02
28835 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:51 : 9 dc01 (STORAGE_ID)
28835 RESP:2001(RSP:OK)l: 20 T:51 : 9 dc01
28836 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:52 : 9 dc07 (OBJECT NAME)
28836 RESP:2001(RSP:OK)l: 20 T:52 : 9 dc07
28836 CMD: 9802(GET_OBJECT_PROP_DESC)l: 20 T:53 : dc0b 3001 (PARENT)
28836 RESP:2001(RSP:OK)l: 20 T:53 : dc0b 3001
28837 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:54 : 9 dc0b (PARENT)
28837 RESP:2001(RSP:OK)l: 20 T:54 : 9 dc0b
28837 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:55 : 9 dc41 (PERSISTENT_UID)
28837 RESP:2001(RSP:OK)l: 20 T:55 : 9 dc41
28838 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:56 : 9 dc44 (NAME)
28838 RESP:2001(RSP:OK)l: 20 T:56 : 9 dc44
28840 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:57 : 9 dc03 (PROTECTION)
28840 RESP:2001(RSP:OK)l: 20 T:57 : 9 dc03
28840 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:58 : 9 dc04 (SIZE)
28840 RESP:2001(RSP:OK)l: 20 T:58 : 9 dc04
28841 CMD: 1008(GET_OBJECT_INFO)l: 16 T:59 : 9
28841 RESP:2001(RSP:OK)l: 16 T:59 : 9
28843 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:5a : 9 dc08 (CREATED)
28843 RESP:2001(RSP:OK)l: 20 T:5a : 9 dc08
28843 CMD: 9803(GET_OBJECT_PROP_VALUE)l: 20 T:5b : 9 dc09 (MODIFIED)
Modify (5fee6600)Date/time:20210101T000000
Modify (5fee6600)Date/time:20210101T000000
28843 RESP:2001(RSP:OK)l: 20 T:5b : 9 dc09
getting strange results from FS_date functions.

2. If I try logging to one of the volumes dates aren't set.
Code:
Storage Index 3 Name: MSC0-FAT32 Selected

Logging Data!!!
10,9,10
10,10,10
10,10,10
10,9,10
10,10,9
10,9,10
10,10,10
10,10,10
10,9,10
9,9,10
10,10,10
11,9,9
10,10,10
10,10,10
10,10,9
10,10,9
10,10,10
10,10,10
11,10,10
10,10,9
10,10,10
10,10,9
10,10,10
10,10,9
10,10,10
10,10,10

Stopped Logging Data!!!
Records written = 26
*MTPD::send_Event(400b)

Logging Data!!!
10,10,9
10,10,9
10,10,10
10,10,9
10,10,10
10,10,9
10,10,10
10,10,10
10,10,9
10,10,9
10,10,10
11,10,10
10,9,9
10,10,10
10,9,10
10,10,10
11,10,9

Stopped Logging Data!!!
Records written = 43
*MTPD::send_Event(400b)

Have to try this out side the MTP_t4 environment
 
Follow-up to previous post. Ran the UsbMSCFat datalogger sketch then ran the listfilesUSB sketch:
Code:
datalogXXX.txt                                    602===============GMT: 121, 0, 1
    00:00  January 1, 2021
What its showing is that the modified date either is not be set right or not being read right. But didn;t see any calls to setModifyDate when I ran the datalogger sketch. Guess more debugging.
 
When I write a file to a SD card and then put that card into reader connected to me Linux machine, the file modify times are off by several hours. Maybe Linux is reading the times as UTC and applying Pacific time zone before showing them? I haven't looked on Windows and MacOS yet.

Is anyone else seeing this?

Yes, used readwrite.ino and then listfiles.ino and:
Code:
test.txt                                           18    16:12  September 25, 2021
done!
04:12 PM.

Plugged the SD card into an SD card reader on my linux PC and saw this:
Code:
test.txt                                           18 bytes  Sat  25 Sep 2021 9:12:36 AM PDT

-5 hours difference. If I am correct. NOT correct...
 
Last edited:
When I write a file to a SD card and then put that card into reader connected to me Linux machine, the file modify times are off by several hours. Maybe Linux is reading the times as UTC and applying Pacific time zone before showing them? I haven't looked on Windows and MacOS yet.

Is anyone else seeing this?

Yes. Linux expects filesystem timestamps to be in UTC. Which makes perfect sense if the filesystem is shared and viewed on machines with different timezones set -- the create/access/modify timestamps shown SHOULD BE different.
 
Last edited:
Interesting things with the Date/Time MSC as well as SD... These libraries have a callback function. As do some of the sketches themselves....
Our SDMTPClass constructor sets the: FsDateTime::callback = dateTime;
To it's own static method date/time..

Still debugging some of the differences using the MSC stuff
 
Yes, used readwrite.ino and then listfiles.ino and:
Code:
test.txt                                           18    16:12  September 25, 2021
done!
04:12 PM.

Plugged the SD card into an SD card reader on my linux PC and saw this:
Code:
test.txt                                           18 bytes  Sat  25 Sep 2021 9:12:36 AM PDT

-5 hours difference. If I am correct. NOT correct...

16:12 - 09:12 is -7 hours which is correct
 
Asking because listfilesUSB.ino won't build:
Code:
In file included from C:\T_Drive\tCode\libraries\UsbMscFat\examples\listfilesUSB\listfilesUSB.ino:14:0:
C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h:44:7: error: cannot derive from 'final' base 'File' in derived type 'MSCFile'
 class MSCFile : public File
       ^
C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h: In member function 'virtual File MSCFile::openNextFile(uint8_t)':
C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h:122:42: error: no matching function for call to 'File::File(MSCFile*)'
   if (file) return File(new MSCFile(file));
                                          ^
In file included from C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h:35:0,
                 from C:\T_Drive\tCode\libraries\UsbMscFat\examples\listfilesUSB\listfilesUSB.ino:14:
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:134:2: note: candidate: File::File(const File&&)
  File(const File&& file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:134:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'const File&&'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:127:2: note: candidate: File::File(const File&)
  File(const File& file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:127:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'const File&'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:117:2: note: candidate: File::File(FileImpl*)
  File(FileImpl *file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:117:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'FileImpl*'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:110:12: note: candidate: constexpr File::File()
  constexpr File() : f(nullptr) { }
            ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:110:12: note:   candidate expects 0 arguments, 1 provided
In file included from C:\T_Drive\tCode\libraries\UsbMscFat\examples\listfilesUSB\listfilesUSB.ino:14:0:
C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h: In member function 'virtual File MSCClass::open(const char*, uint8_t)':
C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h:166:42: error: no matching function for call to 'File::File(MSCFile*)'
   if (file) return File(new MSCFile(file));
                                          ^
In file included from C:\T_Drive\tCode\libraries\UsbMscFat\src/mscFS.h:35:0,
                 from C:\T_Drive\tCode\libraries\UsbMscFat\examples\listfilesUSB\listfilesUSB.ino:14:
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:134:2: note: candidate: File::File(const File&&)
  File(const File&& file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:134:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'const File&&'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:127:2: note: candidate: File::File(const File&)
  File(const File& file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:127:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'const File&'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:117:2: note: candidate: File::File(FileImpl*)
  File(FileImpl *file) {
  ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:117:2: note:   no known conversion for argument 1 from 'MSCFile*' to 'FileImpl*'
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:110:12: note: candidate: constexpr File::File()
  constexpr File() : f(nullptr) { }
            ^
C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\cores\teensy4/FS.h:110:12: note:   candidate expects 0 arguments, 1 provided
[B]Using library UsbMscFat at version 1.0.0 in folder: C:\T_Drive\tCode\libraries\UsbMscFat [/B]  // MJS513 version
Using library USBHost_t36 at version 0.1 in folder: C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\libraries\USBHost_t36 
Using library SdFat at version 2.0.5-beta.1 in folder: C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\libraries\SdFat
Using library SPI at version 1.0 in folder: C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\libraries\SPI 
exit status 1
[Finished in 19.8s]
 
Cool. p#77 points to newer ... github.com/mjs513/UsbMscFat/tree/FS_Integration

Not sure if that is Good to go? What are the examples to work with?

Currently we are working through a bug with timestamps so while the dates are there they won't be correct for newly created files. But if you do a copy paste in MTP_t4 the dates will be correct.

@KurtE - Was just playing with MTP_T4 and added a datetime callback to USB_MSC and create date worked - think the kludged date callback is incorrect but as it caused some other issues. But all the examples should work regardless. listfiles.ino show how to access the moditfied date when you do a print directory
 
Asking because listfilesUSB.ino won't build:

Just checked and mine is building without issue:
Code:
Initializing USB MSC drive...initialization done.
mtpindex.dat                                      0===============GMT: 121, 0, 1
    00:00  January 1, 2021
ZED-F9P_InterfaceDescription_(UBX-18010854).pdf   3008805===============GMT: 121, 1, 15
    19:56  February 15, 2021
Picture1.png                                      1037303===============GMT: 121, 0, 1
    00:00  January 1, 2021
1809141331_Lyontek-Inc-LY68L6400SLIT_C261881.pdf  1439758===============GMT: 121, 6, 8
    09:28  July 8, 2021
System Volume Information/
  WPSettings.dat                                  12===============GMT: 121, 8, 6
    09:01  September 6, 2021
  IndexerVolumeGuid                               76===============GMT: 121, 8, 6
    09:01  September 6, 2021
datalogXXX.txt                                    602===============GMT: 121, 0, 1
    00:00  January 1, 2021
datalogYXX.txt                                    266===============GMT: 121, 0, 1
    00:00  January 1, 2021
done!

Here is a zip of what I am using just in case. Ok time for zzz's. hope it works... Oh yes I updated to 1.56beta1
 

Attachments

  • UsbMscFat.zip
    107.5 KB · Views: 51
Pinned up new T_4.1_Lb. Added 1Gb NAND and 8MB PSRAM and USB_Host headers.

>> LittleFS to PSRAM works! :: C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\libraries\LittleFS\examples\Integrity\PSRAM\PSRAM.ino
>> LittleFS to NAND works! :: C:\T_Drive\Arduino_1.8.16_155\hardware\teensy\avr\libraries\LittleFS\examples\Integrity\QSPI\QSPI.ino / TEST_QSPI_NAND

Long DIR of a read only 16GB Flash drive with Windows 10 install sources and other files - 4,090 lines of output.
Truncated (listing below) :: C:\T_Drive\tCode\libraries\UsbMscFat\examples\listfilesUSB\listfilesUSB.ino (@mjs513 ZIP)
Code:
Initializing USB MSC drive...initialization done.
System Volume Information/
  WPSettings.dat                                  12===============GMT: 120, 9, 27
    12:06  October 27, 2020
  IndexerVolumeGuid                               76===============GMT: 120, 9, 27
    12:06  October 27, 2020
autorun.inf                                       128===============GMT: 120, 9, 9
    14:54  October 9, 2020
boot/
  bcd                                             16384===============GMT: 120, 9, 9
    14:54  October 9, 2020
  boot.sdi                                        3170304===============GMT: 120, 9, 9
    14:54  October 9, 2020
  bootfix.bin                                     1024===============GMT: 120, 9, 9
    14:54  October 9, 2020
  bootsect.exe                                    110392===============GMT: 120, 9, 9
    14:54  October 9, 2020
  en-us/
    bootsect.exe.mui                              16384===============GMT: 120, 9, 9
    14:54  October 9, 2020
  etfsboot.com                                    4096===============GMT: 120, 9, 9
    14:54  October 9, 2020
  fonts/
    chs_boot.ttf                                  3694080===============GMT: 120, 9, 9
    14:54  October 9, 2020
    cht_boot.ttf                                  3876772===============GMT: 120, 9, 9
    14:54  October 9, 2020
[B]...[/B]
    07:55  April 9, 2021
      winsetupetw.dll                             66504===============GMT: 121, 3, 9
    07:55  April 9, 2021
      en-us/
        actionqueueetw.dll.mui                    3584===============GMT: 121, 3, 9
    07:55  April 9, 2021
push21H1.bat                                      627===============GMT: 121, 4, 28
    19:45  May 28, 2021
TLabFblu2042.txt                                  17===============GMT: 121, 4, 28
    19:45  May 28, 2021
done!

@KurtE(mjs513) - these three sketches built fine with SubLime and updated TSET with final Compile.CMD of "T" not "Y" to allow TyComm open - but disconnect to allow TLoader upload.
 
Last edited:
Back
Top