As far as I know, getting data at a high, fixed rate of speed is what DMA is intended for.
Type: Posts; User: JBeale
As far as I know, getting data at a high, fixed rate of speed is what DMA is intended for.
I believe that is exactly what I did, 100 kHz sampling on both ADC_0 and ADC_1 using the "adc_pdb" library example and modified as I showed in my last post. However this code simply reads the data...
> "...There are many devices that transfer continuously over the USB bus at high-speed and do not hang..." I'd be interested if there are any examples using the USB device type Teensy 4 currently is....
I think T4 GPIO pins are on a 150 MHz clock, meaning sequential writes might be 6.67 nanoseconds apart.
Choosing a random NEMA17 stepper, I find coil R,L specs at R=1.1 ohm and L=2.6 mH. The time...
Using a modified adc_pdb example from the ADC library and setting 100kHz sample rate, with the LED pin 13 toggling each sample. I am using a scope triggered on the pin 13 signal, and then zooming in...
Thank you very much for getting this going! I think I installed it as directed, but I am wondering which examples should work.
"adc_pdb" only works if you comment out the pdb_isr() function,...
If you need a DAC for DC level output there are plenty of outboard options to choose from, with various interfaces, speeds and accuracy.
For example just DACs that have 12 bit resolution, Vcc in the...
I'm curious, there's a cesium clock that's very low power? Also, I would have thought underwater is the one place that a 30 C limit wouldn't be a problem.
Correct, analogRead() is a blocking call in my example, just as in all other Arduino-alike devices AFAIK. The return value is the ADC reading just made. It is not a terribly long delay on T4; less...
If you're curious, here's the implementation of ADC in the Teensy 4 core code: https://github.com/PaulStoffregen/cores/blob/master/teensy4/analog.c
To (not) answer an earlier question, the adc.h...
You can use the A/D in the same way as with other Arduino-style boards without a separate library. For example the below program compiles and runs on Teensy 4. Note that T3.2 has a nominally 16-bit...
There is no ADC library for the T4 yet that I know of. I think what you want to do is relatively straightforward however. By the way, as I understand it, even the T3.2 ADC library did not do strictly...
I was not aware of this idea before, it is very impressive that it can be done very simply and relatively cheaply! Interesting to see your 3D printed wood PLA structure, which is also something new...
Which one is "that page" ?
I understand your request was for an absolute time, or "time stamp" for each rising edge. What I read about that library https://github.com/PaulStoffregen/FreqMeasureMulti is that you get the count...
(FWIW, reason the "Uno" did not work is it was a knockoff board "OPEN-SMART UNO" and actually used a ATmega168 instead of 328p, and the bootloader was set at 19.2kbps.)
Maybe not helpful as I don't have much debug info. I'm running Arduino 1.8.9 / Teensydino 1.47 under Linux Mint on an Intel-based "fitlet2" mini-PC.
Linux john-fitlet2 4.15.0-58-generic #64-Ubuntu...
The Teensy boards were not designed for parallel I/O, I don't think there are 8 adjacent bits available. You could piece together things in software but don't know how it would work under DMA...
It does? I didn't even realize it. Ah, I guess you mean this: https://www.pjrc.com/tech/8051/index.html
You might also note the bottom of that page: Last updated: February 24, 2005
I don't know...
The formula changes by vendor and this was several years ago, but I think it was proportional to PCB area for a fixed number of layers, and some more complicated formula on total layers. I'm pretty...
Running this code on a T4, it reports 174825 samples per second as shown with 12 bit resolution and analogReadAveraging(1). That works out to 5.72 microseconds per sample. It is also calculating...
I'm not sure, but it may be the default on Teensy 4 to do 4 averages for each call to analogRead(). You can set this with analogReadAveraging(x) where I assume x=1 (single read, no averaging) would...
IIRC the Teesy 4 is a 6-layer board. I've only done 6 layer PCBs at work, not as a hobbyist but our 6-layer PCB pricing was definitely proportional to PCB area, for prototypes and production volume...
FWIW, I notice the iMXRT1060 p.2067 claim you quote is 8 channels at 384 kHz / 32 bit. By my calculation that is 12.29 Mbit/sec per channel, or 98.3 Mbit/sec for 8 channels, if you can really do all...
My analog interests tend to run towards precision circuits. I have not really used the Teensy DACs except for a few rough experiments. If I did want a DAC I would probably use an external one with...
Oops, sorry you are correct, as far as I know the ADC lib has not yet been ported to T4.
Very cool! Microcontrollers are not what they used to be.
I assume the same code would work on T4 but remember there are a few differences. The T4 does not have an external Vref input (the internal 3.3V is the only option) and also it uses a 12-bit ADC (but...
Here is my code (modified library + sample dual-ADC application) which has now run 8 hours sampling two ADC chips, each one at 500 Hz, without any obvious error: ...
Just in case of interest, I did modify the Flydroid library to allow using two different ADS1256 devices on one Teensy. It "usually" works, not yet 100% confident it always does.
Separate from...
You are thinking of them as numbers, but I'll bet something on the OS side is thinking of them as ASCII control characters.
Decimal 17 and 19 are DC1 and DC3, aka Control-Q and Control-S, often...
It appears that this library https://github.com/Flydroid/ADS12xx-Library may allow for more than one ADC instance, each with separate control pins, so I'll try that.
I'm using the ADS1256 code from Matt Bilsky at https://github.com/mbilsky/TeensyADS1256 on a Teensy 4 and it is working well at the moment. In the past I used a different hardware setup, using T3.2...
The most convincing way to decide would be if there was an industry-accepted "class compliance test suite" that could test a device or host for every officially defined feature, and say yes or no. I...
In the past I used JeeNode and Moteino devices, for very low power, low baud rate communications. They worked pretty well, although not as standard (or power-hungry) as BT or wifi.
For very...
During the first T4 Beta round (1052 device), I noted that the "keeper" mode on the ADC input pins was set by the default initialization, which reduces idle power consumption, but also causes a small...
Thanks for that correction defragster, I did misinterpret the problem. I would correct or delete my earlier post but the forum no longer seems to allow that.
Your setup code includes: "Serial.println("Starting ...");" which uses the Teensy USB-serial device. Currently on T4 I believe if you send any characters to the USB-Serial device (using Serial.X...
Thanks for this update. From your experience, some of my mine, and this post https://forum.pjrc.com/threads/57415-Teensy-4-0-Speeduino-compile-fail?p=214119&viewfull=1#post214119 among others, I...
Even though in theory the Teensy can still work with it, 4.17 V is not at all within the USB spec, so I would say that is a poor quality cable. 4.79 V with no cable is also a bit lower than I expect...
The original code not compiling seems like a clue that the code running on the OP's T4 is not what is listed; possibly it is still the original blink sketch?
Looking forward to your results; I am interested in doing the same thing.
I haven't measured this but most digital chips of any kind have ESD protection diodes to clamp the pins to the power rail. So a brief pulse above Vcc gets clamped to Vcc + 1 diode drop, for example...
I don't know enough to say but just as a guess, if this is full-duplex, eg sending 7 bits and receiving 7 bits at the same time, I suspect the FPGA is a safer bet at this point. Maybe even if it's...
The Adafruit display used 10k pullups to +5V. If you connected that display to a chip clamping inputs to +3.3 V + some diode drop, you might only have around 0.1 mA flowing into the pin. I'm not sure...
The linked datasheet does not say what the output voltage is. At any rate you must not exceed the voltage tolerance of the specific pins you are using on your Teensy 3.2.
"All digital pins are 5...
The manufacturer's datasheet and programming manuals for the various chips used in the different Teensy versions are here:
https://www.pjrc.com/teensy/datasheets.html
There is a lot of detail and...
I gather you want to use someone else's libraries, not Teensy/Arduino. The main selling point of the Teensy boards is (for me) that they're easy to use because of Arduino-style libraries. The PJRC...
I suspect it's possible to kill a single pin with the rest of the chip still OK, by destroying that pin's output buffer, for example by a large enough ESD hit.
EDIT: You can also get the same...
Isn't it possible to use any GPIO pin as a chip select? That's assuming you bit-bang it with separate code, which is slower, but if you are sharing the bus presumably you don't need the 2nd-Nth...