You need to connect GND between Teensy<-->power supply
Type: Posts; User: Mcu32
You need to connect GND between Teensy<-->power supply
Write the same value with color = background-color
Are the same build flags used?
I told you about this new information a long time ago :) But anyway, I'm glad that a newer toolchain is finally being used. It would be nice to see this for decades old components like the CMSIS or...
@ JarkkoL
This, for a micro controller quite impressive piece of silicon, is however miles away from a modern desktop CPU. It is also helpful to simply compare the orders of magnitude lower number...
Even with branch prediction, a register must be incremented or decremented and a comparison/jump must be performed. This is not without cost. (the jump takes 1 cycle if the prediction is correct. +1...
There are no DSP instructions for float.
It's integer only.
So, for a float multiplication just use "*" (which is pretty fast) :-)
No, it is tied to the DMA buffer (half-full/full)
And I'd say yes, it's likely that the code you posted is not the problem.
Well, this is a forum for teensy, and I would guess that it would run on a T4. (btw, the architecture is also known ;-), and is has no "no-overhead loops" like esp32)
Frankzappa, don't get confused!...
you're welcome :)
https://gcc.gnu.org/onlinedocs/gcc/Loop-Specific-Pragmas.html
the last
p.s. you know gcc has a #pragma for unrolling? the compiler can do it for you.
It will be not _that_ much faster, because the count of loops is important, too. an unrolled loop has much less jumps and compares. jumps are a bit expensive, too (not as much as a division)
But...
1 cycle for a div is not even for 16/32-bit-integer true :) udiv is 3 cycle minimum, in most cases more.
a div is expensive.
No, a floating point multiply needs up to 3 cycles, division up to 18.
https://www.quinapalus.com/cm7cycles.html
... amazing. something like this has been in demand here for more than a decade :)
...and, best, sequentially. No random access.
Divisions are slow. I have not tried it, but maybe it helps to multiply with 1.0f/max instead:
std::max(max, 10.0f);
max = 1.0f/max;
for (int i = 0; i < m_signalLength; i++) {
...
might be the boards are not soldered together.
Oh.. not a good Idea. Never use a really slow protocol like I2C in a ISR. This will always slow down your program exactly when you don't want it to.
Don't do it like that.
Edit: If you read the...
Here's an article about self-noise : http://openaudio.blogspot.com/2017/03/teensy-audio-board-self-noise.html
YOu can get almost any frequency by modifying the PLL settings (and by probably not using the analog* functions)
Well, the shield is not as bad as your plot shows. There is something wrong. But you simply can't judge that from a song.
Do you use the linear input? (not mic)
The user blackadr made a quite...
Also, keep in mind that the shield is consumer quality. But it's quite ok.
?? Any song you record is not white noise. Not sure what you're trying to say. A recorded song will *never* show a linear spectrum.
Distortions may caused by too high input level?
If you search the forum, you can find audio-shield spectrum plots.
Your song is probably not very similar to https://en.wikipedia.org/wiki/White_noise :) Only in this case you would see a more linear spectrum.
Simple. It's not needed by the firmware on T3. You can enable it, of course.
yup, in this case is likely that it is faster
I was not answering you.
For single pins, true.
For more than one: Often, but not always. Depends....
still blocking, but as long as it's okay for you.... it's good.
just remove the loop, do it inside the arduino loop function.
Replace the delay, by using an interval timer or use millis() or elapsedMillis() or a lib or or....
(and use 0.1f - just to get used...
the normal way would be to use a transistor.
As a mixer is used in almost any audio project, and so far nobody reported a bug, the mixer will do it.
If not, you're doing something wrong. Simple logic.
They're counterfeits. No need to post any hints or tips how to use them.
How brazen is that to even do that on the PJRC forum?
a much better idea is to read the cortex manuals.
1. don't use "register" - it's outdated and the compiler knows better what should be a register. ARM Cortex doesn't have so many registers to work with, and declaring something as a "register" will...
The gogle coral dev board "micro" with RT1176 is still not available.. still, the "pre-order" button is there.
It has an "rtos" and would be interesting for that reason alone - without considering...
The whole thing can also be implemented well with the RMT device of the esp32, which is actually intended for hardware IR.
Or with cleverly configured timers on the Teensys (and probably flexio on...
There is also not much to configure with I2S. It is also not a BUS with several participants. There is always a "master" that provides the clocks.
On all Teensys the audio library is configured so...
Could it be that you confuse I2S with I2C?
I2C has one line for both directions. But I2S is very different from I2C RE: use, clock & data lines and speed, and I2S is for data only - no...
Yes, it's something to worry about. Your programm accesses memory in a way you do not intend. You really should fix it.
No, ideally "direct port manipulation" shouldn't be needed.
An, indeed, digitalWriteFast does exactly that, if pin is a constant.
Try delayNanoseconds() first.
(I wrote that ;- )
Frank
Oh, the compiler produces pretty optimized code. It will be hard to beat that. (If you have sucess, please post your code - i'd be interested)
Could be noise introduced by a ground loop.
Or just cheap unreliable china wires.
1. delay(x) calls yield() and only guaranties that (except for a little rounding that explains the 95999989 value) the delay is minmum x milliseconds.
(and yield() can use way more cycles that...
Examples? The web is full...
https://cdn.hackaday.io/images/2304061397073176914.jpeg
https://manufacturingreports.com/wp-content/uploads/2019/07/OSH_Park_Dimensions-3.jpg...
The last boards I ordered @OSH had "mousebites". Each. They were obviously broken out of a larger circuit board by hand.
What is the price for a 100mm x 100mm board? ;-)
if you think so... it's your project.
tx is a single wire. You can add as many receivers as you want.
If you want to read both directions, you need two terminals. A teensy, maybe, with two uarts...