Is the S pad connected?
From the SPH0641LM4H-1 datasheet (figure 1 on page 5), looks like it should be connected to GND so the data is valid for clock rising edge.
You can usually achieve pretty much the same thing with this size and memory alignment requirement by using ordinary mode with the registers to adjust the destination upon the last transfer, or by replacing the whole TCD when complete. Maybe the...
Maybe this can help?
https://forum.pjrc.com/index.php?threads/t4-memory-to-memory-using-dma.69845/
Also check the API and comments in DMAChannel.h.
https://github.com/PaulStoffregen/cores/blob/master/teensy4/DMAChannel.h
Most of the LPUART peripherals inside the chip can have their RX & TX signals routed to different pins. Even if those pins are among the many that aren't routed on the PCB, properly configuring the hardware involves setting up the input select...
Thanks. I've added both of these to the list at the end of the hardware serial page.
If anyone knows of more alternate or specialized serial library code, please tell me and I'll add them to this list. Hopefully long-term having a complete...
Maybe this can help?
https://forum.pjrc.com/index.php?threads/dma-serial-library-for-teensy-3-6-and-teensy-4-0.73974/
I recall there was another DMA serial library, but I've lost the link for it. Can anyone remind me of it? I want to update...
It's just newlib, whatever version was part of ARM's 11.3.rel1 release. That's the "easy" answer.
At the time we did the toolchain update I created these notes with the specific build commands used for the versions ARM didn't supply as compiled...
Yet another suggestion... or really a question, is regarding the use of pointers for StepPin and DirPin. Why do this?
Consider you're telling the compiler to go to the extra work of reading the pin number from somewhere else. At least from the...
Here's a few things to try:
1: Move the variable from assignments inside the code to C++ initialization list syntax. For example, change this:
Motor::Motor(String n, const byte *s, const byte *d, byte sw, byte m0){ // constructor
name...
PTC fuses limit current by increasing their resistance. They don't stop the current from flowing like a traditional fuse. Instead the current stabilizes at some high but hopefully not too destructively high amount. How high the steady current...
Usually I do try to reproduce a problem when complete code is shown. If you're still stuck, please consider reducing the program to something I and others can try running to reproduce the problem without needing special hardware.
Here's an...
I copied your code into Arduino IDE. It compiles without error.
But I have no idea what steps I should perform to reproduce the problem. I'm guessing I need some sort of USB MIDI instrument? Are 6 of that special CV hardware also needed...
I tried running your program by putting into loop() and adding my best guess for the setup() function.
Indeed there is a strange long delay is you disable interrupts. Both Serial and delay() need interrupts to function properly.
With...
I've added an update with a link to this thread on the Teensy LC product page. Hopefully it will help people who want to find Teensy LC to contact you.
Sad to say, the hardware is almost certainly damaged beyond repair. More than 6 volts for input power or more than 4 volts anywhere else is known to damage the hardware.
This is the sort of question best answered by software searching. Many good programs exist, but they mostly fall into 2 broad categories.
Modern IDEs can create search indexes of all the code you're using, which means you can highlight a...
Years ago I looked at slow responses for misbehaving bots. Maybe there is some way to do it, but it's tricky to accomplish without tying up resources on our side while the connection remains open.
For an idea of the scale, yesterday's log file...
At least you can look at the audio library source code for a known-good example!
Just to be realistic, even if you showed the complete program, I really can't spend a lot of time to track down where it's going wrong, when we have the officially...
Which hardware do you have connected to listen to the I2S data?
Have you tried simply running the normal audio library examples? Even if you want to write all the code from scratch, simply running the known-good examples could let you verify...
The bots are still at it, fetching about 10-15 URLs per second from a vast pool of IP numbers.
I'm configured the server to reply with 403 error for 22 large netblocks which are more than half the requests so far. A quick 403 response means PHP...
This is quite a lot of code, but it doesn't look like a complete program. I don't see a setup() or loop() function. Sorry, I really don't have time to review large code that I can't run on actual hardware.
If the issue is as simple as...
Usually pinMode() should be enough if the pins were configured as FlexIO.
There are some unusual cases. Libraries like OctoWS2811 which use DMA to the GPIO registers switch pins from fast-but-no-DMA GPIO5-9 to slow-DMA-friendly GPIO1-4...
Looking at the apache log files, the access patterns look similar to the problems we had back in October 2024. Whoever is doing this commands an impressive army of servers with thousands of different IP numbers. IPdb says finds locations all...
The compiler can recognize Serial.print("") actually does nothing, so it effectively deletes the function call and doesn't put any code into your program. Remember, we put ~10 years of work into heavily optimizing Teensy 3.x for speed and...
Indeed it's not quite right. It's also (probably) not ever going to be fixed, since all new development is on Teensy 4.x.
I'm not 100% certain why this happens (and also unlikely time will be invested to really dig into the reason why), but I...
FlexPWM has bitmask register which allow you to apply changes to more than 1 channel at the same moment.
I glanced only briefly at your code, but I immediately noticed these functions where you're setting only a single bit within those bitmap...
The I2C hardware has a glitch filter. Maybe we're configuring it wrong in slave mode?
Will investigate soon. Realistically, at the rate things are going I probably can't do much until late tonight or tomorrow. But it's clear we do have a...
That is pretty close to zero. If you didn't know what went wrong, and especially if the problem had appeared right after soldering pins or doing some other mechanical work where stray metal may have been placed on the circuit board, I would have...
That part is the voltage regulator. It gets burning hot when another part of the board is shorted (from 3.3V to GND), because the rest of the board is trying to consume nearly limitless current and the regulator tries to work as hard as it can...
I tried adding 1K resistors in series with BCLK and LRCLK... on a (admittedly pretty weak) hunch this may be a signal quality problem. It doesn't solve the problem, but does seem to make it behave differently.
I'm out of time for right now, but...
I added wires for BCLK and LRCLK, and indeed strange problems appear.
So far I have no idea why... just sharing the info and confirming I can see a problem as I start to investigate.
I'm trying to investigate. So far I have only the I2C wires connected between a Teensy 4.0 and Teensy 4.1 running the 2 programs from msg #1.
I'm seeing all the bytes printed in the Arduino Serial Monitor.
My scope sees both bytes too...
Well, at least this confirms they do have different serial numbers. Windows is supposed to assign a unique COM port number when the serial number differs. Why it didn't do as it was supposed to, I have no idea. Maybe a bug?
Since you're...
If you buy the version without detents so it turns smoothly, you'll see the software really is working as it should and you'll get 60 or 80 counts (depending on which resolution you buy) per 360 degree turn. 4 counts per pulse is the correct...
It's a well know hardware feature, or "issue" depending on your point of view.
The hardware has "click" detents on every full cycle of the quadrature waveform. Since they're quadrature (quad = four) you get 4 changes counted, because the...
Please understand we're blind guessing here. We can only see what you've shown us, which so far is almost nothing.
I tried to answer your question whether we've seen this before. But keep in mind I really can't see almost anything right now...
To explain just a bit further, the unable to sync on 100% bandwidth problem has every byte corrupted at the receiver, but they all do arrive at the correct pace. It only happens if the transmitter is already in the middle sending when the...
Agreed, this is really a job for an oscilloscope.
Ideally for the sake of testing you would short the 2 grounds together and connect to the scope's ground. Then you could watch the signal Teensy sends and the copy of it the other chip receives...
Usually download errors are due to poor quality USB cables or other physical connectivity or power problems. Before you pour a lot of time into the software side, check the most common things.
On the software side, the 2 places you might...