@BriComp is correct. FlasherX will not overwrite existing firmware unless the new firmware contains a text constant from header file FlashTxx.h. The idea is that FlasherX will only install new firmware that was built for the target. For Teensy...
Regarding the use of GPS for accurate timestamps, that is the essence of the T4.1 NTP server at the github and forum links below. The period of the PPS signal is measured via timer input capture. The measurements are filtered via PID to compute a...
Strange and confusing that they use the term "frequency of operation (fop)" rather than using f(SCK).
There are questions on the NXP community forum about this, and the NXP response is that the limit is 30 MHz, with no explanation regarding the...
There is not much anyone can do to help you unless you show the code that is not compiling. You can look at the announcements for TeensyDuino 1.58 and 1.59 to see what has changed. Some of them are significant, such as new versions of GCC, etc.
For data logging to SD, I strongly suggest using the method shown in SdFat example program TeensySdioLogger. It shows how to use SdFat's RingBuf, which is a template class that associates a ring buffer with an SD file, with methods to write data...
Really? You could only find one thread? There are dozens. If you use the forum search bar and enter "Teensy 4.1 overclock", the first result is the thread shown below...
The Teensy4 core contains the function below, which lets you set the clock and does its best to keep all of the peripherals working correctly, for example UART baud rates. It's not clear to me calling this function is 100% equivalent to setting...
You don’t need two arrays or memcpy(). You can read directly into data[] like this:
file2.readBytes( (char*)data, total*4 );
Some of your sketches have N and total the same. Others not.
Your goal is to read the entire array from your LittleFS file into your PSRAM array, right? Have you tried reading the entire array with one call to readBytes(), similar to the way you write?
file2.readBytes( data, total*4 );
I use this method in FlasherX to do a reset after writing new firmware, and as far as I know it has always had the intended effect, with the 1062 rebooting and running the new firmware.
The AD7124 is a rather complex 24-bit ADC, so you've got a learning curve ahead of you. The link below is to a library on github that supports this device. Instead of trying to write your own driver, you should install this library and run its...
There is no way that I know of to upload data directly to your QSPI flash. Can you please tell us what you are trying to do? I thought you were trying to build a data logger, but if you need to load data into your flash, that doesn't sound like a...
Use EXTMEM for PSRAM.
Your write loop writes total values (916200) and then your read loop reads N values (100000). Is that what you intended?
Why do you #include the file that you read/write within the program?
Have you tried running the example datalogger program for the LittleFS library? I ask this again because it seems like it does more or less what you want, and if you read the code you might get a better understanding of how LittleFS works and how...
Okay I fixed it. I noticed that I could delete the entire WiFi101 library folder without compiler complaints. I did a search for all things WiFi101/ATWINC1500 on my system and could not find any copies that the IDE was using. I just decided to go...
An important change in 1.59 was to update to C++17. I'm just guessing, but perhaps it is less lenient in terms of allowing multiple definitions. The link below is for the 1.59 release in the Announcements forum...
Not sure LittleFS supports opening and reading from a file that is still open for writing. Please start from the LittleFS example program LittleFS_QSPI_Simple_Datalogger.ino
@thebigg is correct, and that string *should* be in the file if you build the FlasherX example sketch with no changes to the source file. Perhaps you made some changes? You'll have to tell us more for us to help you solve the issue.
I'm not sure what's wrong, but can you please do a restore to factory blink program and then try to repeat the process? It looks like you may have some data in upper flash that is preventing FlasherX from creating a sufficient buffer.
You can...
Hi all,
some days ago I asked for a question: basically I had to implement an emulation of two sensors that behave as a SPI slave for testing purposes. Working with Arduino UNO was fine, but Arduino can behave as a single SPI slave, so two...
I meant you might be able to send the SPI signals further than SDIO, but maybe not that far. Hopefully more hardware-savvy folks will comment, but for T4,0, for example, what I remember seeing is usually a piggyback board, so the signal distances...
SOLVED... This was a problem with the power supplies that operate each unit. When the computer was unplugged the V+ rail dropped on one unit and while the Teensy still continued to run, the data output pin was not reaching a proper 'high'...
Do you mean the time for your application to zero the memory before using it? That seems like a question only you can answer, but if you do it in your setup() or one of the pre-setup "hook" functions, would that matter in your application?
Yes, FlasherX can work with any method of transferring the new firmware to Teensy. The repository has examples for UART, serial USB, and SD, but it could also be SPI, I2C, Ethernet, etc. Regardless of the method of transfer, the concept is always...
The ADC library has several examples of timed ADC conversion. Those would be a good starting point.
EDIT: I tried the adc_timer example on a T4.1, and it worked nicely.
First, add these two lines shown below just above #ifdef ADC_USE_TIMER...
Modern flash memory basically always has wear leveling built into the firmware of the storage media. So, frequent writes will cause it to write to different spots on the card and level out the wear and tear. But, they may not do wear leveling on...
Your root sketch folder seems to be:
but your libraries are one level below that:
Maybe Arduino searches until it finds a libraries folder, but I've always had my libraries folder in my sketches folder. In your case, that would be:
If I understand what the OP means here, it can be done by with a QTMR, interrupting on input capture and then setting an output compare some number of clocks ahead of the capture value. The output compare match can trigger the output signal high...
You won’t find detailed documentation for everything. You have the PJRC web pages, Arduino API documentation, this forum, GitHub, google, and the reference manual. It’s sometimes better to use google even to find forum messages.
Edit: Forgot to...
Your question has a lot in common with this recent thread
https://forum.pjrc.com/index.php?threads/frequency-doubler-for-lockin-amplifier.76234/
It shows how to trigger an interrupt on the input pin and then write the output pin from the ISR...
You're welcome. I guess you could reduce the rising edge delay a tiny bit by swapping the first two statements in onInputChange(). If the digitalWriteFast() is the first statement, the rising edge of the output will be as close as possible to the...
I'm not sure what you're doing in your latest program with a Timer to toggle the output. The code below is based on your previous program with changes to make it faster. I haven't looked at the output with a scope or logic analyzer, but I think...
I don't know of any Teensy-specific documentation on FFT other than what is in the Audio tutorial, but the T4 core includes much of a somewhat old version of CMSIS DSP, including fixed-point and 32-bit float FFT. See file arm_math.h for details...
T4 has lots of timers, and most (all?) of them have both input capture and output compare capability. I would start with GPT because it's a 32-bit timer so it's better suited to your low frequencies. QTMR is 16-bit and can be cascaded to make...
Do you mean with a Teensy + software? You could measure the period of the output of the SR830 and generate PWM with half of that period (twice the frequency). Since you know the output of the SR830 is a square wave, you don't have to measure the...