Teensyduino 1.53 Beta #1

Status
Not open for further replies.

Paul

Administrator
Staff member
Here is a first beta test for Teensyduino 1.53.


Linux 32 bit:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.linux32

Linux 64 bit:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.linux64

Linux ARM:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.linuxarm

Linux ARM64:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.linuxaarch64

MacOS 10.10 to 10.15:
https://www.pjrc.com/teensy/td_153-beta1/Teensyduino_MacOS_Catalina.zip

MacOS 10.8 to 10.14:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.dmg

Windows:
https://www.pjrc.com/teensy/td_153-beta1/TeensyduinoInstall.exe


Changes since Teensyduino 1.52:

Support for Arduino 1.8.13
Reduce EventResponder and yield() overhead (KurtE)
Audio design tool checks I/O compatibility (thanks to Frank's JavaScript work)
Update audio design tool documentation
Speed up ILI9341_t3 and add setClock (Larry Bank)
USBHost_t36 add Keyboard attachRawPress & attachRawRelease (David "plugz")
Fix DmxSimple on Teensy 4.0 (Adam Demuri)
add pgmspace.h (not avr folder) compatability for Teensy 4.0
minor updates to SD and Wire examples
 
Ok - that was fast. :)

Just installed Arduino 1.8.13 and updated it with the latest TD, 1.53beta1. Install was free of issues on a Win10x64 desktop. Loaded up a USBHost_t36 joystick BT sketch and connected with no issues to a PS4 Controller using a T4.1.

Haven't had the issue with the IDE not loading for a few days since I first posted about the issue. Looks like the fix might have worked.
 
Ok I installed the latest and so far so good.

And I am glad they finally have a hierarchical board type menu. Sure is a lot nicer than scrolling through tons of different board types like all of the different ESP32 or ESP...

@Paul - My guess is you are wanting this to be a fast release cycle for the Teensyduino? Else there are current pending PRs that could be nice.
 
Windows 10 ... Downloaded IDE 1.8.13 ... { new ISP downloads MUCH faster than it unzips! :) } and TD 1.53

Installs both worked: 1.8.13 and 1.53b1 - didn't open IDE - ran from SublimeText using Command Line execution w/TyCommander

Compile DualUSB both for T_4.0 and also T_4.1 { running now under new GDB with ftrias/TeensyDebug }

Seems to be working properly - just like prior IDE1.8.12 and TD1.52
 
My guess is you are wanting this to be a fast release cycle for the Teensyduino? Else there are current pending PRs that could be nice.

Let's merge stuff this week, with a cut-off for new features by Sunday morning. Then let's try to do as much testing with commits only to fix bugs next week, with a goal to wrap up 1.53 by June 28.
 
I've just run a quick test with my ILI9341 display (ILI9341_t3 library) and noticed an issue where the background is not blanked properly in all cases (e.g. with the GUIslice driver text created with gslc_ElemSetTxtStr is just overwritten with transparent background instead of black background). An older version of the ILI9341_t3 library from February 2020 does not have this issue.
 
I've just run a quick test with my ILI9341 display (ILI9341_t3 library) and noticed an issue where the background is not blanked properly in all cases (e.g. with the GUIslice driver text created with gslc_ElemSetTxtStr is just overwritten with transparent background instead of black background). An older version of the ILI9341_t3 library from February 2020 does not have this issue.

Good catch ... Can you post a simple example that shows the issue? An optimization change was made and likely to get pulled if not easily observed to be correctable.
 
The simplest way to reproduce the error is to blank with fillRect, e.g.:
#include <SPI.h>
#include <ILI9341_t3.h>
#include <font_Arial.h>

#define TFT_CS 10 //TFT CS
#define TFT_DC 9 //TFT D/C

ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC);


void setup() {
tft.begin();
tft.fillScreen(ILI9341_BLACK);
tft.setRotation(1);
tft.setTextWrap(false);
tft.setFont(Arial_14);
tft.setTextColor(ILI9341_YELLOW);
}

