MicroMod Beta Testing

there could maybe be more micromods in different teensies in future? who knows, but make it specific for the 4.x?

Code:
#if defined(ARDUINO_TEENSY_MICROMOD) && defined(__IMXRT1062__)

There may be other Micromods, but these names, like: ARDUINO_TEENSY40, ARDUINO_TEENSY41, ARDUINO_TEENSY_MICROMOD
Are names that come directly out of boards.txt and platform.txt

That is in Platform.txt we have:
Code:
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{build.toolchain}{build.command.g++}" -c {build.flags.optimize} {build.flags.common} {build.flags.dep} {build.flags.cpp} {build.flags.cpu} {build.flags.defs} -DARDUINO={runtime.ide.version} [COLOR="#FF0000"]-DARDUINO_{build.board}[/COLOR] -DF_CPU={build.fcpu} -D{build.usbtype} -DLAYOUT_{build.keylayout} "-I{build.path}/pch" {includes} "{source_file}" -o "{object_file}"

And in boards.txt we have:

That is for teensy 4.1 we have:
Code:
teensy41.name=Teensy 4.1
#teensy41.upload.maximum_size=8126464
teensy41.build.board=[COLOR="#FF0000"]TEENSY41[/COLOR]

and likewise:
Code:
teensyMM.name=Teensy MicroMod
#teensyMM.upload.maximum_size=16515072
teensyMM.build.board=[COLOR="#FF0000"]TEENSY_MICROMOD[/COLOR]
So I am assuming that if there are new MM for different teensy boards we would probably maybe have names like:
TEENSY_MICROMOD3 if it was a 3x version... But could be wrong
 
Oooh. Missed that - that's your wire? on pins 40 and 41? Is wire3 even defined in wireIMXRT.h? I am getting myself confused again. This is what's in wireIMXRT.h currently:
Code:
//#define WIRE_HAS_END 1
#define WIRE_IMPLEMENT_WIRE
#define WIRE_IMPLEMENT_WIRE1
#define WIRE_IMPLEMENT_WIRE2
So do we need a
Code:
#if defined(ARDUINO_TEENSY_MICROMOD)
#define WIRE_IMPLEMENT_WIRE3
#endif
?
Yes - we should probably add that. I don't think anywhere in our imxrt code actually looks at that define but should add for
consistency.

As for The Wire3 object, I think it is correct, obviously may need to hook up and verify:



According to the schematic pins24/25 are wire1 but this is showing Wire2? Or am I missing something[/QUOTE]

Code:
#if defined(ARDUINO_TEENSY_MICROMOD)
PROGMEM
constexpr TwoWire::I2C_Hardware_t TwoWire::i2c2_hardware = {
	CCM_CCGR2, CCM_CCGR2_LPI2C2(CCM_CCGR_ON),
		{{41, 2 | 0x10, &IOMUXC_LPI2C2_SDA_SELECT_INPUT, 1}, {0xff, 0xff, nullptr, 0}},
		{{40, 2 | 0x10, &IOMUXC_LPI2C2_SCL_SELECT_INPUT, 1}, {0xff, 0xff, nullptr, 0}},
	IRQ_LPI2C4
};
TwoWire Wire3(&IMXRT_LPI2C2, TwoWire::i2c2_hardware);
#endif
The names here like: i2c2_hardware is showing that this is Hardware I2C #2 which we did not have a version of before...
But we are defineing it as the logical Object Wire3...

Note on Teensy 4.x boards, our Wire objects are not defined in the same order as the underlying hardware I2C objects.

Like:
Wire is using I2C1
Wire1 is using I2C3
Wire2 is using I2C4

And now:
Wire3 is using I2C2

Now as for pins: 24 and 25, they are the same pins used on T4 and T4.1
24/A10 53 AD_B0_12 1.12 Serial6(1) TX Wire2(4) SCL PWM1_X2 A1:1
25/A11 51 AD_B0_13 1.13 Serial6(1) RX Wire2(4) SDA PWM1_X3 GPT1_CLK A1:2

So it is actually on I2C4 but in Teensy world is is Wire2...
But not sure what their schematic is trying to show.

It may be simply be, their way of saying it routes their I2C1 marker on for example their ATP card.
Likewise they show 18 and 19 as SCL and SDA and likewise they don't show anything for 16 and 17...
 
Still a bit confused, not trying to give you a hard time, but trying to get my head around this:
TwoWire Wire(&IMXRT_LPI2C1, TwoWire::i2c1_hardware); -> LPI2C1 -> 18, 19: Go it makes sense Wire is on pins18, 19

TwoWire Wire1(&IMXRT_LPI2C3, TwoWire::i2c3_hardware); -> LPI2C3 -> 16,17 for both T4.1 and MicroMod: Wire1 on pins 16,17 correct?

TwoWire Wire2(&IMXRT_LPI2C4, TwoWire::i2c4_hardware); -> LPI2C4 -> 24,25: Got it Wire2 on pins 24, 25

TwoWire Wire3(&IMXRT_LPI2C2, TwoWire::i2c2_hardware); -> LPI2C2 -> pins 40, 41 for Wire3 ok understand.

Now on the MicroMod schematic in post #1
Capture.PNG

Its showing SDA1/SCL1 (assume this means Wire1 in their terms and what we usually see) is on pins 24, 25. Based on the above Pin24/25 is Wire2 on the Teensy.

This is why I am getting confused - we would have to remember that Wire1 on the MicroMod would be Wire3 on the Teensy. Not a big deal for me but may lead to some other confusion.
 
On MMod DataLogger" PIN 10 is the CARD INSERT says NewPinTest!

That's strange - wonder what they are doing. If you look at the schematic its showing CS going to sdcard DAT3/CS pin wonder if they are dual purposing it or just a strange naming convention?
 
Still a bit confused, not trying to give you a hard time, but trying to get my head around this:
Me a hard time ;) ... I honestly did not give it a second thought... I take it as something for SPARKFUN.

