Does your library ILI9341_t3n allow (ie. not overwrite a user supplied setting) a SPI CLOCK setting of 60MHz? I just want to do a test. No point of dragging out the oscilloscope if I know the setting is not observed. ...
Probably none that are spec'd that fast in my possession at the moment. Best I can do is try to drive an ILI9341 faster and see what happens. I have one installed on a PCB I can try.
Thanks for that. This is a helpful table.
The question somewhat remains - how fast can it really go? I'd think the actual I/O drivers on the outputs wouldn't be able to drive 120MHz without heroics. Don't think...
@KurtE, thanks for the tables. How are the QSPI memories supported ? Or the SD card on the T4.1? Some specialized driver?
If I wanted a QSPI ADC, yeah, I'd have to search for one. Probably not many to choose...
I'd like to know the maximum SPI clock that a Teensy4 can support. Wading through some of the NXP documents (which is painful), the normal LPSPI clock is limited to f_peripheralclock/2. Can't seem to find where or how...
I have tested the IDE2 generated hex file on my lathe. Seems to work fine, for which I am very grateful. Now I have to synchronize all my platforms - but that is not an EncoderTool topic.
Thank you for solving the problem. It now compiles, but I have not tested this on a live platform yet. I will try it tomorrow.
Sorry to have touched a nerve. I was very anxious about fixing this, and experiencing...
@luni, Issues registered on github. Don't know what else to do. I realize you are busy, but would appreciate your help here. Thanks.
Trying to set up a gitlab repo with full instructions on how to build, but...
All my warnings, like iso C++, unused variables are fixed and all of ILI9341_t3n issues are resolved. Thanks to all for your help.
Only thing left generating issues are EncoderTool and TeensyTimerTool. The new...
Hmm. Ok.
It seems in fillRect, the arguments are int16_t x, int16_t y, int16_t w, int16_t h, whereas w and h in getTextBounds are uint16_t. Guess I have to roll with it. Doesn't feel consistent, but that's me.
Odd, I haven't even been using Teensy that long... I only started 1 May 2022. I downloaded a zip file. Maybe the zip file was old?
Been a lot of confusion lately. So how does one use this? Minimal example? ...
My old code used the following construct:
uint16_t x1, y1, w, h;
oldZval = Zval;
String newstr = "XXXXXXXXXXXX";
tft.setFont(DroidSansMono_18);
tft.setTextColor(ILI9341_GREEN, thisGREY);
...
Thank you so much for your patient explanation. It helps.
All that I do with the char arrays is pass them to a function which displays the array. At no time do I change the contents of the char array. Makes sense...
Paul, as you might surmise by now, I'm a terrible programmer, with a bare grasp of C. My calling code is always using the same way of doing it, as shown in the very first post. Sometimes I need to pass a two element...
The warning vanishes from that line, but a new warning comes when doing the displayRoundedTextBox function. Is that because I have char *text1 in the argument list? Should it then be const char *text1 ? I use this...
Afraid that doesn't help much. Now the warning is:
/home/bruce/Arduino/ELS_IDE2/touchdisplay.ino:198:69: warning: invalid conversion from 'const char**' to 'char**'
198 | const char * buttonText = {"Clear...
I'm using @KurtE's ILI9341_t3n library. This is how I construct a rounded button with text. Here is one of many cases on a switch(buttons) statement. I iterate through the buttons.
case 7: { // Zero Z button
...
All that's left is compatibility between EncoderTool 3.1.0 and TeensyTimerTool 1.2.0 on Teensy 0.58.3 running on Arduino 2.0.3.
These are @luni s libraries.
I will work on cleaning up some of my warnings. Got to...
Did you try to say that I should uninstall Paul's and install mjs513's version, and it might work? Because, I didn't really quite understand you.
Edit: This helped a lot. It cleaned out all the t3/t3n errors
Yes I am. Are the incompatible now? They used to work great together under 1.8.19.
I changed to 0.58.3, with EncoderTool at 3.1.0 and TeensyTimerTool at 1.2.0 and I am getting all sorts of errors
In file included...
Fortunately, I have a complete working IDE 1.8.19 running on two different RPI4's. (32bit and 64bit) All my source code is on a private git server. I am not totally lost. It's more of a setback. Still, I'd like to...
Fixed the TeensyTimerTool errors by reverting to V1.0.0. It seems TTT>1.0.0 relies on Teensyduino 1.58beta or better. This is not shipped with IDE2.0.3.
EncoderTool errors fixed by updating to latest by cloning @luni...
It seems it is a lot more than that. I have dozens of errors in IDE2, whereas I had none in IDE 1.8.19. As I shipped a unit, I am alarmed at this, as I have a customer to support. At the moment, I am in a pickle,...
@luni I'm working with IDE2 now. This seemed to have broken a few things. I installed EncoderTool 3.0.6.
Encoder_tpl<int64_t> SpindleEnc; doesn't work. The Compilation error is: "Encoder_tpl" does not name a...
I didn't say trivial, but a makefile is easy. Yes, I had to buld FreeCAD from source because their app image didn't work. I just ran make. Done - well it took awhile. But at least it ran!
The app image seems to...
Well, I think it won't screw things up, too bad. I ran the app image, but it knows nothing about Teensy under boards.
My OS is Pop!OS 22.04, which is an Ubuntu derivative.
Do I need to supply a url for Teensy...
Really not sure where to post this. It seems this might be the best subforum, but feel free to move it to a better location if appropriate. Been on 1.8.19 for quite a while now. Thinking of upgrading the IDE to the...
Different authors. I'm sure a couple of features. Seemed like the t3n fit better with what I wanted to do. I needed to do strings, and floats with the correct number of digits in my display.
t3 is the baseline...
Strange. I have used 4 of these ILI9341 displays and haven't had a problem. However, I used the following defines.
#define TFT_DC 9
#define TFT_CS 10
#define TFT_RST -1
#define TFT_SCK 13
#define TFT_MISO 12...
Please post your code per the website rules. It helps us help you! Please use the code tag, indicated by the # so your formatting stays intact. It's hard to tell what you have done, if you don't show everything.
@luni, just checking in. I have been using your test EncoderTool repo for a while. I'd like to release my software and let someone else compile it. Have you merged the test repo with main yet? In a few days, I'd...
I think you need to ssh with the graphics option. So when you ssh into your RPi, you need to do
$ ssh -X pi@yourpi.local
The flag X allows graphics. Without X, Teensy Loader over ssh will fail to launch.
Don't know if this works or not, but there is a TeensyThreads library. This allows threads, which are not the same as two programs. However, as stated above, the Teensy is a single core device.
I have the SDS1202X-E scope. I have found it very useful for general electronics work, including debugging micro-controllers. It can decode I2C which has been quite handy. Also has a built in FFT for measuring...
By any chance are these hand soldered boards or machine soldered? Either way, might be good to inspect the solder joints. Maybe one or more solder joints developed some cracks? This can happen at connector locations,...
When you get a chance, please let us know what the issues were. It helps the rest of us, to debug stuff in the future. It doesn't matter if it was a blunder, or something wasn't as you expected. Info like this is...
If one uses putty to remote connect, it's important to specify if one will use cli only, or one will use graphics. A standard ssh connection is cli only. To have x11 graphics one needs $ssh -X. For graphics and super...
Thanks again. Have a lot of reading to do! I used a ping pong with chained DMAs in the past, worked out ok. The buffers were adjacent anyways, so sort of equivalent. I will read through the library and hope that...
Yes, thanks. Definitely want to create an instance of DMAChannel. DMA is hard enough to get it to run, without stomping on someone else's registers! I managed to get this sort of thing to work on an Adafruit M4 based...
I don't have any of the Teensy 3.X's for which this would be really nice, due to the better ADC than in the 4.1, but was thinking of something similar to the following:
Set up internal ADC to sample at a known rate,...
I've used ZeroDMA from Adafruit before on an M4 chip.
Are there any DMA libraries for Teensy's? If so, what is the name? Didn't see anything with DMA in the name in the /teensy/avr/libraries area. I'm thinking...
My experience is when you need to do some tricky stuff, relying on libraries that were written for a different purpose may not be a good strategy. Sometimes, (I am not saying this about the Audio Libraries, as I just...
There are several sorts of knock sensors available. There's the resonant type and the broadband type. The resonant types need to be matched to your cylinder dimensions, if I recall correctly. They are effectively...
An FFT bin in frequency is given by fs/N, where N is the number of samples. As stated above, for a real FFT, frequencies above fs/2 are redundant information.
As a benchmark, I'm running a 1K FFT in 17.05ms,...
That's where I got the initial idea. But the analog circuitry is not up to the task to detect very small objects at 1250 FPS. That corresponds to roughly 30 KHz. JBeale's circuit is good for a couple of KHz at most,...
Here's an example of radar data captured and processed with CMSIS FFT's and converted to dB. I captured and processed this data on an M4 device this morning. This is the response of a doppler radar to a tuning fork. ...
Perhaps I missed it, so my apologies if this has been mentioned, but what is the duration of a typical knock event? How long in duration is your sample sequence? What is the estimated signal to noise ratio of a knock...
An FFT of a real signal is twice the size of the real input. This is because any FFT produces both the real part of the FFT and the imaginary part of the FFT. When I would use an an ARM FFT I would do the complex FFT,...
Here's some code that I used to prototype reading a DRO, which is a linear quadrature encoder. Perhaps you can study it to understand how to use EncoderTool.
You need about 1K resistors pulling up to +3.3V on A and B....
Are you using interrupts? I suspect you are, but I can't tell from your code, because you didn't supply all of it. If you are using interrupts you need to use volatile for those variables.
Although it probably...
It's hard to see if you left anything out, if you don't include the whole file. The rule at the very top of the page is there for a very good reason.
Forum Rule: Always post complete source code & details to reproduce...
You used the file called singleEncCallback.ino ? That should do something. If you want an interrupt driven encoder, I believe you just substitute Encoder for PolledEncoder. Then there is no need for enc.tick() in...
For a definitive paper on window functions and their properties, there is the paper by Fredric Harris. Hope this is helpful.
Notice: US Gov't work, not protected by US copyright.
If you use luni's Encoder library, all that is figured out for you. Highly recommended. I am using his library for my electronic lead screw on my lathe. Works terrific. Use it for the spindle and for digital read...
A and B should be offset by 90 degrees, but have the same frequency. You need to look at them simultaneously to see this. If A and B are offset by 90 degrees, you can determine position AND direction. With one...
If the encoder is open collector then you can pull up the signals to either +5V or +3.3V. I have a rotary encoder that can sink over 10mA, (Omron E6B2-CWZ6C,) so I used 330 ohms to +5V. I ran it through buffer...
In spectral processing you can't cheat the window. You will need a decent window whether you think so or not. The problem is spectral leakage is just plain awful with a rectangular window, like 13 dB sidelobes...
Generally, in KiCAD you need to design your own footprint and part for anything that's not in their library. It's not as hard as it sounds. I had to create a part and footprint for the ILI9341 display that PJRC sells....