Teensyduino 1.47 Released

Status
Not open for further replies.

Paul

Administrator
Staff member
Teensyduino 1.47 has been released.

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

1.47 is the first official release to support Teensy 4.0.


However, not all libraries and features are supported on Teensy 4.0 yet. Here is a partial list of things known to not yet work on Teensy 4.0.

OctoWS2811
WS2812Serial
PulsePosition
USB types other than Serial
Optimization with LTO
legacy AVR register emulation
FreqMeasureMulti
SdFat
Snooze
TeensyThreads
Wire slave (normal master mode works)

My hope is to release 1.48 in early September, with most of the items on this list supported.

If you encounter problems, please reply on this thread with details. Please include complete code and everything needed to reproduce the problem.
 
Just did an install on a windows 10x64 and installed without a problem. As @defragster noted it did remember the last board selected, in my case it was a Teensy 4.

One note though. On initial install it gave me the ERROR! message but I noticed in task manager there was a teensy_reboot.exe still running. One killed it the installed proceeded normally.
 
4.0 up and blinking! good to be back in the teensy world after an extended break. did you miss me?:rolleyes:

so.. it doesnt give me any USB type options: i.e. MIDI, HID. is that intentional?
 
Last edited:
Just did an install on a windows 10x64 and installed without a problem. As @defragster noted it did remember the last board selected, in my case it was a Teensy 4.

One note though. On initial install it gave me the ERROR! message but I noticed in task manager there was a teensy_reboot.exe still running. One killed it the installed proceeded normally.

Odd there was something orphaned/stuck? Before last two beta installs for sure I scanned TaskMan for Teensy processes and none survived closing IDE and TeensyLoader before install. That was with 1-3 or more T4's active and some half dozen IDE sketches open before.

Download of Release 1.47 just completed - will update if anything shows up. This install will be after fresh reboot from Windows Updates so nothing arduino active ...

< no news, but good update:) > :: Win 10 : installed 1.47 release no issue - IDE 1.8.9 started and did a blink and a primes sketch - then ili9341_t3 DemoSauce on the PJRC Purple OSH board ... ALL GOOD
And > Three T4's online - picked the Teensy_ports one with twin SPI 0/1 ST7789's - ran 5 port Serial Test - All Good.


OH - in the process for FUN :: On both those T4's I did a 15 second Restore after upload, then hit Program after Restore and the Sketch code went on again and came up running.
> In both cases the IDE SerMon ( teensy_ports ) : shows Teensy as RawHid when it came back online - then Button did upload.
 
Last edited:
I have arduino 1.8.9-3 installed on manjaro linux (arduino 1.8.9-3 is from the default manjaro repositories). When I run the teensyduino 1.47 installer, I cannot install because I see:

Checking Arduino 1.8.9:
version: "lib/version.txt" version matches
file: "arduino" present
file: "lib/jssc-2.8.0-arduino3.jar" present
java: "lib/pde.jar" object: "processing/app/Base.class" wrong size, unsupported Arduino version
Does not match Arduino 1.8.9

What is the problem and how do I fix this? (BTW the lib/pde.jar was built on 5/20/2019)

Thanks!
 
I have arduino 1.8.9-3 installed on manjaro linux (arduino 1.8.9-3 is from the default manjaro repositories). When I run the teensyduino 1.47 installer, I cannot install because I see:

Checking Arduino 1.8.9:
version: "lib/version.txt" version matches
file: "arduino" present
file: "lib/jssc-2.8.0-arduino3.jar" present
java: "lib/pde.jar" object: "processing/app/Base.class" wrong size, unsupported Arduino version
Does not match Arduino 1.8.9

What is the problem and how do I fix this? (BTW the lib/pde.jar was built on 5/20/2019)

Thanks!

TeensyInstaller only works against 'Arduino Release' versions posted on their web site. Not daily builds and not any version that may have been 'tweaked' in a way to change the JAVA core files PJRC needs to trust to modify for chneges Teensy makes.

The "arduino 1.8.9-3 is from the default manjaro repositories" seems to indicate it was 'tweaked' for the OS install - and as such it was modified and fails the version check before install of TeensyDuino.
 
Ok, thank you for that! I will get rid of the manjaro repository install, and instead install from arduino.cc. I had read about that in the "known issues", but the only reason I thought it'd be ok in this instance was that the 1.8.8 install from the manjaro repositories and teensduino 1.4.5 worked just fine.....but I understand that things can change as you pointed out and will follow your advice.