I did most of the hacking for some of these changes after Paul added the Pin definitions for this board to the Teensy4 directory, long before we saw the schematic. So we had:

Code:
#define CORE_PIN24_BIT		12
#define CORE_PIN25_BIT		13
...
#define CORE_PIN24_PORTREG	GPIO6_DR
#define CORE_PIN25_PORTREG	GPIO6_DR
So we know that Pin 24 is in my table as 1.12 (Port 6 is high speed of Port 1) and 25 is 1.13
Which matched my Excel documents for T4 and T4.1 as well:
Code:
24/A10	53	AD_B0_12	1.12	Serial6(1) TX	Wire2(4) SCL		PWM1_X2					A1:1  	
25/A11	51	AD_B0_13	1.13	Serial6(1) RX	Wire2(4) SDA		PWM1_X3	GPT1_CLK				A1:2

And honestly I did not really look overly careful at their schematic bubbles. I simply in this case: saw the 24 in the bubble and the 53 and marked up my excel document...
I just assumed they marked it that way as to match their two QWIIC connectors on the ATP.

On another thought here on the camera. I wonder if anyone in US sells something like this 24 pin FPC breakout board:
s-l1600.jpg
 
On MMod DataLogger and MACHINE LEARNING PIN 10 is the CARD INSERT says NewPinTest!

Updated that above, ATP has no SD.

There is an SD on the Input and Display board and it has Pin 10 HIGH with NewPinTest start and no response on any pin # when card goes In/Out.

NewPinTest shows these pins Held High:
Code:
d#=4 val=1,0,0,0,0,0,
d#=10 val=1,0,0,0,0,0,0,0,
d#=18 val=1,
d#=19 val=1,0,0,0,0,0,0,0,0,0,
d#=29 val=1,0,0,0,0,0,0,0,0,0,0,
d#=40 val=1,0,
d#=42 val=1,0,0,0,

I also updated @luni :: github.com/TeensyUser/doc/tree/master/examples/GPIO/pinList { did a PR and has been done }
I made a version of NewPinTestPL that prints it on start For the MMod.Teensy it shows these pin mappings:
Code:
[ATTACH]24268._xfImport[/ATTACH]
Code:
This Teensy Digital Pin Count :: 46
PIN   GPIOn-BITm  |  GPIOn-BITm    PIN
------------------|-------------------
00  -> GPIO6-03   |   GPIO6-02  ->  01
01  -> GPIO6-02   |   GPIO6-03  ->  00
02  -> GPIO9-04   |   GPIO6-12  ->  24
03  -> GPIO9-05   |   GPIO6-13  ->  25
04  -> GPIO9-06   |   GPIO6-16  ->  19
05  -> GPIO9-08   |   GPIO6-17  ->  18
06  -> GPIO7-10   |   GPIO6-18  ->  14
07  -> GPIO7-17   |   GPIO6-19  ->  15
08  -> GPIO7-16   |   GPIO6-22  ->  17
09  -> GPIO7-11   |   GPIO6-23  ->  16
10  -> GPIO7-00   |   GPIO6-24  ->  22
11  -> GPIO7-02   |   GPIO6-25  ->  23
12  -> GPIO7-01   |   GPIO6-26  ->  20
13  -> GPIO7-03   |   GPIO6-27  ->  21
14  -> GPIO6-18   |   GPIO6-30  ->  26
15  -> GPIO6-19   |   GPIO6-31  ->  27
16  -> GPIO6-23   |   GPIO7-00  ->  10
17  -> GPIO6-22   |   GPIO7-01  ->  12
18  -> GPIO6-17   |   GPIO7-02  ->  11
19  -> GPIO6-16   |   GPIO7-03  ->  13
20  -> GPIO6-26   |   GPIO7-04  ->  40
21  -> GPIO6-27   |   GPIO7-05  ->  41
22  -> GPIO6-24   |   GPIO7-06  ->  42
23  -> GPIO6-25   |   GPIO7-07  ->  43
24  -> GPIO6-12   |   GPIO7-08  ->  44
25  -> GPIO6-13   |   GPIO7-09  ->  45
26  -> GPIO6-30   |   GPIO7-10  ->  06
27  -> GPIO6-31   |   GPIO7-11  ->  09
28  -> GPIO8-18   |   GPIO7-12  ->  32
29  -> GPIO9-31   |   GPIO7-16  ->  08
30  -> GPIO8-23   |   GPIO7-17  ->  07
31  -> GPIO8-22   |   GPIO8-12  ->  37
32  -> GPIO7-12   |   GPIO8-13  ->  36
33  -> GPIO9-07   |   GPIO8-14  ->  35
34  -> GPIO8-15   |   GPIO8-15  ->  34
35  -> GPIO8-14   |   GPIO8-16  ->  39
36  -> GPIO8-13   |   GPIO8-17  ->  38
37  -> GPIO8-12   |   GPIO8-18  ->  28
38  -> GPIO8-17   |   GPIO8-22  ->  31
39  -> GPIO8-16   |   GPIO8-23  ->  30
40  -> GPIO7-04   |   GPIO9-04  ->  02
41  -> GPIO7-05   |   GPIO9-05  ->  03
42  -> GPIO7-06   |   GPIO9-06  ->  04
43  -> GPIO7-07   |   GPIO9-07  ->  33
44  -> GPIO7-08   |   GPIO9-08  ->  05
45  -> GPIO7-09   |   GPIO9-31  ->  29
 
@defragster

When I referencing the schematic I was looking at the datalogger schematic not the ATP carrier. Didnt look at the Machine learning schematic.

Well just got my micromod from PJRC - thanks @Paul for the care package. But if you all what to laugh - I have a million cables but not USB-C cables so I am off to the store to get one then I can start playing.
 
@defragster

When I referencing the schematic I was looking at the datalogger schematic not the ATP carrier. Didnt look at the Machine learning schematic.

