Teensyduino 1.54 Released

Status
Not open for further replies.

Paul

Administrator
Staff member
Teensyduino 1.54 has been released.

https://www.pjrc.com/teensy/td_download.html

Quick summary: 1.54 brings support for MicroMod Teensy and Arduino 1.8.15. The higher performance SdFat library is included the SD library is only a thin wrapper for SdFat. LittleFS is now included, for filesystems on flash chips or in Teensy 4 program memory. Audio now has bandwidth limited waveform syntheis and a ladder filter for Moog-like subtractive sound synthesis. OctoWS2811 now supports RGBW LEDs. Teensy 4.0, 4.1 & MicroMod can now recover from many types of memory faults and crashes, and info about what caused the problem can be seen after rebooting with Serial.print(CrashReport).

Detailed article about new features:
https://www.pjrc.com/teensyduino-1-54-released/

Changes since 1.54-beta12:

Updated Linux udev rules
CrashReport placehold for Teensy 2.0, LC, 3.x
LittleFS Integrity exmaples cleanup (Defragster)
Fix TEMPMON register defs (ssilverman)
Delete wav2sketch.exe - triggers anti-virus false positives
Fix Audio compile error on Teensy LC
Improve USBhost_t36 examples arrangement


Complete list of changes since 1.53:

Support for MicroMod
Fix SPI with DMA to cached memory on Teensy 4.x
Support alternate Wire3 pins on Teensy 4.1
Improve map() function
Show Serial.printf format warnings
Fixes for HAB secure boot
Update imxrt.h comments for RT1060 Reference Manual, Rev 2
AsyncAudioInputSPDIF3 bugs fixed
synth_tonesweep update?
NativeEthernet & FNET update
Update ILI9341_t3
Update QuadEncoder
Update RadioHead
Update ST7735_t3
Update USBHost_t36
XPT2046_Touchscreen
Wait up to 6.2 seconds for Teensy to reboot (was 5 seconds)
Fix 1.54-beta1 startup problem on Teensy 4.1
EEPROM put/get handle String and warn for incompatible classes (luni64)
Add _extram_start & _extram_end for Teensy 4.1
Update Bounce2
Add File base class and FS.h header
Add SdFat-beta library
Replace SD library with wrapper which uses SdFat
SoftwareSerial improvements on Teensy 3.5, 3.6, 4.1
Update NativeEthernet
Audio: Improve simultaneous WAV playing & add SimultaneousPlay test
SD default to 16 MHz SPI clock
Serial Monitor fix double spaced lines copied to clipboard
Serial Monitor avoid auto horizontal scroll on very long lines
Serial Monitor fix memory leak on MacOS
File & FS classes improved - many changes!
Add LittleFS library - lots of new stuff here...
FS open() supports FILE_WRITE_BEGIN mode
SdFat-beta renamed to SdFat
Add delayNanoseconds() on Teensy 2.0, LC, 3.x
Print class support for 64 bit integers
DMAChannel attachInterrupt(isr, priority) (WMXZ)
Update NativeEthernet
SD listfiles example improved
Fix Audio PT8211 issue on Teensy 4.x
Improve Audio simultaneous WAV playing
Fix USB issue for MTP to run at 600 MHz
Fix double space on copy from serial monitor on Windows
Configurable MIDIx16 port names (vjmuzik)
Support for no USB (vjmuzik)
Fix multiple def with EEPROM put() & get()
Update FlexCAN_t4
Update NativeEthernet
Update RadioHead
Update ST7735_t3
Update SdFat to 2.0.5.beta1
Wire lib Scanner example updated
Audio waveform synth add bandwidth limited waveforms (Mark Tillotson)
Fix audio design tool conflict with DAC & PWM outputs (manicken)
Fix audio compile errors with Teensy LC (Frank B)
Add I2S output for Teensy LC (Frank B)
Add PT8211 output for Teensy LC (Frank B)
Add support for SGTL5000 in I2S master mode
Fix bug in SGTL5000 BiQaud filter calculation (Graham Whaley)
Fix minor bug in S/PDIF resampling (alex6679)
Add Play/Pause function to WAV player (standarddeviant)
Fix waveform synth discontinuities in phase modulation (Mark Tillotson)
Fix buzzing noise in FreeVerb due to numerical truncation (matt venn)
SGTL5000 support for switching headphones to input signal (Jurgen Beliën)
Add JavaScript version of wav2sketch (Matt Bradshaw)
Add LittleFS NAND & FRAM support (MJS513)
Add LittleFS LFSintegrity test program (Defragster)
Add OctoWS2811 RGBW LED support
Add OctoWS2811 VideoDisplay example for Teensy 4.x
USBHost_t36 add MassStorageDriver work-in-progress (wwatson)
USBHost_t36 Serial driver support for Teensy seremu (KurtE)
Update WS2812Serial for extra Teensy 4.1 pins
Improve serial emulation for non-serial USB types
Windows digital signature changed - old cert expired
Improved memory usage info for Teensy 4.0 & 4.1
Audio input PDM on Teensy 4.x (Mark T)
Audio ladder filter (Richard van Hoesel)
Audio fixes on Teensy LC (Frank B)
USBHost_t36 improve MIDI transmit speed
Fix Teensy Loader slow startup on Ubuntu 20.04
Update Linux udev rules - NOTE: filename changed!
Fix Teensy Loader excessive CPU use on Linux
SD typecast to SdFat reference, for libs like MD_MIDIFile
SdFat fix corrupted filename from getName()
Wire Scanner update known chips
Wire initializion code in flash memory only (Frank B)
Fix USB audio volume range (Frank B)
Improve individual audio object CPU usage info
Fix EEPROM on Teensy 4.x when compiled with -Os (Frank B)
Fix Arduino IDE Java IOException on quit
Support for Arduino 1.8.14
Fix MPU settings, solve mystery 1.7 sec stalls (FrankB)
Fix Ethernet W5100 on Teensy 4.0 running at > 150 MHz
Wire library names updated for MicroMod (mjs513)
Add Kurt's FlexIO_t4 library (KurtE)
Add missing FlexIO defs to imxrt.h
Fix IMXRT_GPIO_t ISR name on Teensy 4
Serial.begin() to wait up to 2 seconds for serial monitor
Audio add WaveFolder (Mark T)
Audio fix double promotion warnings (FrankB)
Audio improve ladder filter (Richard van Hoesel)
LittleFS updates to lowLevelFormat (Defragster, KurtE)
RA8875 updates
ST7735_t3 updates
USBHost_t36 update mass storage
USBHost_t36 undo zero interrupt latency change, breaks some drivers
Fix memory usage on MicroMod
Show ITCM actual memory usage & padding
Support for Arduino 1.8.15
Fix FreqMeasureMulti on Teensy 4 (joepasquariello)
Fix USB buffer bug on Teensy 3, remove old workaround (ryanrs)
Fix mempy crossing memory regions on Teensy 3.x
Fix EEPROM compile issue on Teensy 2.0
Align code & non-code boundaries to 1K on Teensy 4.x
Fix startup bug on Teensy 4
Fix emulated EEPROM corruption bug on Teensy LC
Fix typo in Audio TDM input documentation
Update FlexIO_t4 (from KurtE)
LittleFS persist ramdisk (Defragster)
Fault handler on Teensy 4 stores info, keeps USB active, reboots after 8 sec
Add CrashReport for printing or logging fault info
Fix NULL pointer read after String subString returning empty
Fix String operator == ambiguous overload
Disable Arduino Sketch-Upload Using Programmer menu item
LittleFS minor updates (mjs513)
Update NativeEthernet
Add cmsis_gcc.h, for Arduino_TensorFlowLite library
Fix Serial2 vs Serial4 on MicroMod (KurtE)
Add SD library SdFat_Usage example
Reduce CrashReport memory usage
_VectorsRam change to volatile
Updated Linux udev rules
CrashReport placehold for Teensy 2.0, LC, 3.x
LittleFS Integrity exmaples cleanup (Defragster)
Fix TEMPMON register defs (ssilverman)
Delete wav2sketch.exe - triggers anti-virus false positives
Fix Audio compile error on Teensy LC
Improve USBhost_t36 examples arrangement
 
