If the tab completely covers the pad, you have to either use a heat gun or maybe have your iron on the tab for some extended amount of time to try to melt the solder under the tab. I might add a bit of solder paste to...
I just took a look at my LC. The microUSB has two surface tabs that can be soldered by hand. First you want to check the solder pads (2 for the tabs and 5 for the connection) on the board to make sure they are all...
I'm not a drummer so what I suggest may be just wrong:
Say you have 5 drums. Build each like you did with the single drum. Then under the middle drum, install a hub. So two left drums wire to under the center drum,...
I guess there's the spec, then there's popular hosts such as windows/nix/macos, then there's device manufacturers.
Here's what I have on a square ipad stand hosting a receipt printer:
10ms between setAddress and...
Thanks. Yeah, a better way to add another case with some USB timer will be great but I didn't know how. Hope you find out what else may cause the issue and make a patch. I've heavily modified the library so I will have...
@Paul,
Is it related to this issue? This causes issues to
https://github.com/PaulStoffregen/USBHost_t36/issues/87
Can you please share what delay command you used? Thanks.
My suspicion is that the code running on keybow causes some delay/blocking during boot so if you add some delay in teensy before it enumerates keybow, then keybow has completed initialization (could be the...
Thanks @mark. I think JLCPCB must have very large rolls and may have pressed the non-framed stencils before shipping. Theirs are much flatter than osh stencil's.
The first image is from JLCPCB. When ordering stencils at JLCPCB, I've been scared by this image at times and have always hated it because it looks like my board file has got screwed up, from those components placed at...
I tried to remove some simple thruhole components with a soldering iron some decades ago and had very poor success. Kind of questioned whether I could learn soldering. It turned out the board was covered with conformal...
It is, difficult, to look at. While this turned out to be salvageable, you should do some more practice on scrap boards (broken electronics etc) before doing this again! To remove a connector, use hot air rework station...
Thanks Paul! I'll avoid using DMA to access PSRAM. What I want to do is to write some content into OUTbuf, then have the content sent to a USB device using a USBHost_t36 library driver I wrote, and "at the same time"...
Just want to check whether I'm doing it right:
I have an 8MB PSRAM from prjc that I soldered to my T4.1 smaller footprint. I plan to use the PSRAM as a large buffer so I don't need ext_malloc().
#define...
This may help you stay with MEGA2560 for a bit longer if you wish to pay the $33+SH price:
https://www.rugged-circuits.com/new-products/quadram
Do read the tech details if you want to get it:
...
OK, you have the right expectation. It's not impossible but very unlikely unless you have a lot of time, the right tools, and don't mind doing a lot of hard work. I don't know what setup you have and how you can't just...
It's a very extensive project you're developing and managing @paul and despite of my short time using teensy so far I, see an excellent project, platform, and community, so I'm just going to remind myself to grab...
Great! You definitely went above and beyond of merely asking for an answer. You took the information and went ahead with your own investigation, and you posted back your solution. Thanks! This was also a first clean win...
@paul I really wish you would allow a maximal of 1920*1080 image size as most people have this resolution or higher on their monitors and could provide screen shots at this resolution, not the 2000-era 1280 pixels wide....
You need to provide a link to this adapter you got. Nobody knows exactly what you have. I have this one:
https://www.amazon.com/Monoprice-Extender-CAT5E-Connection-150ft/dp/B003L14ZTC/
This is only good for USB...
I'm not familiar with the library you're using but I can provide some timing data/diagram of a 2-channel rotary encoder. It's not as symmetric as most theory diagrams picture them. Here is what I have:
...
Maybe you didn't have the right Zener diode. Or it could have been broken. Lower voltage Zener diodes can get damaged by static electricity if they are in non-antistatic bags. If you bought a 3.6V Zener, then it should...
So I am seriously considering running host mode on OTG1 (instead of on OTG2) and device mode on OTG2 so I can have all 8 EPs to work with. This stems from drivers of devices I want to simulate. Some drivers are smart...
So when successful, it took 0.1ms to go from set address to get dev desc. I'm suspecting that it WAS circuitpython running startup routines in the background that caused the device to respond too slowly. If you're...
I wish I had your optimism or skill level. I've been designing boards for over a decade but on 2-layer boards so far. As I mentioned, I only know some things in theory. Hope you can get some prototype boards working....
Thanks @Paul. I think you answered my questions. I may be interested in a few 1062 and the smaller chips with bootloader. It's for one of the projects I've been bugging you guys with weird USB questions for. Should I PM...
Could you post your successful enumeration with the 5-second delay? I am curious whether it is the rp2040 that is too slow to respond with USB requests when it starts up circuitpython and usb device. If you wait 5...
I'm not sure what took the same device so much longer to respond to Teensy than PC. The error was not the setup packet of "set address" that got stalled. The one after it got stalled. It's a request for device...
I am guessing the answer is no according to the spec sheet but just want a confirmation:
Page 2203:
I did a rough search of "LPM" and all of them came out of chapter 44 with FlexCAN. So no support then?
I found this schematic diagram from an AVR microcontroller. It may be easier to understand since the diodes are drawn almost in line. You can imagine the resistor on the right to external input and Teensy pin on left.
...
Sorry the photo is a bit out of focus as it's too close. You need one Zener diode of the appropriate voltage (3.3V or maybe 3.6V), and a resistor to limit current from your source. This resistor's value depends on the...
I'm potentially interested in making one T4.1 program another. Is there any documentation of the Halfkay protocol? From what I see, my pc is just dumping data to teensy using update HID reports. It'll be nice to know...
I was hoping @Paul would chime in at some point :D Thanks! So if I used the micromod, then both IC_MKL02Z and the correct power sequence are on the micromod, right? I was looking at the schematic. Sparkfun has 3.3V...
The device USB port that you will need to program your board runs at USB 2.0 (480MHz) so that is the part that needs some careful routing. I was able to route them on 2-layer boards that embed Teensy 4.x boards on them...
FYI, the sparkfun micromod Teensy processor is an EAGLE design with 4 layers and has all the essential components to make a basic Teensy 4.x. I think that design will be my personal step 1 towards a 4-layer board where...
What about a less daunting task of using the sparkfun Teensy micromod module? All you need is to customize the carrier board that has EAGLE design file 2-layer and everything. If you've done similarly complex designs in...
"High" baud rate and "low" voltage of 3.3V is not a great combination. If you raise the voltage of your signal using a max3232 to nominal +-12V on the Teensy end, then lower it down to proper level with another MAX3232,...
Every time I open up a BOM, I'm like "Damn! More things are OOS and unreliable suppliers are holding large or remaining stocks so many things and selling at huge profits like 1,000%!"
Here is me placing 3 footprints...
1. will the powered hub handle hot-plugging and not cause issues for the Teensy? I won't hot-plug the hub in and out of the Teensy, the concern is about peripherals being hot plugged into the hub.
Yes either way. There...
Alignments:
transfer_t: These are device transfer descriptors (dTD in device mode). They are aligned to 32 bytes
Transfer_t: These are queue element transfer descriptors (qTD in host mode). They are aligned to 32...
I'm trying to understand some exception handling of the host library. Say if I'm sending data to a printer's BULK OUT EP, and the printer is printing so it's not accepting more data than it can hold, so it keeps...
Thanks for the info. I am just guessing, while you are doing SPI transfer, the display can't access its memory (or the portion you're writing to) so it will flicker, against the liquid crystal display's relaxation time...
Maybe since you can't provide details, you can ask your customer for all the details they can provide and compare the differences between your desktop prototype and theirs. Have them ship theirs back to you for...
Thanks PaulS. I checked over and over. I saw no solder jumpers or balls or else. Is it possible that static electricity may have destroyed the output capacitor of the 3V3 regulator and it's shorting? I don't have time...
Such as 32-byte aligned for transfer_t and pipe_t and 4K-aligned for endpoint_t in device mode code? It would be great to see all of these memory alignments in one place.
I wonder if data buffers for transfers must be...
So I've used this board for a couple of months without issues. I wanted to connect to Serial1 so I soldered two rows of headers to it. Coincidentally after soldering on the headers the device stopped working. I touched...
I'm somewhat a current with the host library.
So assume you run HIDDeviceInfo sample code, and it freezes up, I examined the printouts. There were multiple errors during enumeration.
Starting with your "Keybow...
Hi,
I would recommend you start a new thread with your questions. If you open arduino and follow examples menu under teensy, there is one library called encoder. There is a "Basic" example that you may want to check...
Thank you! I will check it out. I've written some device code myself on 32U4, a much smaller system. Would be great to read more device code and variations.
Thank you so much Paul! I know it must be hard to develop and manage such a successful product line including the software, hardware, and forum. I can see from the code I've read, such as core, and several libraries...
Thanks Paul! I'll follow your debounce time recommendation. I may decide to reboot instead if I can't tackle all of the resource freeing in addition to rebooting the USB controller.
Thank you Paul! I'm reading the relevant pages. It'll take some time to digest that much stuff.
So quick question: If I reverse the roles, using the "device port" (OTG core 1?) as host and the "host port" (OTG core...
I've seen this EXPERIMENTAL_INTERFACE but it's not enabled even under the USB_EVERYTHING. It's only mentioned under USB_SERIAL and commented out:
#if defined(USB_SERIAL)
#define VENDOR_ID 0x16C0
#define...
Here are two functions in usb.c. They each return without configuring an EP if it is less than 2, which means EP0 and EP1. I understand that EP0 is configured elsewhere but why not allowing EP1 to be configured? I would...
Thanks. That makes sense. The message reads O BAD OOFI. So it's the hint the CPU leaves for determining what happened before the reset. I can assign any values that will be checked after reset.
You really need to read my responses better. I said, if delay(10000) works, then try lower the time until it stops working and decide the minimal delay, for the thing to switch over to HID mode. Maybe you only need a...
Thanks. With the register name I found this snippet in void unused_interrupt_vector(void) in startup.c
// reboot
SRC_GPR5 = 0x0BAD00F1;
SCB_AIRCR = 0x05FA0004;
while (1) ;
I found some reference that...
How do I reset the processor in software? Is there a reset() function to call, a register bit to set, etc? I wish to reset the processor and any hardware, essentially causing a reset like a power-on reset. If there's...
I confirmed with my USB analyzer that when micropython firmware is loaded it would enumerate like the way you saw in teensy. I don't have the Pimoroni Kewbow2040 so I imagine it would re-enumerate as an HID keyboard. I...
I can answer my own question: the library deletes all pipes the device is connected to, including the control pipe.
This is a part of void USBHost::disconnect_Device(Device_t *dev) which is called when a...
I'm familiar with keyboards and scanners. This isn't one of them. Also, the extra zeros in Teensy descriptors printout, that could be the reason for the endless loop. Teensy should be requesting the exact amount of You...
Read more code. I think the control pipe's direction will change depending on what's going on, such as sending setup packet, or request IN data etc.
So now I have a different pipe-related question: once the device is...