Well just got my micromod from PJRC - thanks @Paul for the care package. But if you all what to laugh - I have a million cables but not USB-C cables so I am off to the store to get one then I can start playing.

Been there, found that out when I purchased my first carrier board with the ESP :D
 
Not laughing @mjs513 :( ... but I will say 'I told you so' :)

USB-C - so awesome and yet such a pain. I ended up buying like 10 cables in combination to match and switch for new phone and chargers. Also helps with external HDD that is USB-C too - and new computer with a front USB-C.

And the cable here is heavy/stiff and tends to pull the little carrier boards to the floor as configured :( - and SFun connectors are all surface mount.
 
I updated my little MicroMod helper files which I made for my DIY MicroMod T3.2. Should work now with the MicroMod T4. It contains the mapping of the MM pins to the Teensy pins so that you can use the pin names as defined by Sparkfun (and printed on the carrier boards). It also has a helper class for the 8bit bus functionality.

Since I currently don't have a MMT4 board the update was done dry and probably has some bugs in it. If somebody wants to try: https://github.com/luni64/TeensyHelpers/tree/master/src/MicroModT4

Usage:

Code:
#include "Arduino.h"
#include "MicroModT4/MicroModTeensy.h"

using namespace MMT;

MM32::BUS bus;                      // might be better to have that as a predefined singleton

void setup()
{    
    pinMode(G0, OUTPUT);            // name mapping MicroMod -> TeensyPins
    digitalWriteFast(G0, HIGH);

    // bus (G0..G7) helpers:
    pinMode(bus, OUTPUT);          // set pinMode for entire bus       
    bus = 0x12;                    // write 8bit value to bus

    pinMode(bus, INPUT_PULLUP);    
    uint8_t val = bus;             // read 8bit value from bus

}

void loop()
{
}
 
@Paul - quick summary - Beta MMod Teensy working as a 'normal Teensy' here with the IDE.

Programming and T_SerMon working properly on the sketches so far.

Only odd thing @mjs513 found (build size) resolved with that PR that has been pulled in.

Just ran 15MB Little FS test - write not speedy? - but it works and reads 5X better:
Code:
Start Big write of 2048000 Bytes.........................
Big write /0_2MBfile.txt took  4.11 Sec for 2048000 Bytes : file3.size()=2048000
	[B]Big write KBytes per second 498.90[/B] 

Bytes Used: 2228224, Bytes Total:15728640

printDirectory PRO_DISK
--------------
FILE	0_2MBfile.txt		2048000
FILE	B_file.txt		1536
FILE	C_file.txt		2048
FILE	D_file.txt		2560
FILE	E_file.txt		3072
FILE	F_file.txt		3584
FILE	G_file.txt		4096
FILE	H_file.txt		4608
FILE	I_file.txt		5120
FILE	J_file.txt		5632
FILE	K_file.txt		6144
FILE	L_file.txt		6656
FILE	M_file.txt		7168
FILE	N_file.txt		7680
FILE	O_file.txt		8192
FILE	P_file.txt		8704
FILE	Q_file.txt		9216
FILE	R_file.txt		9728
FILE	S_file.txt		10240
FILE	T_file.txt		10752
FILE	U_file.txt		11264

 0 dirs with 21 files of Size 2176000 Bytes
 Total 21 files of Size 2176000 Bytes
[B][COLOR="#FF0000"]Bytes Used: 2228224, Bytes Total:15728640[/COLOR][/B]

Delete with read verify all #bigfile's
	Verify /0_2MBfile.txt bytes 2048000 : ..................................................	GOOD! >>  bytes 2048000
	[B]Big read&compare KBytes per second 2606.02[/B]

<edit>
'R' - Teensy reset data survives, of course
'f' - format unused works quickly without data or integrity loss, of course
'new program' - wipes disk, of course
 
@Paul: Running above 15 MB LFSInterity in the middle of '5' loops it refused programming - there was active serial output?

After '0' : Stop running "loops"
Updating for larger file create it 'Failed Programming'
> After that it then worked to push the upload
> Have cleared Loader\Verbose and will try repro ...

Tail of TLoader Verbose:
Code:
:00:33.223 (post_compile 12): Sending command: comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)
13:00:33.224 (loader): remote cmd from 1556: "dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\"
13:00:33.224 (loader): remote cmd from 1556: "file:LFSintegrity.ino.hex"
13:00:33.224 (post_compile 12): Status: 1, 1, 0, 1, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:00:33.224 (post_compile 12): Sending command: dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\
13:00:33.224 (post_compile 12): Sending command: file:LFSintegrity.ino.hex
13:00:33.239 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:00:33.242 (loader): remote cmd from 1556: "status"
13:00:33.243 (post_compile 12): Status: 1, 1, 0, 1, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:00:33.243 (post_compile 12): Disconnect
13:00:33.256 (loader): remote connection 1556 closed
13:00:33.506 (post_compile 13): Begin, version=1.54-beta7, high-res time
13:00:33.508 (loader): remote connection 1556 opened
13:00:33.508 (loader): remote cmd from 1556: "comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)"
13:00:33.508 (loader): remote cmd from 1556: "status"
13:00:33.509 (post_compile 13): Sending command: comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)
13:00:33.510 (post_compile 13): Status: 1, 1, 0, 1, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:00:33.510 (post_compile 13): Sending command: dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\
13:00:33.510 (loader): remote cmd from 1556: "dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\"
13:00:33.510 (loader): remote cmd from 1556: "file:LFSintegrity.ino.hex"
13:00:33.510 (post_compile 13): Sending command: file:LFSintegrity.ino.hex
13:00:33.525 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:00:33.532 (loader): remote cmd from 1556: "status"
13:00:33.533 (post_compile 13): Status: 1, 1, 0, 1, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:00:33.533 (post_compile 13): Disconnect
13:00:33.556 (loader): remote connection 1556 closed
13:00:33.556 (post_compile 14): Running teensy_reboot: "T:\arduino-1.8.13_t54\hardware\teensy\..\tools\teensy_reboot.exe" teensy_reboot.exe "-board=TEENSY_MICROMOD" "-port=usb:0/140000/0/1" "-portlabel=COM21 Serial" "-portprotocol=Teensy"
13:00:33.557 (loader): remote connection 756 opened
13:00:33.572 (loader): remote connection 1440 opened
13:00:33.572 (loader): remote cmd from 1440: "show:arduino_attempt_reboot"
13:00:33.572 (loader): got request to show arduino rebooting message
13:00:33.574 (loader): remote cmd from 1440: "comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_reboot)"
13:00:33.574 (loader): remote cmd from 1440: "status"
13:00:33.578 (loader): remote cmd from 1440: "status"
13:00:33.628 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
13:00:33.629 (ports 5): remove: loc=usb:0/140000/0/1
13:00:33.629 (ports 5): usb_remove: usb:0/140000/0/1
13:00:33.629 (ports 5): nothing new, skipping HID & Ports enum
13:00:33.651 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:00:33.651 (ports 5): nothing new, skipping HID & Ports enum
13:00:33.651 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
13:00:33.652 (ports 5): nothing new, skipping HID & Ports enum
13:00:33.682 (loader): remote cmd from 1440: "status"
13:00:33.793 (loader): remote cmd from 1440: "status"
13:00:33.874 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
13:00:33.875 (ports 5): found_usb_device, id=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:00:33.875 (ports 5): found_usb_device, loc=usb:0/140000/0/1    Port_#0001.Hub_#0002
13:00:33.875 (ports 5): found_usb_device, hwid=USB\VID_16C0&PID_0478&REV_0106
13:00:33.875 (ports 5): found_usb_device, devinst=00000007
13:00:33.875 (ports 5): add: loc=usb:0/140000/0/1, class=HID, vid=16C0, pid=0478, ver=0106, serial=000cede2, dev=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:00:33.875 (ports 5): hiddev_from_devinst_list: iface=0
13:00:33.876 (ports 5): found_usb_device complete
13:00:33.877 (ports 5): usb_add: usb:0/140000/0/1  [no_device] (Teensy MicroMod) Bootloader
13:00:33.886 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:00:33.886 (ports 5): update_usb_device, devinst list change, old had 1, new has 2
13:00:33.886 (ports 5): hiddev_from_devinst_list: iface=0
13:00:33.887 (ports 5): hid, found devinst=0000000B
13:00:33.887 (ports 5): hid, path=\\?\hid#vid_16c0&pid_0478#6&156f921f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
13:00:33.887 (ports 5): hid,  opened handle
13:00:33.887 (ports 5):  devinst=0000000B, location=usb:0/140000/0/1
13:00:33.887 (ports 5):  vid=16C0, pid=0478, ver=0106, usepage=FF9C, use=0026
13:00:33.887 (ports 5):  devpath=\\?\hid#vid_16c0&pid_0478#6&156f921f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
13:00:33.887 (ports 5): usb_add: usb:0/140000/0/1  hid#vid_16c0&pid_0478 (Teensy MicroMod) Bootloader
13:00:33.906 (loader): Device came online, code_size = 16515072
13:00:33.906 (loader): Board is: Teensy MicroMod (IMXRT1062), version 1.06
13:00:33.921 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:00:33.921 (loader): set background IMG_ONLINE
13:00:33.937 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:00:33.938 (loader): elf appears to be for Teensy MicroMod (IMXRT1062) (16515072 bytes)
13:00:33.938 (loader): elf binary data matches hex file
13:00:33.938 (loader): elf file is for Teensy MicroMod (IMXRT1062)
13:00:33.938 (loader): begin operation
13:00:33.949 (loader): remote cmd from 1440: "status"
13:00:33.959 (loader): flash, block=0, bs=1024, auto=1
13:00:33.959 (loader):  gauge old value = 0
13:00:33.959 (loader): flash, block=1, bs=1024, auto=1
13:00:34.109 (loader):  gauge old value = 1
13:00:34.110 (loader): flash, block=2, bs=1024, auto=1
13:00:44.128 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:00:44.128 (ports 5): nothing new, skipping HID & Ports enum
13:01:04.154 (serialmon 16): Begin, version=1.54-beta7, high-res time
13:01:04.154 (serialmon 16): listening for location: usb:0/140000/0/1
13:01:04.154 (serialmon 16): LoadLibrary cfgmgr32 ok
13:01:04.154 (serialmon 16): LoadLibrary ntdll ok
13:01:04.158 (serialmon 16): callback 0024
13:01:04.158 (serialmon 16): callback 0081
13:01:04.159 (serialmon 16): callback 0083
13:01:04.159 (serialmon 16): hWnd = 3412364
13:01:04.160 (serialmon 16): loop stdin, ready=262143
13:01:04.161 (serialmon 16): found_usb_device, id=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:01:04.161 (serialmon 16): found_usb_device, loc=usb:0/140000/0/1    Port_#0001.Hub_#0002
13:01:04.161 (serialmon 16): found_usb_device, hwid=USB\VID_16C0&PID_0478&REV_0106
13:01:04.161 (serialmon 16): found_usb_device, devinst=00000008
13:01:04.161 (serialmon 16): add: loc=usb:0/140000/0/1, class=HID, vid=16C0, pid=0478, ver=0106, serial=000cede2, dev=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:01:04.161 (serialmon 16): hiddev_from_devinst_list: iface=0
13:01:04.163 (serialmon 16): found_usb_device complete
13:01:04.163 (serialmon 16): found_usb_device, id=\\?\usb#vid_16c0&pid_0483#1234560#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:01:04.163 (serialmon 16): found_usb_device, loc=usb:0/140000/0/6/4    Port_#0004.Hub_#0006
13:01:04.163 (serialmon 16): found_usb_device, hwid=USB\VID_16C0&PID_0483&REV_0280
13:01:04.163 (serialmon 16): found_usb_device, devinst=00000009
13:01:04.163 (serialmon 16): add: loc=usb:0/140000/0/6/4, class=USB, vid=16C0, pid=0483, ver=0280, serial=1234560, dev=\\?\usb#vid_16c0&pid_0483#1234560#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:01:04.163 (serialmon 16):   comport_from_devinst_list attempt
13:01:04.163 (serialmon 16):   found Ports in classguid_list at index=1
13:01:04.163 (serialmon 16):   port COM22 found from devnode
13:01:04.163 (serialmon 16): found_usb_device complete
13:01:04.163 (serialmon 16): hid, found devinst=0000000D
13:01:04.163 (serialmon 16): usb_add: usb:0/140000/0/6/4
13:01:04.337 (loader): program: write error
13:01:04.337 (loader): HID/win32: HidD_GetPreparsedData ok, device still online :-)
13:01:04.341 (loader): end operation, total time = 30.404 seconds
13:01:04.343 (loader): set background IMG_DOWNLOAD_ERROR
13:01:04.344 (loader): redraw timer set, image 11 to show for 4000 ms
13:01:04.347 (loader): remote connection 1440 closed
13:01:04.347 (loader): remote connection 756 closed
13:01:04.347 (loader): remote connection 756 opened
13:01:04.348 (serialmon 16): usb_add: usb:0/140000/0/1
13:01:04.348 (serialmon 16): ignoring partial USB device discovery (Windows XP issue?)
13:01:04.613 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:04.614 (serialmon 16): hid, found devinst=0000000D
13:01:04.864 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:04.865 (serialmon 16): hid, found devinst=0000000D
13:01:05.116 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:05.117 (serialmon 16): hid, found devinst=0000000D
13:01:05.370 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:05.372 (serialmon 16): hid, found devinst=0000000D
13:01:05.623 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:05.624 (serialmon 16): hid, found devinst=0000000D
13:01:05.877 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:05.878 (serialmon 16): hid, found devinst=0000000D
13:01:06.130 (serialmon 16): retry device discovery (Windows XP workaround)
13:01:06.131 (serialmon 16): hid, found devinst=0000000D
13:01:06.385 (serialmon 16): timeout
13:01:06.386 (serialmon 16): hid, found devinst=0000000D
13:01:08.354 (loader): redraw, image 10
13:01:08.354 (loader): set background IMG_ONLINE
13:01:11.015 (loader): Verbose Info event
 