Last edited:
Fresh unzip Win IDE 1.8.15 and TD 1.54 install.
IDE Blink to T_MM okay
Recent mjs513 HM01B0 example to SFUN MMod ML board camera and display working to TFT_ST7789

No warnings or errors.

Confirmed only sketchbook lib is the camera:
Code:
Memory Usage on Teensy MicroMod:
  FLASH: code:89772, data:15720, headers:9192   free for files:16400388
   RAM1: variables:262848, code:86280, padding:12024   free for local variables:163136
   RAM2: variables:321856  free for malloc/new:202432
Multiple libraries were found for "SD.h"
 Used: T:\arduino-1.8.15\hardware\teensy\avr\libraries\SD
 Not used: T:\arduino-1.8.15\libraries\SD
Using library SD at version 2.0.0 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\SD 
Using library SdFat at version 2.0.5-beta.1 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\SdFat 
Using library SPI at version 1.0 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\SPI 
Using library Wire at version 1.0 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\Wire 
[B]Using library HM01B0 at version 1.0.0 in folder: T:\tCode\libraries\HM01B0[/B] 
Using library FlexIO_t4 at version 1.0.0 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\FlexIO_t4 
Using library ST7735_t3 at version 1.0.0 in folder: T:\arduino-1.8.15\hardware\teensy\avr\libraries\ST7735_t3

