The boilerplate SD startup code in most of the demos (and which you've essentially copied) is poorly conceived, in that it gives the card just one chance to start, then whinges about it forever. I have an SD card which...
I don't use Platformio myself, so no real idea, but your suggestion of installing the Arduino beta then copying the required change across sounds viable. The only changed file you'd need to fix your stated issue this is...
Which version of Teensyduino are you using? There’s a fix for this issue in 1.57 beta 3.
Pro tip: using th code tags (# button) will make your code more readable on the forum.
Looking at the AudioPlaySdWav code (which is deeply nasty), it looks as if it may require an audio interrupt to fire after a .play(), before .isPlaying() becomes true. A crude fix might be putting a delay() in, thus:
...
I think there's something slightly screwy with your maths here - each I²S out gives two channels, so you can have 4x2 on I2S1 and another 1x2 on I2S2 for an easy-ish maximum of 10 output channels.
For the "custom...
Great news it works! Squeal ... not so good. I've used much longer wires (~20cm) for quick tests, but not connecting to anything much. Could be a ground loop or similar: I'm guessing the mixer is grounded via its power...
You also need the I²C control pins (18 and 19) connected, or the sgtl5000_1 commands won't work. I also seem to recall you need both the Gnd pins wired, not 100% sure about that.
Agree the Teensy 4.1 renders some of the rev D audio board redundant, but it's all useful for those who prefer to use the Teensy 4.0 (for size reasons etc.), and I guess it doesn't make sense for PJRC to offer lots of...
This thread might be of interest. You can fit a couple of PSRAM chips to the Teensy 4.1 and another to the audio board, which gives you a total of 4.75 minutes of delay (not all in one lump, though). This is not...
Great! Simple solution, it's just knowing where to look... also it's brought to light an error in the Audio Shield documentation, which I can
It would be good if you could share your design on GitHub, I don't have a...
For sure, remove the call to i2s1.begin() - that’s a killer! You also don’t need to connect() the patch cords or begin() the SD wave player object, though I think those are harmless.
That should at least get you data...
Hi folks
I've put in PR #439 for an update I've done to enable use of any available TwoWire-based I²C bus for control of a PJRC audio shield, using AudioControlSGTL5000. You'll obviously have to make the relevant...
I've now also had a try at pushing all the audio I/O initialisation code into FLASHMEM. However, it only saves just over 8k if you have one of everything (which isn't possible anyhow), so I don't think there's any point...
So many pubs have closed ... we used to walk across the cemetery to one in Gwydir Street, don't recall which one. Don't think Clive ever had occasion to do business with Laserpoint.
Laserium at the Planetarium! Yes,...
That's teamwork, that is...
Laser Point (or Laserpoint) does ring a vague bell, don't know why. I was working for Sinclair Research from 1983 to 1986, in Willis Road then Milton Hall. It's a small world.
"Cheerio"...
TheHermit for the WIN! Woo, as I believe the Young Folk are fond of saying, hoo.
Thanks for doing that testing, helps build at least my confidence that we're getting somewhere.
Ah, OK. Gotcha.
I had another look ... and this sprang out at me (lines 31-33 of knobby.ino):
const int redPin = 2;
const int greenPin = 3;
const int bluePin = 4;Uh-oh, I thought. Changed them to pins 22-24,...
PaulS posted the links in https://forum.pjrc.com/threads/70409-Teensyduino-1-57-Beta-2 - the Announcements category tend to be where the bleeding edge stuff is linked from.
OK, that's fine. I think the results are all over the shop anyway, so changes on a like-for-like test are pretty much expected. The hope is that with 1.57b2 everything will pass. It should be fine to use I2S and...
...and. I've had a crack at re-ordering the ::begin() code for most of the Audio I/O objects, the result of which can be found at https://github.com/h4yn0nnym0u5e/Audio/tree/fix/io-inits. I've done a bit of testing and...
Thanks @TheHermit! And yes, please don't risk any of your hardware...
For the moment I'd say we'd like confirmation that your previous tests and use-cases are more robust / completely fixed. You did a great table in...
At the moment, you add another layer of mixers: a bit messy, but they consume very little CPU if the channel gains are set to 1.0 or 0.0, or if the source is not transmitting audio blocks. That's why the OP sketch...
Been doing more investigation, and I think one key point is that (as @KurtE said in #114) dma.enable() must occur before the I2S hardware is enabled, otherwise the I2S will fire a request to a non-enabled DMA channel....
As noted on https://forum.pjrc.com/threads/70406-Cannot-Mix-Playing-WAV-snd-MP3-files-with-latest-cores-library, the dynamic AudioConnection has broken some previous code. That code did rely on bugs in the old...
Looks like Paul has already merged that! I’m a bit concerned that the update_responsibility() line is now out of its previous order…
I can take that on, once the PT8211_2 case has been ratified by @TheHermit and...
Great!
I assume you meant "running from FLASHMEM slowed the code down" (which it does, as Flash is slower than ITCM).
Yup, I spotted that too*. Agree it should be changed throughout, if others' experience is that...
OK, so here's a thing - these are the last few lines of AudioOutputPT8211_2::begin():
dma.triggerAtHardwareEvent(DMAMUX_SOURCE_SAI2_TX);
I2S2_TCSR |= I2S_TCSR_TE | I2S_TCSR_BCE | I2S_TCSR_FRDE;
...
Well, I'm not sure my code is much more trustworthy than the next person's, but that's what beta releases and GitHub issues are for...
If it's not proprietary, I'd be interested to see your approach to dynamic...
Well, it's only "official" in that I've been a bit of a squeaky wheel on the subject, and I put a pull request in on Paul's repository, so it happens to be my code that's been adopted! As yet it doesn't seem to have...
Dynamic AudioConnection objects are in the Teensyduino 1.57 beta (https://forum.pjrc.com/threads/70196-Teensyduino-1-57-Beta-1).
If you want dynamic AudioStream objects then you could look at...
I've been playing with this library again, as a result of seeing this thread. At first I couldn't reproduce the issue, then I could, and now I can't again! However, I may have made some progress, my observations being:...
OK, I've encountered this problem again, done some digging, thought I'd found a culprit, and it's now gone away again of its own accord! Very frustrating...
However, for anyone who might stumble across this or a...
A few points:
you never set s back to 0, so you will only ever trigger/start the cancellation signal once: I assume that's not your intent...
audio updates, and hence new values for rms1.available() and rms1.read(),...
You might want to give my Dynamic Audio Library a try out: the updated audio objects are on github, and you also need AudioStream.cpp and .h from cores, which can be found here. I started a thread on the updated...
So, is that digital or analog? It's a definition of a text substitution you want the compiler to make. Use it as you see fit.
What's the difference of a digital zero and a analog zero? Well ... you can compare digital...