@Paul :: Update to p#66 repro:

IDE Ctrl+U began upload with TLoader and nothing ever appeared again in IDE console:
Code:
Memory Usage on Teensy MicroMod:
  FLASH: code:74616, data:9528, headers:7212   free for files:16423716
   RAM1: code:98304 (69864 used), variables:21184   free for local variables:404800
   RAM2: variables:12384  free for malloc/new:511904
Using library LittleFS at version 1.0.0 in folder: T:\arduino-1.8.13_t54\hardware\teensy\avr\libraries\LittleFS 
Using library SPI at version 1.0 in folder: T:\arduino-1.8.13_t54\hardware\teensy\avr\libraries\SPI 
Using library SdFat at version 2.0.5-beta.1 in folder: T:\arduino-1.8.13_t54\hardware\teensy\avr\libraries\SdFat 
T:\arduino-1.8.13_t54\hardware\teensy/../tools/teensy_post_compile -file=LFSintegrity.ino -path=C:\Users\Tim\AppData\Local\Temp\arduino_build_76521 -tools=T:\arduino-1.8.13_t54\hardware\teensy/../tools -board=TEENSY_MICROMOD -reboot -port=usb:0/140000/0/1 -portlabel=hid#vid_16c0&pid_0478 Bootloader -portprotocol=Teensy