void loop() {
static uint16_t s=0;
tft.fillRect(1, 1, 100, 100, ILI9341_BLACK);
tft.setCursor(1, 1);
tft.print(s);
s++;
delay(100);
}
 
@Marcus_DE - @defragster

I can confirm the issue. I also downloaded the version prior to the latest PR as a double check and that worked without issue. With my display config i did change the example to:
Code:
#include <SPI.h>
#include <ILI9341_t3.h>
#include <font_Arial.h>

#define TFT_CS 10 //TFT CS
#define TFT_DC 9 //TFT D/C

ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC,8);


void setup() {
tft.begin();
tft.fillScreen(ILI9341_BLACK);
tft.setRotation(1);
tft.setTextWrap(false);
tft.setFont(Arial_14);
tft.setTextColor(ILI9341_YELLOW);
}

uint16_t s=0;
void loop() {
tft.fillRect(1, 1, 100, 100, ILI9341_BLACK);
tft.setCursor(10, 10);
tft.print(s);
s++;
delay(100);
}

Did verify that if you use the default font the issue does not appear.
 
I merged a few contributions which speed up ILI9341_t3. Looks like one of them broke fillRect(). I was able to reproduce the problem here.

But the latest on github appears to be working. Please give the github version a try and let me know if it still has issues. Or give 1.53-beta2 a try in a few days....
 
I merged a few contributions which speed up ILI9341_t3. Looks like one of them broke fillRect(). I was able to reproduce the problem here.

But the latest on github appears to be working. Please give the github version a try and let me know if it still has issues. Or give 1.53-beta2 a try in a few days....

Just downloaded the latest version from GITHUB: https://github.com/PaulStoffregen/ILI9341_t3 and reloaded the test sketch. Looks like there is no problem with Github version as you stated.
 
@Paul,

Not sure which of the current Pull Requests you would like to pull in to this release. Some of my current pending ones include:

https://github.com/PaulStoffregen/cores/pull/477 - Adds in support to T4 for serialEventUSB1 and serialEventUSB2... When the multi Serial stuff was added these events were added to T3.x, and defined sort of in T4.x, but never implemented in T4...

https://github.com/PaulStoffregen/cores/pull/425 - T4 - Interval Timer, it checks to see if the user changed the clock configurations for the timers and then configures the IntervalTimer based off of that. This allows sketches to create IntervalTimers that are much faster than they can currently do with the T4.x

https://github.com/PaulStoffregen/cores/pull/426 - T4.x - HardwareSerial RX looks into FIFO. This was setup to have the methods, like available() and read(), when necessary look into the RX hardware FIFO to see if there are any pending characters. Otherwise the current code in sketches will only see the last character received after a full once character delay has happened.

----

Things I have not created a PR for, is the ability to have T4.1 sketch run that uses the bottom pins for something other than RAM, Flash, and not have the startup code touch those IO pins. I have mentioned two different ways.
a) Weak variable that sketch can overwrite.
b) Change when the external memory startup code to after early startup hook and add ability for hook to change something to have that startup not called.
Not sure if you like either approach?
 
@KurtE
Know we have been making changes to the RA8875, ST7735/ST7789, ILI9488 libraries as well that may need to checked for latest changes.
 
@Paul,

Another question as with all such releases, what about libraries, that are available from other Sources.

Example Adafruit libraries, which we may be very much out of date on:

Adafruit_GFX, I think we have version 1.5.6 and their current one is 1.8.4
Adafruit_RA8875 Us/1.0.3 - Current 1.4.0
...

Other libraries: Although hopefully owners will let you know if their current stuff should be picked up, like:
ADC
 