Ran this okay : T:\arduino-1.8.15\hardware\teensy\avr\libraries\LittleFS\examples\Integrity\PROG
> Only edit was 12MB Media size from default 1MB
 
Just installed 1.54 over 1.54b12 without issue on a Win10x64 home pc. Download no issue with blue screen warning and cleared Norton as safe. No problems with installation noted.

Ran a the temp fault examples sketches on the Teensy MicroMod board.
1. Panic temp exceeded - worked no issue
Code:
CrashReport:
  A problem occurred at (system time) 19:38:43
  Code was executing from address 0x774
  Temperature inside the chip was 56.35 °C
  Startup CPU clock speed is 600MHz
  Reboot was caused by temperature sensor
Panic Temp Exceeded Shutting Down
Can be caused by Overclocking w/o Heatsink or other unknown reason

2. High temp set arm clock to 24mhz example - passed
Code:
No Crash Data To Report
  Hopefully all is well, but certain types of crashes can't be reported:
	stuck in an infinite loop (technically, hardware still running properly)
	remaining in a low power sleep mode
	access to certain peripherals without their clock enabled (eg, FlexIO)
	change of CPU or bus clock speed without use of glitchless mux
Temp(degC) = , 45.416668
Temp(degC) = , 47.604168
Temp(degC) = , 49.791668

Danger Will Robinson
HIGH Temperature Alarm 51.2. 
System Clock set to 24Mhz

Temp(degC) = , 44.687500
Temp(degC) = , 42.500000
Temp(degC) = , 41.770832
Temp(degC) = , 41.041668
Temp(degC) = , 41.041668
Temp(degC) = , 40.312500
 
I'm using PlatformIO, will 1.54 automatically be used or do I need to put something in my .ini file, anyone? ;)

nedladdning.jpg
 
Usually PlatformIO publishes an update within a week. Or at least they have in the past.

Ivan has said he follows the cores github repo, and this time I made sure to tag a 1.54 release, so they should already be aware.

Wouldn't hurt to ask them (nicely) but just keep in mind they've had not even 24 hours since 1.54 released. The process has always taken at least a few days. This update made a change to showing memory usage in a completely different way, so it'd be reasonable to expect they'll take a little longer this time to consider how (or if) to use the detailed memory usage.
 
Installed Arduino 1.8.15 and then installed TD 1.54. no installation problems.

I compiled a complex sketch for T4.1 (Tympan RevE) using my floating point audio library which uses a the new SD functionality. So far, everything looks good.

Nice work.

Chip
 
Usually PlatformIO publishes an update within a week. Or at least they have in the past.

Ivan has said he follows the cores github repo, and this time I made sure to tag a 1.54 release, so they should already be aware.

Wouldn't hurt to ask them (nicely) but just keep in mind they've had not even 24 hours since 1.54 released. The process has always taken at least a few days. This update made a change to showing memory usage in a completely different way, so it'd be reasonable to expect they'll take a little longer this time to consider how (or if) to use the detailed memory usage.

Thanks Paul, I’ll wait and see. Good you cleared that up. Appreciate it. And once again, thanks for making the Micromod reality!
 
@PaulStoffregen

Somewhere, can't seem to find it, was mention of another PSRAM chip that could be used for the T4.1. Specifically, the LY68L6400 by Lyontek. So I purchased a few for testing and just installed on the T4.1 and looks like its another candidate to be used.

Running the PSRAM memTest.ino - chip was recognized and all tests passed:
Code:
EXTMEM Memory Test, 8 Mbyte
 CCM_CBCMR=B5AE8304 (88.0 MHz)
testing with fixed pattern 5A698421
testing with pseudo-random sequence, seed=2976674124
testing with pseudo-random sequence, seed=1438200953
.....
testing with fixed pattern FFFFFFFF
testing with fixed pattern 00000000
 test ran for 36.66 seconds
All memory tests passed :-)

Next running the new LittleFS example - PSRAM Integrity sketch it comes up immediately with
Code:
printDirectory RAM_DISK
--------------

 0 dirs with 0 files of Size 0 Bytes
 Total 0 files of Size 0 Bytes
