Twin 8MB PSRAM chips is the most that can be accessed to date on the T_4.1.
What version of TeensyDuino is in use?
The current Beta 7 version of TeensyDuino 1.54 has changed the code behind SD.h and it run at...
Ken at protosupplies.com 24+pin+header has some normal and more expensive great quality low profile versions in 24 pin lengths.
Some of us used the recommended low profile ones and I needed more - Ken ordered a...
OLD POST UPDATE: Looking to use this simple code to test something else for ability to restart ...
Using this web page the results can be confirmed: numberempire.com/3590089
For that value 3590089 - it confirms...
As noted in post#3 by Paul - it works here - using T_4.1 and a known good cable.
Not ever seen such a thing here, other than using the while(!Serial) in some fashion needed before the fist output will show - and...
Hope was that the post #6 code would be a starting point to show the switches working. It is just a Bounce2 example modified as noted for two buttons.
If that works to reliably read the two buttons and print FWD,...
@Paul - Another Ref point for above post USB-Serial-Print-Speed-Test and @mjs513 sketch.
I have a zip install for IDE 1.8.13 and TD 1.53 that I didn't delete.
The Teensy is running the prior uploaded code.
...
Okay, was just clarifying the need to use Teensy Host to Emulate libusb as Windows Host would present it. T4.x makes sense.
Names above are the API Doc's - and the source code :(
USB Host has support for...
I made a forked copy and put that folder and file on this system.
Then made that PR - not sure how it isn't normal.
When I go to the www.git clicking Pull Request want's to know from where. If the file existed I...
Probably not :)
It seemed a new folder was needed - not sure if I can do that from the web?
If I had write permission - or you created a new git for that?
Will go try ...
Some of that in MSC and USBHost work ongoing in other threads ( wwatson, WMXZ, KurtE, mjs513 ) - how many of those elements are supported now?
This is for use on USB Host connect on Teensy 3.6 and 4.x? What is the...
opps ... misread ... not an EE for solving the real problem then.
But do understand that having two supplies is a bad idea without diode protection, the VIN<>VUSB trace should be cut - why the lower volt batteries...
In use the direct read of the end switches may chatter as well - depending on how they are switched - could result in bouncing on/off - adding those as two more de bounced buttons may be better.
But the P#6 code was...
@Paul for reference using : github.com/PaulStoffregen/USB-Serial-Print-Speed-Test
With IDE 1.8.13 SerMon and T_4.1 :
SerMon works for some time - spewed some ASM source - ran some more - then the IDE "CLOSED" wholly...
Referring back to post#6 sketch - the BOUNCE2 lib was used as an example to make sure the buttons were properly monitored without BOUNCE - pushing/releasing most buttons will see them cycle HIGH/LOW multiple times in...
UPDATING to DELETE PRIOR POST - external drive had POWER OFF :( - it FELL once - changed Teensy setup on desk and put rubber feet on External HUB/DRIVE.
Got the updated p#23 UsbMsc. Using the VolumeName.ino sketch (...
Indeed if it can work include @all
>> @All here : wwatson, mjs513, KurtE. WMXZ ...
Lots of libs in :: MTP-MSC-FS-SD-SDFat-LittleFS-UsbMSCFat
Other: USBHost@PJRC
@All here : wwatson, mjs513, KurtE ...
If I made the Unified multi Lib on github and gave all write access we wouldn't need PR's (or catching diff edits) - just fixes?
Does that have validity - then this thread...
As noted the 'java exceptions' were not PJRC code but the IDE SerMon! It was working better than T_sermon - until it ran out of memory.
Was going back to other code that wouldn't build - and didn't want TEENSY...
Same build issue here on prior code. Must be another moving part?
I like the idea of having one thread for this combination effort for context - so here is fine without jumping threads or polluting the wrong one.
...
Glad to confirm - saw your note and had to go to effort to remove TyComm as that is the default here.
Now that it got the noted Java Exceptions - even restarting the IDE didn't seem to bring the teensy_serialmon...
Thanks TonTon81 - I did go look at your code and saw that watchdogs have their own exit path not through Fault. Of course by default no watchdogs are enabled.
@FrankB and @MeBoop : bummer their isn't a clear way to...
I can confirm this on my new i7-10700 Windows 10 machine.
With Teensyserialmon.exe
I pulled out TyCommander as default and using IDE 1.53 with TD 1.54b7
> It Stalls printing about 1.5 seconds
> Occasionally repeat...
dir() is the other way around. Running along and see a problem and cause a reset.
The userHFDebugDump() is:
> Fault happens - as it does log return address
> Call empty weak userHFDebugDump() : unless USER code...
The 3.3V pin on Teensy can only take a regulated 3.3V if feeding that.
If Feeding VIN on a T_3.2 the card spec shows 3.6 to 6.0 Volts. Any less than that and the Teensy can't assure 3.3V as there is some voltage...
If the post #6 code works reliably to print the desired message using wired buttons - then instead of just printing - issue the commands to the motor as indicated for FWD or REV? What the commands look like is beyond...
Before I powered up my first Teensy I was looking at DigiSpark 8 bit AVR - a guy there did dithering for gray scale. I don't find signs of it from 6+ years ago ...
@MichaelMeissner - any chance you remember that? ...
That is a T_3.6.
Reason: The T_3.5 and T_3.6 share the exact same PCB.
Differences are:
MCU Marked as MK66 on that T_3.6 picture and the T_3.5 would have an MK64.
Also on that the row of 5 inner pin holes...
Not having used the library - but again charlieplexing works by running (fast cycling) power out the desired pins counting on the diode to light when biased properly and block otherwise.
RE p#6 ::
At no point...
Three pins - at any one time one is GND and at most two on a row are HIGH?
wiring not shown - and just guessing from general understanding and quick wiki glance ... 5 and 6 are on a row and powering them uses pin 4...
Okay, thought maybe you had the math and logic to find and walk back the call stack.
Frank has the PR to PJRC CORES for his code and I put a PR on hit PowerButton with an updated copy of the hardfaults.cpp that...
No interrupt disable! I should try looking at the Teensy3 code ( that does disable ) to replace when over 48 MHZ ( exclude T_LC with no CYCCNT and slow speed issue ? - but ould require CYCNT - and not having user using...
Cool! - you got it working
Single 32 word is to be atomic - says Paul - is lastCurrent not a single 32 bit DWORD word ... from a single DWORD? Maybe it changes between READ and Assignment?
If you ever have issues...
Found this newer post that may work as a faster example: Teensy-4-0-PORT-manipulation-to-read-write-data-to-multiple-pins
Shows port read from ordered pins and masking to get the value. Post #9 there noted it takes...
There is this page with a sample sketch that should run and provide a table of the PIN to PORT mapping :: TeensyUser/doc/wiki/Mapping-Pins-to-Ports
Look around there perhaps for port read usage? I didn't see it...
Follow the links in this post - one should demo a port read of all the pins on that port :: Teensy-4-1-8-Bit-Parallel-I-O
That post is from mid 2020 - there may be other newer posts but IIRC at least one demonstrated...
Quick single search shows it here : www.math.sci.hiroshima-u.ac.jp/m-mat/MT/TINYMT/index.html
URL the same - just a ~ changed in the path.
On github as : github.com/MersenneTwister-Lab/TinyMT
> last update : Aug...
Good luck with whatever is working to trace back.
If you have code that can walk back and uncover the stack in any way please post.
The code edit just forwarded to FrankB could capture that onto PSRAM or RAM2...
That would be this then :: effective states : -1 (when REV held) or 0 or +1 (when FWD held)
The code posted has a lot more involved that isn't relevant given no analog is desired ...
Perhaps start with this...
Since it wasn't stated ... had to ask given the use of 5V - could have been an AVR Teensy - otherwise it makes no sense to use 5V for an input when while 5V tolerant - it is a device designed for 3.3V usage.
Any pin...
What Teensy is in use? Is it one that is 5V tolerant?
From 2 buttons FWD and REV ? Is the motion to stop when the button released - not return to zero?
Looking at the T_3.5 card. The Compact notations there indicate::
For WIRE - bold is default pin and non-bold is alternate for selection using .setXXX() to use the Alternate pins
pin: function
19 : SCL0
18 :...
Was there a change I missed for improved SD card reading? I have four partitions on mine and it is only giving this:
Initialize SD card...SD card is present.
SD Fat Type: Fat32
Volume Name: SD1_8GB_AD
done......
FrankB's code isn't in a PJRC release yet - just a Pull Request on github.
I made some edits for his review that allows call to user sketch on a FAULT to save data to DMAMEM or EXTMEM for view after restart. This...
The Bootloader responds to the button by a hardware signal on the board.
The USB Wire signal requires a functional USB Stack. Having output is one thing that somehow often works.
But the USB jump to Bootloader...
@MeBoop: Writing to the SD in faulted state is suspect? Lots of overhead and moving parts have to be working for that? As noted - some faults allow USB Serial.print() others do not - but returning from fault handler...
@MeBoop - indeed - would be great to see your 'crash trace dumo' code.
FrankB added a great T_4.x solution using the RAM2 area for Fault data storage. RAM2 is not zeroed on restart and if power is maintained that...
Looks right for FAT32. Fat16 was big enough for MS-DOS as HDD's grew - much more so accounting for var sized clusters with compression factor of 16:1. Even Win95 with FAT32 couldn't fit FAT in single alloc limit of...
p#523 crosspost ...
Windows view of USB Hub Drive >> H: << and Flash drives >> F: and G: << as below:
Here is run on p#522 updated code - now has ExFat drive size:
Waiting up to 5 seconds for USB drive 1...
Just plugged in my 5 TB external - yesterday's code - doesn't matter given the part ID #238:
msc # Partition Table
part,boot,bgnCHS,type,endCHS,start,length...
Great! Also easy to use :: #define WIRE WIRE2
Not sure where those pin numbers came from they don't seem to match any 32 bit Teensy card. The T_3.5 and 3.6 can use ALT WIRE on pins 7&8.
The T_4.1 package is : LFBGA196 and 12 x 12 mm, 0.8 mm pitch, ball matrix
The 1170 package is : LFBGA289 and 14 mm x 14 mm, 0.8 mm pitch
There was a note IIRC the board would have to be bigger just to hold the...
As noted those pins are for Wire2
So all the WIRE commands need to use WIRE2 not WIRE
That should select the right internal hardware to connect those pins.
Glad you got it - there is an #if 0 in setup that will quickly confirm Faults are trapped as configured.
Locked up? Does it do the CARAT printing from timer with "#define SHOW_CLOCK_CARAT 1"? If not then it is...
@wwatson - perhaps with line #16 on in UPDATE sketch below : //#define SHOW_CLOCK_CARAT 1
That will show MCU running but USB msgs stalled. Have you hacked in the PR for HardFaults just to know if any hang results from...
Fun News: Fresh 128GB SD - as noted with 116GB primary ExFat.
Week old Windows 10 i7 - running next release of Windows 21H1 insider build:
On SD Deleted Factory Partition - Created one of 8GB { after format : BSOD...
p#494 sketch looks Great!
Grabbed a fresh 128GB SD card and will make it Multi Partition.
I thought to do something like procesMSDrive(1, msDrive1, msc1); rather than Dupe - but time was limited and wanted to get...
Buying a Teensy LC would have least cost - especially if you really use 5 of them. Not sure of any reason it wouldn't work as well as the others for this dedicated purpose?
See this for PCB creation and DEMO:...
Done for now - Got Twin Drives Hacked in and working!!!!
Duplicated setup code for msDrive 1 and 2 in loop() - and pass ptr to msc1 or msc2 to the func( UsbFs *myMsc )'s that need it ( mbrDump and volLabel()'s )
>>...
GOOD NEWS! Looks like it was used a year ago for USBHost testing.
Now it just needs to be coded to bring up a second drive as well.
My 120GB HUB DRIVE is ExFat and now works - seems to have Vol Label - and it...
Turned on USB DEBUG
This is the inital case on power up where ExFat works:
new_Pipe
new_Pipe
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
Initialize USB drive...control CallbackIn (msController)
00 00 00...
Put the Teensy MSC formatted ExFat drive on Windows - looks good.
Had 16 MB Unallocated before the ExFat Partition. Made that space into a FAT drive.
Both Volumes have usable names - NOT SHOWN, and it sees the...
Code Merged - ExFat 128GB Flash lives:
Waiting up to 5 seconds for USB drive
^^^^Initialize USB drive...^^^^^~USB drive 1 is present.
msc1 Partition Table
part,boot,bgnCHS,type,endCHS,start,length
exFAT:...
Argh - that p#479 doesn't have my edits in :(
I have another drive : Flash 128 GB that was seen to FAIL using to backup PC data.
I just went to MSC ExFatFormatter - here is Format okay and startup okay ... then...
Turns out BOTH of these drives are MSFT formatted :) One for recover 64GB with 2nd partition now formatted where they image it with one of 32GB
The second 16GB drive they format when putting on the WIN 10 install...
Just made this ehci.cpp change to my system - No change to (1) on the startup Hang with write protected drive:
USBHS_USBCMD = USBHS_USBCMD_ITC(1) | USBHS_USBCMD_RS |
This system has HardFault detection enabled -...
Just back ... 'not Working' is the norm ... didn't read enough of the thread :)
> this with minimal USB 2.0 'hub' - not powered
Updated above post #470 ::
That is how Windows sees it, MSFT formatted it when they...
TyCommnader finds all online Teensy units. When part of the build process it pops up a dialog to 'pick your Teensy' the first time that hex is uploaded - then on subsequent uploads of that hex it is associated with...
... first pass answers links to other info ...
Forum search for ILI9488 will find development and notes on SPI display usage. There are options for continuous DMA update or single write processing and the screen can...
... using the p#469 code { I added : >>>pt->type: 12 }
My favorite/most used Flash is a FAT32 16GB with a physical write protect switch.
That is how Windows sees it, MSFT formatted it when they put on a Win 10...
Always a pain to plan soldering in advance for pin or socket and top or bottom - and picking the wrong combo leaves a hassle to deal with :(
If properly wired - and the jumpers are well connected - the jumper type...
T_4.1 with KurtE code ( and the p#467 Volume Name edit ) - on unpowered hub just the two partition 64GB Flash works!
>> NOTE: putting this flash in Win machine mounts both partitions/drive letters also.
Pulled SD card...
Using unpowered Hub and the 64GB Flash with 32 GB recovery Part - the 2nd part shows using KurtE code:
Notes on output below:
> there are about 300-400 pages of files displayed in TyComm on the recovery drive - does...
Some hacking here - esp with my odd powered hub that has internal device #1 of a 120GB HDD - then as coded it doesn't look beyond msDrive1.
Also odd about the hub as before - once enabled the Hub/HDD backfeeds power...
PR prepped to update with latest and LFSIntegrity got pulled into PJRC tree. Copied those files to git.defragster\lfsintegrity so they match now for changes going forward.
Finally built here ... swapped PJRC git USBHost into sketchbook/libraries ... still fail
Deleted that to use the td1.54b7 installed copy and IT BUILDS! { Maybe re-using the sketchbook folder left some debris? }
...
tCode is my sketchbook folder for local installed libs to replace any other installed libs. This is where I dumped the downloaded ZIPS from the github pages.
Used: T:\tCode\libraries\USBHost_t36
Not used:...
Awesome. Let me know if anything changes - the git.LFSIntegrity should match? We can manage any updates but that helps formatUnused look useful and improves/updates LFSIntegrity.ino.
The list of LIBS used looked right ? Unless I have an old copy?
Seeing this makes it seem like a prototype is missing from ???
T:\tCode\libraries\USBHost_t36\MTPDevice.cpp:318:6: error: 'MTPDevice' has not been...