I've used the DMA controller several times, and it pretty much always seems to go this way with quite a bit of experimenting and fiddling to figure out how to get the results I want.
To answer this specific question, the 32K limit is on the number of iterations of the major loop. So if you configure the minor loop to move just 1 byte, then you have a 32KB limit. But usually you would have the minor loop move at least 4...
DTCM isn't cached. The easy answer is to allocate your buffers in DTCM (the default for all static and global variables without any special keywords), but then the downside is you'll be consuming that precious fast memory which everything else...
When/if a higher quality audio board is in the design phase, you'll be on my short list of people to evaluate how well prototypes actually perform.
And generally speaking, yes, I agree with your analysis. For a future board designed with these...
My assessment is this:
The audio adaptor doesn't have a separate clean (linear regulator) on its digital supply and a properly separate analog ground, so it picks up digital hash from the T4 processor driectly from the 3V3 and GND pins (the T4...
My main thoughts on a higher quality audio board revolve around ground isolation. I really do believe even with SGTL5000, ground loops are our main enemy of quality sound, not the codec's specs. My gut feeling is a codec with better specs would...
Washing with isopropyl alcohol probably fixed it.
4 blinks almost always means a problem with the 24 MHz crystal, especially on a properly manufactured board that went though testing.
Even on custom PCBs, it's the same JTAG pins for...
Good news, Proto Supplies sells Teensy 4.1 with memory chips and others parts added. Of course it costs more, but if you want those parts soldered for you, they do it.
In fact, PJRC's PSRAM chip page mentions the Proto Supplies soldering option...
You will also need another 3x2 header pins, because removing the pins after soldering is virtually impossible. Don't try. The pins and the circuit board usually end up damaged by desoldering effort.
If you have a spare ethernet kit, you can...
Compare the photos on Sparkfun's website. Teensy 4.1 with ethernet versus Teensy 4.1 without ethernet. Look at the location between the main processor and the 6 pins for the ethernet ribbon cable.
Your photo clearly shows the version of Teensy...
One of the "use cases" I'm really hoping to address is the people wanting to build huge MIDI controllers with tons of analog pots, rotary encoders, switches. Or similar for audio synth projects where a large number of knobs or buttons control...
Thanks. I'll take a look. How much time I can spend on the software really depends on how things are going with SparkFun. We have a meeting with them next week. I think things are starting to run pretty smoothly now, but will find out more...
Those errors from msg #3 look like C++17 features used in the core library code aren't supported by the toolchain+params you're using.
We're definitely making use of C++17 stuff like "if constexpr" and "is_integral_v".
I hear you love...
I'll make the smallest batch possible of each. 2x 1DX and 2x 1YN. Both batches will be shipped to PJRC. This is my contribution, I can't really do anything in terms of coding development.
@Paul - @beermat and I did get to a point with the low level SDIO driver where we could do a network scan and join a network with an ssid and password. This was on a 1DX board provided by @Dogbone06.
pinouts:
The latest software that we were...
Let's start with just 1 or 2 of the 1DX chip, since that's what everyone else has. This board only brings out the SDIO signals, so probably best to save those 1YN chips until another design that can bring out the 4 serial and 4 audio signals...
Here's the list I was thinking of yesterday.
analog mux + pot-with-cable
high performance ADC chip (not audio focused)
higher quality audio
many channel audio
MIDI in / out
power over ethernet
battery power / management
single pair ethernet or...
Ideally this could be a Teensy 4.1 form factor shield that brings the Bluetooth audio I2S signal to pins 2-5 and the UART signals to Serial7 or Serial8 (with an inverter for CTS to an XBAR pin), and the Wifi to the 2nd SDIO port (pins...
I'm interested. :)
If you're going to make more hardware, any chance to use LBEE5KL1YN? Murata's website says it's the replacement for 1DX. Mouser seems to have them in stock at $8.26. Digikey also has them in stock, similar pricing.
Big...
Robin and I have a meeting with SparkFun next week. Among topics we'll likely discuss is possible new hardware.
Teensy 5.x is not up for discussion (NXP isn't shipping Cortex-M85 yet). Neither is RT1170 up for discussion right now, as the...
Yes, software support will happen. #784 already merged. It will be in 1.60-beta5.
I might rename "qspi_memory_base" before updating LittleFS, and minor changes like removing the unused PSRAM_IDs[] array might still happen, but small details...
I have no idea why you're experiencing this problem. In fact, I don't really even know quite what the problem is, other than you have several different high priority interrupts on a tight timing schedule and when you add use of HardwareSerial...
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.