Bytes Used: 4096, Bytes Total:8388608
and running the Big File Test - worked without issue:
Code:
Start Big write of 4161536 Bytes..................................................
Big write /0_bigfile.txt took  0.97 Sec for 4159488 Bytes : file3.size()=4159488
	Big write KBytes per second 4269.86 

Bytes Used: 4200448, Bytes Total:8388608

printDirectory RAM_DISK
--------------
FILE	0_bigfile.txt		4159488
DIR	1_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	2_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	3_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	4_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	5_dir / 

 0 dirs with 0 files of Size 0 Bytes

 5 dirs with 1 files of Size 4159488 Bytes
 Total 1 files of Size 4159488 Bytes
Bytes Used: 4200448, Bytes Total:8388608

Next up was running the LittleFS_test1a sketch for PSRAM. Wanted to test not only if it worked but also if it retained the data from the previous test. Test passed successfully:
Code:
LittleFS Test
TotalSize (Bytes): 8388608
started
MAKE files
printDirectory
--------------
FILE	0_bigfile.txt		4159488
DIR	1_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	2_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	3_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	4_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	5_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	structureData1 / 

 0 dirs with 0 files of Size 0 Bytes

 6 dirs with 1 files of Size 4159488 Bytes

--------------
printDirectory
--------------
FILE	0_bigfile.txt		4159488
DIR	1_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	2_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	3_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	4_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	5_dir / 

 0 dirs with 0 files of Size 0 Bytes
DIR	structureData1 / 
	FILE	temp_test.txt		19

 0 dirs with 1 files of Size 19 Bytes
FILE	temp_test1.txt		19
FILE	temp_test2.txt		19
FILE	temp_test3.txt		1024

 6 dirs with 4 files of Size 4160550 Bytes

Disk Usuage:
Bytes Used: 4206592, Bytes Total:8388608
Test for SOME DATA TO TEST

So I would say its a safe bet to add the chip to the list of chips that can be used.
 
Yes. I have an unopened package here, which is should have those chips. Got really busy with the 1.54 release and testing & packaging Teensy 4.1 over the weekend (so we could ship most backorders this week), and then repairing a couple test fixtures this week.

I'm pretty sure all of these 8MB QSPI PSRAM parts are really just the exact same Ap Memory chip inside.
 
Yes. I have an unopened package here, which is should have those chips. Got really busy with the 1.54 release and testing & packaging Teensy 4.1 over the weekend (so we could ship most backorders this week), and then repairing a couple test fixtures this week.

I'm pretty sure all of these 8MB QSPI PSRAM parts are really just the exact same Ap Memory chip inside.

Think you had your hands full enough with everything and probably still do. Hopefully its one less thing you can cross off your list. I actually had it for several days, sitting and waiting for me to do something with, but got side tracked with a few other things as well, as always.

It sure looks like they have the same core ship.
 
I'm pretty sure all of these 8MB QSPI PSRAM parts are really just the exact same Ap Memory chip inside.

Yes, the datasheets are pretty similar. The only difference I saw at first glance is 200uA Standby current for the Lyontek part vs. 400uA for the ESP part.
https://datasheet.lcsc.com/szlcsc/Lyontek-Inc-LY68L6400SLIT_C261881.pdf
https://www.espressif.com/sites/def...ion/esp-psram64_esp-psram64h_datasheet_en.pdf

But that may be due to the different date of the datasheets.
 
Ignorant questions: How do I find out what version of Teensyduino I'm currently running, and how do I safely install the new version over my current version?
Thanks.
 
How do I find out what version of Teensyduino I'm currently running,

In Arduino, click Help > About. (or Teensyduino > About if using Macintosh)


and how do I safely install the new version over my current version?

Just run the installer. It's safe to "install on top of" an older version.

But if you want the latest Arduino 1.8.15, install that first. If using Windows, the .exe installer will delete your old copy before it installs the new version. Then install Teensyduino 1.54.
 
The TD 1.54 Blog article looks great

Re:
Code:
RTC RAM
16 bytes of memory are located within the RTC. If a coin cell is connected to VBAT, contents of 
this memory is preserved while power is off. This memory is accessed as 32 bit registers LPGPR0-LPGPR3.

This takes the @Frank B discovered activation : SNVS_LPCR |= (1 << 24); //Enable NVRAM - documented in SDK

There is a working sample here for T_3.x and T_4.x : Teensy-4-x-Battery-backed-Non-volitile-memory

That also posted here : TeensyUser/doc/wiki/NVRAM-usage-on-T_3.x-and-T_4.x-and-MicroMod
 
Status
Not open for further replies.
Back
Top