A feature request - discipline the audio clock to the GPS with small tweaks to the rate and this code:
// set audio rate in Hz
void ClockSkew::setAudioRate(double fs)
{
// !!! you must change...
Note that a GPS requires far less noise during acquisition. So in some cases, you can power up the GPS, acquire a lock and then power up the noisy circuitry.
Distance (even say from 1" to 3") makes a difference. ...
I find it disappointing that while there was a pre-existing usable and popular API (Arduino), the RasPi foundation went off and created yet another API. But as I mentioned above, they didn't need yet another board to...
I could check with the scope, but does anyone know how long set_arm_clock() takes to execute? I see that it includes wait loops. Also that it's changing voltage - which might have some side effects.
Right now,...
I'm using SPDIF3. It's a confusing issue because I've seen all of crashes, distorts and works fine. Distortion is the most common. I am doing a lot of processing - a simple pass-through may not trigger it.
...
Strange, that is basically the code I tested with. I just tried a different placement of the speed changes and the program locks up (switching between 816 Mhz while processing and 528 Mhz when idle and the speed at...
I would guess that there would be a lot of value in teensy wrapper libraries that are compatible with the pico libraries. Ie, an easy migration path for users who start on the low cost pico and want to upgrade to the...
Look at the upgrade_firmware() routine and add code to open the file and read characters from it instead of the serial port. Others can say more about how to use the SD card.
A claimed reason for the pico is that linux (used on their other models) isn't good at real-time I/O. But all they had to do to fix that was change the OS to leave one core completely untouched by linux and so...
No doubt there are some users who are able to "insert the SD card I mailed you" and not "install this software on your PC and then ....". You can start with "Flasher4" if you want to develop software to do this.
i2sflew: I highly recommend that you get used to typing your circuits into LTSpice. You can even add noise to the power supply or input. Not perfect, but you will learn a lot.
> a DSB is mandatory at the end of interrupt-code
I believe it should also be used when disabling interrupts from non-interrupt code.
> SCB_AIRCR = 0x05FA0004;
Of course such things should be inside of a...
> A simple hardware diagnostic using patterns of red LED blinks is also planned
Nice! - black boxes are hard to debug. Would be very helpful to distinguish between "loader can't talk to MCU", "crystal isn't working"...
> you need to type in ":flash XXXX", where XXXX is the number of lines reported by the program
I recommend that you don't do this. Type in ":flash XXXX", where XXXX is the number of lines you counted in your hex...
For speaker analysis and correction, this is great.
https://www.roomeqwizard.com/
If you want to do convolution based correction, then just use the impulse response from REW and also use...
OK, I checked and some notes:
T4 with a small heat sink attached
It runs about 45C (far far different than the graph)
Slowing from 600 to 528 is only a couple of degrees cooler
wfi makes no difference
extern...
In many cases, one could include this in their idle loop, which I understand reduces power/heat more than slowing down to 450 mhz.
asm volatile("wfi");
There was some discussion of strlcpy(). IMO, don't just use it, use it and check the return value. Ie:
if (strlcpy(dest, src, sizeof(dest)) > sizeof(dest))
handle_error();
My experience is that paste is better, even when you don't have a stencil. But I save time and frustration - unless JLCPCB puts most of the parts on, I always order a stencil. More advice - use a syringe + tubing to...
See here for a newer, better teensy 3.x version:
https://forum.pjrc.com/threads/43165-Over-the-Air-firmware-updates-changes-for-flashing-Teensy-3-5-amp-3-6
I use the audio library with USB input and SPDIF optical output. I have no noise issues.
You haven't explained what you need to do, but stay digital as much as possible and if you have to do a A/D or D/A conversion,...
IMO, the memory allocation details should be abstracted away for the typical use case. Ie, a single mallocX() call where you optionally pass it a hint as to the speed desired (or other requirements like DMA...