<edit note>: Teensy loader auto UNCHECKED "AUTO" and is sitting at that place with the image of the MMod_Teensy on the program.
>> Next Upload attempt works as expected

TLoader went in to ERASE then 'failed program':
Code:
13:05:40.630 (loader): remote connection 1548 closed
13:05:44.113 (loader): file changed
13:05:44.114 (post_compile 22): Begin, version=1.54-beta7, high-res time
13:05:44.129 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:05:44.131 (loader): remote connection 1316 opened
13:05:44.131 (post_compile 22): Sending command: comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)
13:05:44.136 (loader): remote cmd from 1316: "comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)"
13:05:44.137 (loader): remote cmd from 1316: "status"
13:05:44.139 (loader): remote cmd from 1316: "dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\"
13:05:44.139 (post_compile 22): Status: 1, 1, 0, 2, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:05:44.139 (post_compile 22): Sending command: dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\
13:05:44.140 (loader): remote cmd from 1316: "file:LFSintegrity.ino.hex"
13:05:44.140 (post_compile 22): Sending command: file:LFSintegrity.ino.hex
13:05:44.155 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:05:44.161 (loader): remote cmd from 1316: "status"
13:05:44.163 (post_compile 22): Status: 1, 1, 0, 2, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:05:44.163 (post_compile 22): Disconnect
13:05:44.181 (loader): remote connection 1316 closed
13:05:44.441 (post_compile 23): Begin, version=1.54-beta7, high-res time
13:05:44.444 (loader): remote connection 1524 opened
13:05:44.445 (post_compile 23): Sending command: comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)
13:05:44.445 (loader): remote cmd from 1524: "comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_post_compile)"
13:05:44.446 (loader): remote cmd from 1524: "status"
13:05:44.448 (loader): remote cmd from 1524: "dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\"
13:05:44.449 (post_compile 23): Status: 1, 1, 0, 2, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:05:44.449 (post_compile 23): Sending command: dir:C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\
13:05:44.450 (loader): remote cmd from 1524: "file:LFSintegrity.ino.hex"
13:05:44.450 (post_compile 23): Sending command: file:LFSintegrity.ino.hex
13:05:44.466 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:05:44.475 (loader): remote cmd from 1524: "status"
13:05:44.478 (post_compile 23): Status: 1, 1, 0, 2, 0, 0, C:\Users\Tim\AppData\Local\Temp\arduino_build_76521\, LFSintegrity.ino.hex
13:05:44.478 (post_compile 23): Disconnect
13:05:44.496 (loader): remote connection 1524 closed
13:05:44.496 (post_compile 24): Running teensy_reboot: "T:\arduino-1.8.13_t54\hardware\teensy\..\tools\teensy_reboot.exe" teensy_reboot.exe "-board=TEENSY_MICROMOD" "-port=usb:0/140000/0/1" "-portlabel=hid#vid_16c0&pid_0478 Bootloader" "-portprotocol=Teensy"
13:05:44.498 (loader): remote connection 1524 opened
13:05:44.519 (loader): remote connection 1404 opened
13:05:44.521 (loader): remote cmd from 1404: "show:arduino_attempt_reboot"
13:05:44.523 (loader): got request to show arduino rebooting message
13:05:44.527 (loader): remote cmd from 1404: "comment: Teensyduino 1.54-beta7 - WINDOWS (teensy_reboot)"
13:05:44.530 (loader): remote cmd from 1404: "status"
13:05:44.555 (loader): remote cmd from 1404: "status"
13:05:44.586 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
13:05:44.587 (ports 5): remove: loc=usb:0/140000/0/1
13:05:44.587 (ports 5): usb_remove: usb:0/140000/0/1
13:05:44.587 (ports 5): nothing new, skipping HID & Ports enum
13:05:44.611 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:05:44.611 (ports 5): WM_DEVICECHANGE DBT_DEVICEREMOVECOMPLETE
13:05:44.612 (ports 5): nothing new, skipping HID & Ports enum
13:05:44.669 (loader): remote cmd from 1404: "status"
13:05:44.779 (loader): remote cmd from 1404: "status"
13:05:44.835 (ports 5): WM_DEVICECHANGE DBT_DEVICEARRIVAL
13:05:44.836 (ports 5): found_usb_device, id=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:05:44.836 (ports 5): found_usb_device, loc=usb:0/140000/0/1    Port_#0001.Hub_#0002
13:05:44.836 (ports 5): found_usb_device, hwid=USB\VID_16C0&PID_0478&REV_0106
13:05:44.836 (ports 5): found_usb_device, devinst=00000007
13:05:44.836 (ports 5): add: loc=usb:0/140000/0/1, class=HID, vid=16C0, pid=0478, ver=0106, serial=000cede2, dev=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:05:44.837 (ports 5): hiddev_from_devinst_list: iface=0
13:05:44.837 (ports 5): found_usb_device complete
13:05:44.838 (ports 5): usb_add: usb:0/140000/0/1  [no_device] (Teensy MicroMod) Bootloader
13:05:44.847 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:05:44.847 (ports 5): update_usb_device, devinst list change, old had 1, new has 2
13:05:44.847 (ports 5): hiddev_from_devinst_list: iface=0
13:05:44.848 (ports 5): hid, found devinst=0000000B
13:05:44.848 (ports 5): hid, path=\\?\hid#vid_16c0&pid_0478#6&156f921f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
13:05:44.848 (ports 5): hid,  opened handle
13:05:44.848 (ports 5):  devinst=0000000B, location=usb:0/140000/0/1
13:05:44.848 (ports 5):  vid=16C0, pid=0478, ver=0106, usepage=FF9C, use=0026
13:05:44.848 (ports 5):  devpath=\\?\hid#vid_16c0&pid_0478#6&156f921f&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
13:05:44.848 (ports 5): usb_add: usb:0/140000/0/1  hid#vid_16c0&pid_0478 (Teensy MicroMod) Bootloader
13:05:44.859 (loader): Device came online, code_size = 16515072
13:05:44.863 (loader): Board is: Teensy MicroMod (IMXRT1062), version 1.06
13:05:44.882 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:05:44.886 (loader): set background IMG_ONLINE
13:05:44.906 (loader): File "LFSintegrity.ino.hex". 91360 bytes, 1% used
13:05:44.911 (loader): elf appears to be for Teensy MicroMod (IMXRT1062) (16515072 bytes)
13:05:44.914 (loader): elf binary data matches hex file
13:05:44.918 (loader): elf file is for Teensy MicroMod (IMXRT1062)
13:05:44.922 (loader): begin operation
13:05:44.938 (loader): remote cmd from 1404: "status"
13:05:44.953 (loader): flash, block=0, bs=1024, auto=1
13:05:44.958 (loader):  gauge old value = 0
13:05:44.963 (loader): flash, block=1, bs=1024, auto=1
13:05:45.117 (loader):  gauge old value = 1
13:05:45.122 (loader): remote cmd from 1404: "status"
13:05:45.133 (loader): flash, block=2, bs=1024, auto=1
13:05:50.163 (ports 5): WM_DEVICECHANGE DBT_DEVNODES_CHANGED
13:05:50.164 (ports 5): nothing new, skipping HID & Ports enum
13:06:15.331 (serialmon 26): Begin, version=1.54-beta7, high-res time
13:06:15.331 (serialmon 26): listening for location: usb:0/140000/0/1
13:06:15.331 (serialmon 26): LoadLibrary cfgmgr32 ok
13:06:15.331 (serialmon 26): LoadLibrary ntdll ok
13:06:15.334 (serialmon 26): callback 0024
13:06:15.334 (serialmon 26): callback 0081
13:06:15.335 (serialmon 26): callback 0083
13:06:15.336 (serialmon 26): hWnd = 5509874
13:06:15.336 (serialmon 26): loop stdin, ready=262143
13:06:15.337 (serialmon 26): found_usb_device, id=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:06:15.337 (serialmon 26): found_usb_device, loc=usb:0/140000/0/1    Port_#0001.Hub_#0002
13:06:15.337 (serialmon 26): found_usb_device, hwid=USB\VID_16C0&PID_0478&REV_0106
13:06:15.337 (serialmon 26): found_usb_device, devinst=00000008
13:06:15.337 (serialmon 26): add: loc=usb:0/140000/0/1, class=HID, vid=16C0, pid=0478, ver=0106, serial=000cede2, dev=\\?\usb#vid_16c0&pid_0478#000cede2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:06:15.337 (serialmon 26): hiddev_from_devinst_list: iface=0
13:06:15.339 (serialmon 26): found_usb_device complete
13:06:15.339 (serialmon 26): found_usb_device, id=\\?\usb#vid_16c0&pid_0483#1234560#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:06:15.339 (serialmon 26): found_usb_device, loc=usb:0/140000/0/6/4    Port_#0004.Hub_#0006
13:06:15.339 (serialmon 26): found_usb_device, hwid=USB\VID_16C0&PID_0483&REV_0280
13:06:15.339 (serialmon 26): found_usb_device, devinst=00000009
13:06:15.339 (serialmon 26): add: loc=usb:0/140000/0/6/4, class=USB, vid=16C0, pid=0483, ver=0280, serial=1234560, dev=\\?\usb#vid_16c0&pid_0483#1234560#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
13:06:15.339 (serialmon 26):   comport_from_devinst_list attempt
13:06:15.339 (serialmon 26):   found Ports in classguid_list at index=1
13:06:15.339 (serialmon 26):   port COM22 found from devnode
13:06:15.339 (serialmon 26): found_usb_device complete
13:06:15.340 (serialmon 26): hid, found devinst=0000000D
13:06:15.340 (serialmon 26): usb_add: usb:0/140000/0/6/4
[B][COLOR="#FF0000"]13:06:15.357 (loader): program: write error[/COLOR][/B]
13:06:15.359 (loader): HID/win32: HidD_GetPreparsedData ok, device still online :-)
13:06:15.366 (loader): end operation, total time = 30.439 seconds
13:06:15.370 (loader): set background IMG_DOWNLOAD_ERROR
13:06:15.373 (loader): redraw timer set, image 11 to show for 4000 ms
13:06:15.384 (loader): remote connection 1404 closed
13:06:15.384 (loader): remote connection 1524 closed
13:06:15.384 (loader): remote connection 1524 opened
13:06:15.385 (serialmon 26): usb_add: usb:0/140000/0/1
13:06:15.385 (serialmon 26): ignoring partial USB device discovery (Windows XP issue?)
13:06:15.635 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:15.636 (serialmon 26): hid, found devinst=0000000D
13:06:15.888 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:15.889 (serialmon 26): hid, found devinst=0000000D
13:06:16.139 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:16.141 (serialmon 26): hid, found devinst=0000000D
13:06:16.393 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:16.394 (serialmon 26): hid, found devinst=0000000D
13:06:16.646 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:16.647 (serialmon 26): hid, found devinst=0000000D
13:06:16.899 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:16.900 (serialmon 26): hid, found devinst=0000000D
13:06:17.153 (serialmon 26): retry device discovery (Windows XP workaround)
13:06:17.154 (serialmon 26): hid, found devinst=0000000D
13:06:17.405 (serialmon 26): timeout
13:06:17.406 (serialmon 26): hid, found devinst=0000000D
13:06:19.385 (loader): redraw, image 10
13:06:19.391 (loader): set background IMG_ONLINE
 
