exactly.
the loop() is called continuously from (hidden) main. Every direct call to set the volume can generate a glitch. So, put all one-time settings into setup().
If you need to modify volume...
Type: Posts; User: WMXZ
exactly.
the loop() is called continuously from (hidden) main. Every direct call to set the volume can generate a glitch. So, put all one-time settings into setup().
If you need to modify volume...
Don't touch continuously the volume within the loop, it only create noise.
Are you sure? It is easy to verify.
AFAIK, I2S input allocates 4 blocks for input and you have only 5. You need IMO at least 6 to allow allocation of new blocks while data are still written to USB. ...
The few occasions I had similar problems, could be solved by reformatting with the official tool from sdcard.org
short answer:
one of the first statements in ISR is to clear this particular interrupt, otherwise it can trigger again.
If you have access to GND (e.g. battery) then behind the hole needs to be only a contact that is connected to program pin. A grounded needle / wire will put teensy into programming mode.
or have...
Even without button, you still have the Program Pin, you can use to start programming by touching GND.
It is fairly common for systems that are enclosed to have program pin accessible.
So much time has passed!
No, connect I2S MEMS directly to Teensy replacing the Audio shield.
Run the following program
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
I ended up with RP2040 as an LC replacement :-(
Similar to @StefanPetrick delivery can take long time (in my case > 3 weeks) for delivery from UK to Germany (standard shipping).
In addition to VAT I had also to pay custom handling.
Shipments from UK to EU are still ... lets say difficult.
Can someone explain in two sentences:
Apart from replacing "void (*funct)()" by "callback funct" is there any other advantage, and what is different to "typedef void (*callback)() ;" that I used in...
The standard procedure is to access microSD card within the loop() function and to sample the sensors on interrupt level (say running a timer)
on a T4.1 a sample easily 6 sensors at 96 kHz and write...
these high latencies are quite normal and within the specs and a couple of times discussed on this forum.
They are due to microSD card internal activities (bad block handling, wear levelling). In...
with ctrl-shift-p I get list of commands /short-cuts but not workplace settings (2.0.4 Win11)
@sbfreddie,
there are two methods to refresh MTP on host (Mac in your case)
1) unmount/mount disk (do not know how that is done on Mac)
2) let Teensy send an resetEvent or addObjectEvent.
...
I do it as follows
stop I2S (I assume you are using I2S)
modify frequency
restart frequency
code: e.g.: https://github.com/WMXZ-EU/record_sgtl5000/blob/master/i2s_mods.h
Wiring is indeed a big issue.
keep in mind SPI uses a clock rate of 16-33 MHz. That is HF radio frequency. So when the clock wire come close to other wires, lot of crosstalk and corruption may...
You need to add MTP, that allows you to transfer files from and to Teensy.
suggest to checkout https://forum.pjrc.com/threads/70553-Teensy-4-0-based-Audio-Guestbook?highlight=guestbook
As you can see from the code, it does NOT change AUDIO_SAMPLE_RATE_EXACT and in fact it cannot change this as it is a '#define' symbol.
You can change this symbol in 'hardware/teensy/avr/...
My hunch is that near future is not promising
https://fortune.com/2023/03/11/chips-and-science-act-semiconductor-shortage-rakesh-kumar/
as chip producer get 'confused' by geopolitics
and 'fight' ...
This to be expected.
120 blocks for AudioMemory is too little for the occasional delays of the microSD cards that can last over 100 ms.
Increase AudioMemory and if you need more space use...
Short answer: If you can draw it you can program it
If you use the GUI to connect parts of your system, you can simply rename modules and connections.
The GUI is only for facilitating the module...
remove/uninstall the com 8 port (using device manager) as it seems locked for Teensy 3.2 (Windows problem, I guess)
@Gkatos,
You still have not provided the code to reproduce the problem.
As per documentation, conversion (sync) clock can go high during clocking-out of data, so length is not an issue, as long is is longer than 1 bit clock.
If the chip is wired as in datasheet or in similar fashion
why do you bother with SPI? use I2S it is easier and runs continuously.
I have done that with other chips with similar SPI-type connection...
You can use standard SAI (stereo protocol) where frame-sync toggles every 16 bit. data will be converted and transferred at alternate frame-sync phases.
In fact, I used 2 ADS8881 where frame-sync to...
I know, the datasheet says SPI-compatible, but I would try to use SAI/TDM and use frame-sync for conversion.
I have done that in the past for TI ADS series.
Yes, when put into hibernate state all MCU but RTC is shut down. This includes USB and as I discovered during this test it "disables" the bootloader. In other words if in hibernate state, pressing...
So far, I have no issue with the following test program
#define SNVS_LPCR_LPTA_EN_MASK (0x2U)
void hibernate(uint32_t nsec)
{
uint32_t tmp = SNVS_LPCR; // save control register
...
Years ago, I had the same situation (programming multiple Teensies connected to PC with same code), so I modified a teensy_loader_cli to enumerate first all Teensies on PC, and then downloaded the...
The T4.1 build-in SD card can easily handle 4 channels at 32 bit at 192 kHz sampling (more than you asked). External SPI SD cards are much more limited.
Issue remains, that you need to prepare a...
Yes, the T4.x and the T3.6 use the same amount of audio memory: 229376 bytes
Not sure if it helps to increase this number for T4.0 as it needs RAM for program.
IMO, for longer delays you would...
I was once using a CSAC on a Teensy (3.3V, don't recall Teensy model) and it was working fine (maybe there is still trace of it on Forum),
Never used it afterwards as these particular CSAC was known...
@bicycleguy
if you wanted to use the advantage of VSCode (as I do), simply move all code from ino to a cxx file and let ino be empty.
Obviously, your new cxx file must be logically correct an...
You can use Elm Chan's fatfs that uses the fopen() etc API, that is used in non-Arduino environments
There is a port to Teensy https://github.com/WMXZ-EU/uSDFS, which, however, has not been touched...
I would say, that does not work as intended.
Not for using DSPInt functions that are really not necessary for 32-bit operations, but compiler should be able to handle that.
But for taking the 3rd...
MTP can disabled/enabled using the device manager, so I expect it can be done with "pnputil" a tool I was not aware of when we worked on PC-side refresh of MTP and I suggested the powershell script
No,
only Teensy.exe can upload the bootloader chip.
Details of bootloader and Teensy.exe PJRC proprietary information.
the Teensyloader CLI can only download a user program
most likely is it the python serial library that did not release serial port and act like a zombie.
proof: reboot the system, does it resolve the issue?
I strongly support to split up according to board architecture types.
It is technically possible to combine different USB devices. However, you have to write your own device driver (as we did with MTP+Serial)
I also suggest that USB connection (wiring/connector/length) is bad, even if cable is good (have been there also)
T4.x run USB with 480 MHz while T3.x are running with 12 MHz
Suggest testing by...
Why are you not simply process all in time domain? That gives you the location of the knock to the sample.
Agree, solder need to be improved
For the records
Bill attributes this to a bug in SdFat that was removed with version 2.2.0
see https://github.com/greiman/SdFat/issues/389
I guess you are right on the number. For the rest, that was my idea also.
should work with custom software:
T4.x has up to 4 I2S data out ports, which could generate 16 out channels
for 4 Audioboards you would need to use two different I2C controls ports.