In order to generate an analog voltage, you need a DAC output, which Teensy 4.x does not have. When you use AnalogWrite() on a digital pin, you are creating a PWM signal. The 2nd argument to the...
Type: Posts; User: joepasquariello
In order to generate an analog voltage, you need a DAC output, which Teensy 4.x does not have. When you use AnalogWrite() on a digital pin, you are creating a PWM signal. The 2nd argument to the...
Teensy 4.x also has transfer16() and transfer32(). If you can do each DAC with a single 32-bit transfer, that should be a significant improvement over individual 8-bit transfers, even without DMA.
Please try building with no modifications. If that works, you can focus on your changes.
You should try with your T4.0, since FreqCount takes a gate interval in microseconds for T4.x. See the FreqCount library examples Serial_Output (T3) and Serial_Output_T4 in TeensyDuino.
HID is part of the USB specification. There are people on this forum, Paul and others, who know a lot about USB and HID, so if you go that direction or CAN, you should be able to get help here. I...
I did some googling about electronic drums to see how they work, and I still don't know much, but it looks like you have done a lot of good work on the project. If you haven't already put multiple...
Yes, as far as I know it's okay to do that. I'm not sure of the terminology with respect to read, but my understanding is the processor "translates" accesses to QSPI flash or RAM into the proper QSPI...
Yes, the SPI library has transfer(), transfer16(), and transfer32() for T4.x. See the source code in the SPI library in TeensyDuino.
With Ethernet you have a CRC on every packet, so if you verify that packets received = packets sent, that's pretty good. A cumulative CRC would be better. Regarding verification after Flash, the...
Looks nice. Well-designed, and good that you tested with TeensyTimerTool to see if it was sufficiently accurate.
What changed with Bootloader 1.07 is what is erased by the bootloader. See the section labeled Minimum Erase Size on this page (https://www.pjrc.com/teensy/td_code_security.html). If you are using...
Okay, yes, I never updated FlasherX after Paul released Bootloader 1.07, and now that more folks are using LittleFS in program flash, I do need to do that. Could be a little while, but I'll get going...
If you haven't looked at TeensyTimerTool, it's an excellent starting point for anything you might want to do with timers.
I think this will be hard to do with PWM, and using an IntervalTimer won't meet your accuracy requirements, so it may not be the only solution, but I think I can outline something that will work....
I'm not sure why you say you have a library problem. TeensyDuino 1.57b1 is available, but I think you're okay with 1.56. Here is the declaration of the printConfig() function. The argument is a...
See the printConfig() method.
I remember being very confused when I first started trying to use QuadEncoder. The HOLD registers are simply a "snapshot" of what was in various registers at the time that a read() was executed. This...
My applications don't have a HOME signal, but I think the basic idea is that you have a HOME switch on your machine, and that is input to the Teensy pin defined as the QDC HOME input. That switch...
I recommend reading the Quad Decoder (QDC) section of the processor reference manual. This will provide some background when looking at the library source and examples. It looks like the HOME signal...
Do you mean a different duty cycle? Can you define the two signals you need, and in what sense they need to be synchronized?
Edit: I see now you provided that info in the first post. I would...
Perhaps not true for any two arbitrary pins, but possibly true for two pins on the same FlexPWM module, such as 7/8, 6/9, 28/29, 2/3. For reference see link below.
...
Next step I would say is to show your wiring, provide info on the specific display, and specify your Arduino and TeensyDuino versions. If not the latest, that's always a good step to take so that...
3.3V versus 5V?
Oh, sorry, now I see it's only in USB serial. Why did you decide to add it there, or was it already there?
Paul, I have a question about calling yield() from the various "available" functions. These functions don't fit the pattern of calling yield() while waiting for something in hardware to finish, and I...
Sounds right. From that thread
The cure is this statement in the setup() section:
pinMode(<pin>, INPUT_DISABLE);
This is strange. Note that the big jump does not occur at the same switch position on the way down as on the way up. Instead it occurs on the 7th step in both directions. Seems like the hardware...
Please see this page on the PJRC website regarding library FreqCount. T3.x use pin 13, and T4.x uses pin 9. Library FreqMeasure is similar in that it supports only 1 pin per Teensy type. Depending on...
This question is an unusual one. The entire purpose of the TeensyDuino core and libraries is to access the power of the Teensy. Even if you want to write 100% of your own code, you seem to be under...
Here is a summary of your values. The first 5 values (109,203,299,392,490) are much closer to steps of 1/10 of the 1023 max than 1/9. That's why you don't get 1,2,3,4,5. After 490, there is big jump...
Teensy 4.0 can do frequency counting, but it's a different processor, so the underlying code is different. Paul did a great job of maintaining pin compatibility, but that doesn't mean that all of the...
It would be interesting to look at the actual values you are getting from readAnalog() by replacing the Serial.println(val) statement with:
Serial.printf( "%1hd %1hd\n", input, val );
Just to add to @defragster's answer, there is no "list" of code that runs before reaching your setup() function. If you want to review every line of code that runs before setup(), you can, but it's...
In the code below, you are trying to allocate an array large enough to hold ALL of the samples, no matter how many there are. If your file is 7MB, then you are trying to allocate an array of size...
Good to know.
One more recommendation. When searching, start with Google. It's a much better search engine than the forum search tool. For example, if I was looking for information regarding Teensy and a...
You could start at www.pjrc.com. That is where you will find a LOT of information on the Teensy boards, companion boards such as audio, TeensyDuino software and all of the libraries, tutorials, and...
When you run the sketch, it tell you the time for 30000 samples. Yes, you have 30000 samples, but these are read in slightly less than 1 second, so your SPS (samples PER SECOND) is not 30000
SPS =...
You're welcome. "SPS" is probably 30000, and this value must already be part of "ydata5". When the FFT is computed, you need to tell it the actual samples per second, which is 30005.25. Pseudo-code...
Okay, good. Your 0 value is closer to 0 for the lower frequency sine wave because your time series offset is close to 0. You will ALWAYS have a non-zero value at 0 Hz if you have ANY offset, and...
Yes, that's correct.
Can you please show a time series chart and FFT chart for a lower frequency, such as 50 or 100 Hz? I think you have a bias in the time series of the higher frequencies because...
Can you show the time series chart? The 0th element of the FFT is simply the mean value. If you have your function generator set up to produce a sine wave with 0 offset, the mean of your signal...
On T4.1, I get total time of 999825 us for 30000 samples. That means sample rate = 30000/0.999825 = 30005.25
When you do your FFT, instead of specifying your sample rate as 30000 Hz, specify it as...
With 30-kHz sampling of a 12-kHz sine wave, your raw data won't look like a sine wave (only 2.5 samples per period), but theoretically the FFT is okay up to sample freq / 2 = 15 kHz.
Here is...
With the program above, I tested an input sine wave with frequency = 60 Hz, amplitude = 0.2 Vpp, and offset = 0 V. The data from the ADS1256 looks good. At 30 kSPS, the period of the sine wave is 500...
Since you are getting a good sine wave with your own sketch, I decided to start from there. The code below has my changes to your sketch. There are only 3 functional changes, which are listed below....
@frohr, I can only guess that your configuration of the ADS1256 is different from the program @mbilsky. Can you please tell us how you produce the sine wave for test, and what are the settings...
This is an interesting question. I haven't spent much time studying the ADS1256 data sheet, but the (settable) data rate, in this case 30kSPS must be derived from the on-board clock. 7.68M / 30000 =...
Yes, it's also a pain to have to modify your laptop network settings. Here's a wifi extender that I use to avoid that trouble and connect the T4.1 on my desk to my network without running a long...
I can't answer that specific question, and the problem may be really simple, but I don't think you should expect examples written for Wiznet will work with just a change from "Ethernet.h" to...