I updated my little MicroMod helper files which I made for my DIY MicroMod T3.2. Should work now with the MicroMod T4. It contains the mapping of the MM pins to the Teensy pins so that you can use the pin names as defined by Sparkfun (and printed on the carrier boards). It also has a helper class for the 8bit bus functionality.

Since I currently don't have a MMT4 board the update was done dry and probably has some bugs in it. If somebody wants to try: https://github.com/luni64/TeensyHelpers/tree/master/src/MicroModT4

Usage:
...

Pulled that library and not seeing it work in IDE with p#64 sketch?

Getting various moving errors with attempts to fix :(

Code:
Invalid library found in T:\tCode\libraries\TeensyHelpers: no headers files (.h) found in T:\tCode\libraries\TeensyHelpers

Perhaps do a Verify build in IDE to see what it needs?

That header path is not discovered within lib/src folder by IDE it seems?

And making a local sketch folder with those files shows not looking for library:
Code:
MMhelpLuni:6: error: 'MM32' does not name a type
 MM32::BUS bus;                      // might be better to have that as a predefined singleton
 ^
MMhelpLuni: In function 'void setup()':
MMhelpLuni:14: error: 'bus' was not declared in this scope
     pinMode(bus, OUTPUT);          // set pinMode for entire bus       
             ^
MMhelpLuni:18: warning: unused variable 'val' 
     uint8_t val = bus;             // read 8bit value from bus
             ^
'MM32' does not name a type


<EDIT> - Just noticed this compiling another unrelated sketch the IDE shows:
Invalid library found in T:\tCode\libraries\TeensyHelpers: no headers files (.h) found in T:\tCode\libraries\TeensyHelpers
 
Last edited:
Not laughing @mjs513 :( ... but I will say 'I told you so' :)

USB-C - so awesome and yet such a pain. I ended up buying like 10 cables in combination to match and switch for new phone and chargers. Also helps with external HDD that is USB-C too - and new computer with a front USB-C.

And the cable here is heavy/stiff and tends to pull the little carrier boards to the floor as configured :( - and SFun connectors are all surface mount.

@defragster = @KurtE
Well I did purchase a USB-C cable from Sparkfun but it was the wrong one, didn't look close enough. It was a USBC to USBC cable :) Any got one now Blink loaded and ran no problem now for the I2C test.
 
@defragster = @KurtE
Well I did purchase a USB-C cable from Sparkfun but it was the wrong one, didn't look close enough. It was a USBC to USBC cable :) Any got one now Blink loaded and ran no problem now for the I2C test.

As noted - they are a challenge ... the ~10 I bought are various end configs and lengths. Between device and computer or charger they are all a mix. Nice havin one on a new computer - but only one means still need old style - but half of new chargers are USB-C now ... wireless or wallwart :(
 
Ok ran the following test on I2C QWIIC connectors and a Sparkfun QWIIC Keypad:
1. SDA - Wire
Code:
Qwiic KeyPad Example
Initialized. Firmware Version: v1.0
Press a button: * to do a space. # to go to next line.
     88888888880009632147 0854
012456789 777775555 00008888555
All good. Keypad found and operational

2. SDA1 - Wire1 (keypad1.begin(Wire1))
Code:
Qwiic KeyPad Example
Keypad does not appear to be connected. Please check wiring. Freezing...]
No good not recognized so SDA1 not equivalent to Wire1.

3. SDA1 - Wire2 (keypad1.begin(Wire2))
Code:
Qwiic KeyPad Example
Initialized. Firmware Version: v1.0
Press a button: * to do a space. # to go to next line.
00088855522233366699

99552211
9966555 88855223366997744331
So SDA1 = Wire2. So do we change this?

Ok - have to test the rest later when I find the rest of my QWIIC stuff. :)
 
@defragster - @Paul
Just ran LFSIntegrity as well on DMAMEM ramdisk and its failing:
Code:
:: /6_dir/O_file.txt  RAM_DISK +++ Add [sz 8192 add 8192] @KB/sec 2232.15 {1618.65}  ++ O   Verify /6_dir/O_file.txt 16384B  @KB/sec 2481.67 
:: /6_dir/P_file.txt  RAM_DISK +++ Add [sz 8704 add 8704] @KB/sec 2286.31 {1670.31}  ++ P   Verify /6_dir/P_file.txt 17408B  @KB/sec 2488.99 
:: /6_dir/Q_file.txt  RAM_DISK +++ Add [sz 9216 add 9216] @KB/sec 2280.62 {1684.83}  ++ Q   Verify /6_dir/Q_file.txt 18432B  @KB/sec 2492.83 
:: /6_dir/R_file.txt  RAM_DISK +++ Add [sz 9728 add 9728] @KB/sec 2280.89 {1704.87}  ++ R   Verify /6_dir/R_file.txt 19456B  @KB/sec 2497.88 
:: /6_dir/S_file.txt  RAM_DISK +++ Add [sz 10240 add 3677] @KB/sec 342.08 {301.00} 
	write fail ERR# -28 0xFFFFFFE4 
0[  3.05 M](0.01925 M elap) Awaiting input 0123456789RdwcghkFqvplmusSBbyYxfan+-? loops left 0
but I think more importantly if I run littlefs_teensy_test1a and try to access the W25Q128 flash it fails to start it hangs at
Code:
myfs.begin()
.

EDIT: SPIFlash not working either for the W25Q128
 
Last edited:
@defragster = @KurtE
Well I did purchase a USB-C cable from Sparkfun but it was the wrong one, didn't look close enough. It was a USBC to USBC cable :) Any got one now Blink loaded and ran no problem now for the I2C test.

Been there, done that ;) (Again) I thought I had it handled as my two Ipads use the USB-c, but they have it for both ends... So I now have an Amazon Basic...