Thank you!
 
DejaVu all over again

I know this is a stupid operator issue.. but I seem to experience it a lot;)

MacOS 10.14.6 Arduino 1.8.9, Teensy Loader 1.47, Teensy 4, Teensy Ports/...serial(Teensy 4.0")

Causes Arduino to crash on second screwup.

If you make a mistake that writes to much to the screen to fast and get:

'Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space'

you can recover by quickly closing the Arduino terminal window, fixing the error and then recompiling, reloading and opening the terminal.
However, the next time you muck-up Arduino will freeze and your work can't be saved.

Here is an oversimplified example to show the issue.
1. Run it once. (Must open Arduino terminal window to start it after download)
2. Close the terminal window.
3. Comment the offending line in loop()
4. Recompile, reload and run again, it works correctly.
5. Uncomment the offending line and try again.
6. At this point I get the freeze.

Code:
void setup() {
  Serial.begin(9600);
  while(!Serial)
   ;
  Serial.println("I'm starting up");
}

void loop() {
  Serial.println("DejaVu"); // comment and uncomment this line
}
 
... operator issue.. but I seem to experience it a lot;)

MacOS 10.14.6 Arduino 1.8.9, Teensy Loader 1.47, Teensy 4, Teensy Ports/...serial(Teensy 4.0")

Causes Arduino to crash on second screwup.

If you make a mistake that writes to much to the screen to fast and get:

'Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space'
...

Very easy to do with the T4 not only passing in and out of loop() a few times faster than even a T_3.6 ( 20 million versus maybe 3 M ) - but the USB speed went from 12 Mbps to 480 Mbps …

Paul improved the transfer to GUI speed a bit and removed it from JAVA to some degree - but still tweeks the IDE easily when not properly limited.
 
Very easy to do with the T4 not only passing in and out of loop() a few times faster than even a T_3.6 ( 20 million versus maybe 3 M ) - but the USB speed went from 12 Mbps to 480 Mbps …

Paul improved the transfer to GUI speed a bit and removed it from JAVA to some degree - but still tweeks the IDE easily when not properly limited.

Seems funny it can recover once or twice, maybe just luck on what got clobbered. Probably good to save work and better to restart when this happens?

Forgot to thank you and all the other 'volunteers' for helping make Pauls latest creation happen. I see lots of fun ahead with it!
 
Seems funny it can recover once or twice, maybe just luck on what got clobbered. Probably good to save work and better to restart when this happens?

Forgot to thank you and all the other 'volunteers' for helping make Pauls latest creation happen. I see lots of fun ahead with it!

>> One thing I found is Turning OFF the Teensy when being overly talkative - getting it off USB lets the computer clear up sooner/better with data while recompiling.

Since it is buggy - it isn't exact - … as noted shutting it down ASAP allows immediate use. At some point the Heap Management of cycling buffers filling/displaying/dumping gets overwhelmed one could imagine some amount of recovery working - but at some point the recovery may just be orphaning memory and objects and it adds up.

I tend to use TyCommander and it works as well or better - but it has issues as well - it runs fine and does a good job swapping buffers ( of adjustable size ) - but after some time of full or over speed it and Win 10 freezes/gets sluggish. It uses a 'library' "text Control" from whatever code base he has in play - so it could be refined with custom code - but not sure when that may happen.
 
I have arduino 1.8.9-3 installed on manjaro linux (arduino 1.8.9-3 is from the default manjaro repositories).....
What is the problem and how do I fix this? (BTW the lib/pde.jar was built on 5/20/2019)

Only the original software published by Arduino.cc is supported. The many distro-modified copies of Arduino are never supported.

The installer tries to tell you this.

linuxversions.png
 
I am getting the below error while trying to compile 4.0 with a RA8875 TFT. Will RA8875 be fixed in in 1.48?
If this is another issue feel free to move this post, but all works fine on a 3.5 or 3.6 Teesy.
E:\Arduino\hardware\teensy\avr\libraries\RA8875\RA8875.cpp: In member function 'void RA8875::begin(RA8875sizes, uint8_t)':

E:\Arduino\hardware\teensy\avr\libraries\RA8875\RA8875.cpp:408:11: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment

csport = portOutputRegister(digitalPinToPort(_cs));//pinMode(_cs, OUTPUT);

^

Error compiling for board Teensy 4.0.
 
I am getting the below error while trying to compile 4.0 with a RA8875 TFT. Will RA8875 be fixed in in 1.48?
If this is another issue feel free to move this post, but all works fine on a 3.5 or 3.6 Teesy.

This is in the known issues list Post #4 and #6 on T4 Beta thread - but no notes so maybe not seen in Beta testing.

A quick look at that and it has #ifdef for T_LC/3.1/3.2 - but not for 3.5/3.6 so I'm not sure how they work as it looks like the same fixes/failures would apply in at least some cases.
 
I am getting the below error while trying to compile 4.0 with a RA8875 TFT. Will RA8875 be fixed in in 1.48?
If this is another issue feel free to move this post, but all works fine on a 3.5 or 3.6 Teesy.

Are you using the Adafruit_RA8875 or RA8875 libraries. Typically the Adafruit libraries should work but they don't have Teensy specific optimizations. Unfortunately, the author (sumotoy) of the Teensy specific library (RA8875) has not been seen on this forum since 2017. The Teensy RA8875 has a bunch of #ifdef's for specific Teensy machines, and since the Teensy 4.0 is not on the list, it is falling down to using the code for 8 bit AVR Arduinos. Whether that code will work on the Teensy 4.0 (in slow mode), I dunno.

It may depend on whether Paul, defragster, KurtE, or mjs513 have a RA8875 display for testing, and have the time and motivation to do the work (the later three have been working on optimizing other displays for the Teensy 4.0). I recall discussions about what to do about the RA8875 have come up in the past.
 
I am getting the below error while trying to compile 4.0 with a RA8875 TFT. Will RA8875 be fixed in in 1.48?
If this is another issue feel free to move this post, but all works fine on a 3.5 or 3.6 Teesy.

In going the RA8875 lib it looks like all the T3x stuff is a simple define and for those mcus Sumotoy uses SPI transaction's. I did a quick hack of the lib to add the T3.5/T3.6/T4 to the lib but I don't have the display to test. If you want to give it a try replace the .h/.cpp in the installed library with the ones in the attached zip. It might be enough to get you started.

EDIT: Note - the Adafruit version should work out of the box.
 

Attachments

  • RA8875.zip
    39.4 KB · Views: 158
I wonder at times what is the best course of action with Github projects like RA8875 library, where the owner of the library (Like Sumotoy) is no longer active.

I had/have a Spin version I did back in 2016, to be able to test it I believe on SPI1 and SPI2 of T3.5/6... I might have one of the displays sitting around somewhere... but ...
 
I wonder at times what is the best course of action with Github projects like RA8875 library, where the owner of the library (Like Sumotoy) is no longer active.

I had/have a Spin version I did back in 2016, to be able to test it I believe on SPI1 and SPI2 of T3.5/6... I might have one of the displays sitting around somewhere... but ...

Might be better to see what has to be added to the ADAFRUIT_RA8875 library from the Sumotoy library. This way it might be easier to support for the Teensies. Both libs look like they only use SPI transactions so might be easier even to use it on different SPI busses
 
Might be better to see what has to be added to the ADAFRUIT_RA8875 library from the Sumotoy library. This way it might be easier to support for the Teensies. Both libs look like they only use SPI transactions so might be easier even to use it on different SPI busses

That is the interesting question. Sometimes wonder if it would make more sense to try to enhance the Teensy support in Adafruit_GFX. Or more particular Adafruit_SPITFT.

Can we for example have it know more about T3 FIFO queue or likewise the T4...

Also they have some experimental version supporting DMA, which might be interesting to enable???
 
@KurtE
Good question - probably update SPITFT if Adafruit is amiable to the changes for the Teensies. GFX seems to be incorporated into most of the libraries I have seen.
 
@KurtE
Good question - probably update SPITFT if Adafruit is amiable to the changes for the Teensies. GFX seems to be incorporated into most of the libraries I have seen.

And try to do it in such a way, so that other platforms, particularly the M4 Adafruit uses, can add their bits.
 
In going the RA8875 lib it looks like all the T3x stuff is a simple define and for those mcus Sumotoy uses SPI transaction's. I did a quick hack of the lib to add the T3.5/T3.6/T4 to the lib but I don't have the display to test. If you want to give it a try replace the .h/.cpp in the installed library with the ones in the attached zip. It might be enough to get you started.

EDIT: Note - the Adafruit version should work out of the box.

Thanks, I will give it a try!
 
@KE4EST - was noted it compiles for T_3.6. With Verbose on compile that as Verify and in the last lines it will indicate the Libraries used and not used and show location for sure.
 
Status
Not open for further replies.
Back
Top