@KurtE
Maybe we should check that the new Adafruit_GFX library doesn't cause problems with existing display libs? Example for the font4 test in the ILI9341_t3n library:
Code:
In file included from F:\arduino-1.8.13\hardware\teensy\avr\libraries\Adafruit_GFX\Adafruit_MonoOLED.cpp:20:0:
Multiple libraries were found for "font_Arial.h"
[COLOR="#FF0000"]F:\arduino-1.8.13\hardware\teensy\avr\libraries\Adafruit_GFX\Adafruit_MonoOLED.h:30:32: fatal error: Adafruit_I2CDevice.h: No such file or directory
[/COLOR] Used: D:\Users\Merli\Documents\Arduino\libraries\ILI9341_fonts-master
compilation terminated.
It also looks like it also needs Adafruit Bus IO Library so looks like some trouble shooting is needed.
 
Hi @mjs513 - Which example did you hit this with?
Note: It looks like I have the Adafruit Bus IO library installed on my machine.

If my recollection is correct the last time the Arduino Library Manager told me my GFX was out of date (updateable) it then probably had some message saying, that it requires some other libraries and would I like to update or install those as well...

It is an interesting issue. Probably one of the real questions should be, can we (or should we) remove all of these libraries from being installed by Teensyduino?
Currently installed by Teensyduino, that require GFX...

Adafruit_RA8875
TFT_ILI9163C (Sumotoy - so probably no one maintaining it)

Artnet - has an example that uses it
Some of our displays have examples that include it(ili9341_t3, ILI9488_t3, ST7735_t3

Again it would be great if we could
 
@KurtE
Sorry for the delay in getting back - was working on other home projects :)

Anyway the example I tested was ILI_Ada_FontTest4.ino but probably any sketch that does a #include <Adafruit_GFX.h> would have the same issue.

It is an interesting issue. Probably one of the real questions should be, can we (or should we) remove all of these libraries from being installed by Teensyduino?
Currently installed by Teensyduino, that require GFX...
Of two minds on this. If we don't include it then it can be installed via Arduino Library Manager which would automatically give you the Bus_IO library (probably). I we do then would have to include the Bus_IO library, The former does have the advantage that we wouldn't have to worry about updating those libraries when Adafruit updates them.

Some of our displays have examples that include it(ili9341_t3, ILI9488_t3, ST7735_t3
Probably they all do since we added the option to use Adafruit fonts.
 
@mjs513 - Not a problem, was also busy with out home projects...

Interesting thing is when I now compile the ILI_Ada_FontTest4 for some reason it is now using the Teensyduino installed one instead of the one in my libraries folder.

Code:
C:\\arduino-1.8.13\\hardware\\teensy/../tools/teensy_post_compile" -file=ILI_Ada_FontTest4.ino "-path=C:\\Users\\kurte\\AppData\\Local\\Temp\\arduino_build_571476" "-tools=C:\\arduino-1.8.13\\hardware\\teensy/../tools/" -board=TEENSY41
Multiple libraries were found for "Adafruit_GFX.h"
 Used: C:\arduino-1.8.13\hardware\teensy\avr\libraries\Adafruit_GFX
 Not used: C:\Users\kurte\Documents\Arduino\libraries\Adafruit_GFX_Library

Wonder why...

@Paul - I also put in PR for SPI, to put in a quick and dirty implemention for SPI.end() for T4.x
https://github.com/PaulStoffregen/SPI/pull/59

I turned off the MEN in the register and I set the three IO pins to INPUT_DISABLE. This was to hopefully help resolve some issues with snooze and SPI
 
Hello, what are the minor updates to SD and Wire examples? will the SD changes help with playing audio from an SD?
 
Hello, what are the minor updates to SD and Wire examples? will the SD changes help with playing audio from an SD?

Sometimes the simplest way to answer this is to simply look up at github for the library you are interested in, especially if they come directly from Paul's github..

Example Wire: only one update recently and that was to update the I2C scanner sketch to show: Si7210 devices

And SD, looks like several examples had comment updated to add T4.1, like: // Teensy 3.5 & 3.6 & 4.1 on-board: BUILTIN_SDCARD
(Although I am surprised it does not include T4 as well).
 
Status
Not open for further replies.
Back
Top