I have a relay jig that I use for this exact problem.
I'll get a chance to look at mine this weekend, and see if I can manage to alter the board to do the same.
Examples are indeed within the libraries, depending on what you want to do and depending on what hardware.
For serial devices, you will find the examples under UHS-HOST -> CDC-ACM. You will want the example under...
Try UHS3 it will work.
As a bonus, all UHS3 UART interface drivers will appear as CDC-ACM (common API) but also do provide access to extra features on chip-specific serial bridges.
https://github.com/felis/UHS30...
That will be coming soon once Kris is done with holiday, supposedly.
Of course pull requests are always welcome, and porting is quite easy to do.
Technically you don't even need a library to support a new device in...
UHS30 works out-of-the-box. UHS2 is going to be obsolete soon due to quirks and various politics going on.
UHS3 will also be moving to my own account soon as well.
Pushed some fixes, enhancements. Let me know if Novation Launchpad works now, or not.
The Audio Control subclass isn't supported, needs an interface driver for that.
Novation Launchpad... any chance you can give me a lsusb -vdVID:PID on Linux for that? I should be able to make it work.
T3.2 testing midi... Well, I don't "care" in the fact that I've never used it, but, hey, why...
Novation Launchpad isn't a regular midi device.
Seems to require special protocol from the quick look at various open source attempts to get it to operate on Linux.
Basically, if you can place the device into a...
@uleria It might not be reporting as standard midi, or isn't a standard midi device.
If it just doesn't report as midi, but actually is midi, then the vid and pid can be used to select the device.
Check your user...
Have you tried the following to reduce temp and power consumption instead?
while(1) __asm__ volatile ("wfi");
That will put the cpu core to sleep, but allow it to do anything important, which will only be...
Should! Glad you found my intentional compiler error to give you a hint.
I'll go through and should be able to clean up the remaining items later tonight.
Thank you very much for taking some time out from your busy...
@KurtE
@PaulStoffregen
Don't forget my PR https://github.com/PaulStoffregen/SPI/pull/39
At a minimum cherry pick the IRQ stuff. It is tested and working with UHS3.
NOTE! The added macros are important too!...
On the semi-related note, library.properties might make things a bit more difficult, because it is a collection of libraries... unless it can support dependencies, of course...
I'll look into it.
Got an idea... shrink nak by 1 bit, give you a flag. MAX NAK getting hit usually indicates some other issue anyway.
That way, you can check the flag, ping proto (perhaps use nak max as wait) and then dispatch.
I'll...
Can we just issue a ping packet if NYET is set?
Wouldn't that fulfill the requirement? Or could it cause a stall?
I'll see if there is a compact way to implement some state data in the epInfo structure if all else is...
Fixed. This was a holdover from UHS2.
NYET as a NAK is OK. This is how you would provide a timeout.
After NAK counts (NYET in this case) you bail out with NAK error status, and the drivers know what to do....
@PaulStoffregen SUCCESS!!!
After a few things fixed...
USB HOST READY.
No media. Waiting to mount /
/ mounted.
Removing '/HeLlO.tXt' file... completed with 4
Starting Write test...
I'll be pushing the example soon.
It will be in
libraries/UHS_FS/examples/UHS_KINETIS_EHCI/UHS_FS_NEW_DEMO
Right now I am fixing address creation, as it has always been broken.
Once fixed you will be able to...
@PaulStoffregen Here is how close it is to working.
ISRbottom, usb_task_state: 0x3
PCI Vbus state changed to 2
USB host speed now 2
ISRbottom, usb_task_state: 0x3
ISRbottom, usb_task_state: 0x5
ISRbottom,...
@PaulStoffregen I revisited the code, and added some notes, mostly where you misunderstood some things.
Pull the source, update the submodule, take a look at it when you get the chance.
As far as hub support, I will...
nee-ner nee-ner ;-) yeah... fix was not a requirement for UHS3, however I use it to optimize. Every little bit helps, nanosecond here, microsecond there...
digitalReadFast was fine.
I already submitted a pull request. And no, it doesn't have to be a constant.
The fast variants bypass checking the GPIO direction bits.
@PaulStoffregen Bug. digitalWriteFast broken on T4.
// On T4 this will not blink LED unless you use const int.
// T3 is OK.
int tst=LED_BUILTIN;
void setup() {
pinMode(tst, OUTPUT);
}
void loop() {
Right, Most bare-metal/non-RTOS stuff won't care if it blocks, because you are not typically running multiple threads of execution.
Have not had the chance to check on it to be honest. There have been a ton of...
I still find it unfortunate that this chip has EHCI. It is not by any means an MCU friendly hardware design.
While it MIGHT make sense if using an RTOS, it is still a horrid USB implementation, never liked HCI...
Just did a partial SPI pull request, but there seems to still be a huge issue with SPI here.
1. Can't control SS (pin 10) manually.
2. When SPI has been started, PIN 10 is always LOW.
@PaulStoffregen
I've not gone anywhere, just been busy making products for my client.
Not sure how much time I can dedicate, but I should, at a minimum, be able to do UHS3 support.
@PaulStoffregen
I'm interested in doing some more beta testing, and I see Teensy 4.0 is in the works...
My contact info hasn't changed. :-)
Also, I've been working on a non-usb board... KE1xF :-)