Sorry I have not been to town to pick it up, so playing with MTP/MSC trying to get date times... But that is a story for different thread.
 
@defragster - @Paul
Just ran LFSIntegrity as well on DMAMEM ramdisk and its failing:
...
EDIT: SPIFlash not working either for the W25Q128

I just confirmed github.com/PaulStoffregen/LittleFS - has the WIPE 'w' command that was the last added AFAIK ... a month back.

@mjs513 - assume you are current? Only fail on RAM?

@Paul _ trying to switch to RAM - the PROG LFS drive worked fine - again 'Program Error' on initial upload when 15MB needed formatting.

Odd RAM failing? Works here? Seems that is "DISK FULL" ERROR.

Check for "#define ROOTONLY " and these lines:
Code:
#define SUBADD 10	// bytes added each pass (*times file number)
#define BIGADD 400 // 1024	// bytes added each pass - bigger will quickly consume more space
 
@defragster
No PSRAM on MicroMod- try switching to DMAMEM. Ran into that as well.

Still can figure out why QSPI Flash isn't working - I can't mess the wiring up on that one.

OK got SPIFlash working - had wiring backwards.
MISO is COPI (12)
MOSI is CIPO (11)

Code:
LittleFS Test
flash begin
Flash ID: EF 40 18  80
Flash size is 16.00 Mbyte
attempting to mount existing media
success
TotalSize (Bytes): 16777216
started
MAKE files
printDirectory
--------------
FILE	bigfile.txt  		616448
FILE	mtpindex.dat		0
DIR	structureData1 / 
	FILE	temp_test.txt		19

 0 dirs with 1 files of Size 19 Bytes
FILE	temp_test1.txt		19
FILE	temp_test2.txt		19
FILE	temp_test3.txt		1024
FILE	workshop.pdf		8894873

 1 dirs with 6 files of Size 9512383 Bytes

--------------
printDirectory
--------------
FILE	bigfile.txt  		616448
FILE	mtpindex.dat		0
DIR	structureData1 / 
	FILE	temp_test.txt		38

 0 dirs with 1 files of Size 38 Bytes
FILE	temp_test1.txt		38
FILE	temp_test2.txt		38
FILE	temp_test3.txt		2048
FILE	workshop.pdf		8894873

 1 dirs with 6 files of Size 9513445 Bytes

Disk Usuage:
Bytes Used: 9551872, Bytes Total:16777216
Test for SOME DATA TO TEST
 
Back
Top