PDA

View Full Version : Teensyduino 1.50 Beta #1



Paul
01-29-2020, 01:00 PM
Here is a first beta test for Teensyduino 1.50.


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

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

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

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

MacOS Catalina 10.15:
https://www.pjrc.com/teensy/td_150-beta1/Teensyduino_MacOS_Catalina.zip

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

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


Changes since Teensyduino 1.49:

Support for Arduino 1.8.11
Fix soft reboot on Teensy 4.0
Fix 1 GHz in Tools > CPU Speed
Fix IntervalTimer minimum on Teensy 4.0 (KurtE)
Add defines for ethernet and PLLs
Add defines ARDUINO_TEENSY## for each board

KurtE
01-29-2020, 01:42 PM
Just installed on Windows 10 machine on 1.8.11, so far appears to be working.

Should mention, it does appear like 1.8.11 may have addressed some of the issues of 1.8.10 where it appeared to rebuild everything everytime :D

mjs513
01-29-2020, 02:06 PM
Morning all
Downloaded and installed on a Win10x64 no issues.

Did see that 1Ghz went to 1.008Ghz. The soft boot fix works that you put in. Tested with tempmon when panic temp is exceeded as well can confirm that Watchdog timer is working as well. Also retested @KurtE's ST7789 CLock display since I had it all set up anyway. Also tested a bunch of Wire devices on Wire1 and Wire with no issues this this beta anyway.

KurtE
01-29-2020, 02:38 PM
@mjs513 - Note: my clock display will NOT work with currently in the build ST7735_t3, as tft.drawLine is busted in frame buffer mode.

Simple to fix: It is currently part of a Pull Request: https://github.com/PaulStoffregen/ST7735_t3/pull/9
But in the mean time (and probably after this Teensyduino release...

Simple change two #ifdef lines (673, 696) in ST7735_t3.h
from:

#ifdef ENABLE_ST7735_FRAMEBUFFER
To:

#ifdef ENABLE_ST77XX_FRAMEBUFFER


Again not a show stopper

MichaelMeissner
01-29-2020, 02:45 PM
I just got an Adafruit Airlift featherwing, and I compiled the ScanNetworks example program. It compiles fine for the Teensy 3.6, but it gives the following error for Teensy 4.0. I have tried both Teensydunio 1.49 with Arduino 1.8.10 and Teensydunio 1.50 beta1 with Arduino 1.8.11.

Here is the Adafruit version of the WiFiNANA library that includes pin definitions for the various Featherwings:

https://github.com/adafruit/WiFiNINA.git


Here is the error:



Arduino: 1.8.11 (Linux), TD: 1.50-beta1, Board: "Teensy 4.0, Serial, 600 MHz, Faster, US English"

In file included from /rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/IPAddress.h:29:0,
from /home/meissner/Arduino/libraries/Adafruit_WiFiNINI/utility/wifi_drv.h:26,
from /home/meissner/Arduino/libraries/Adafruit_WiFiNINI/WiFi.cpp:21:
/rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Printable.h:37:13: error: 'size_t' does not name a type
virtual size_t printTo(Print& p) const = 0;
^
In file included from /rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Stream.h:24:0,
from /rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Udp.h:40,
from /home/meissner/Arduino/libraries/Adafruit_WiFiNINI/WiFiUdp.h:24,
from /home/meissner/Arduino/libraries/Adafruit_WiFiNINI/utility/wifi_drv.h:27,
from /home/meissner/Arduino/libraries/Adafruit_WiFiNINI/WiFi.cpp:21:
/rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Print.h: In member function 'size_t Print::print(const Printable&)':
/rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Print.h:82:51: error: 'const class Printable' has no member named 'printTo'
size_t print(const Printable &obj) { return obj.printTo(*this); }
^
/rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Print.h: In member function 'size_t Print::println(const Printable&)':
/rock/shared/arduino/teensy-1.50beta1-1.8.11/hardware/teensy/avr/cores/teensy4/Print.h:102:53: error: 'const class Printable' has no member named 'printTo'
size_t println(const Printable &obj) { return obj.printTo(*this) + println(); }
^
Error compiling for board Teensy 4.0.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


Now, if I go into hardware/teensy/avr/cores/teensy4/Printable.h, and add an include of 'stdlib.h', the example compiles file. But the Teensy 3 version does not need this. If you look at the Teensy3 version, it includes 'new.h', and inside of 'new.h' is an include of 'stdlib.h'. In the Teensy4 version, it does not include 'new.h' (and in fact 'new.h' no longer exists in the Teensy4 directory).

So either 'Printable.h' needs to include 'stdlib.h' or whatever includes it needs to include the file.

mjs513
01-29-2020, 03:19 PM
@mjs513 - Note: my clock display will NOT work with currently in the build ST7735_t3, as tft.drawLine is busted in frame buffer mode.

Simple to fix: It is currently part of a Pull Request: https://github.com/PaulStoffregen/ST7735_t3/pull/9
But in the mean time (and probably after this Teensyduino release...

Simple change two #ifdef lines (673, 696) in ST7735_t3.h
from:

#ifdef ENABLE_ST7735_FRAMEBUFFER
To:

#ifdef ENABLE_ST77XX_FRAMEBUFFER


Again not a show stopper

Yep - already pulled in the fix and tested it with 1.50-beta1

KurtE
01-29-2020, 05:48 PM
It appears to also run on my older MAC with catalina on it... Takes forever to download, but...

Note: tested simple blink program, plus simple text output program

void setup() {
// put your setup code here, to run once:
Serial.begin(1);

}
uint16_t loop_count = 0;
void loop() {
// put your main code here, to run repeatedly:
loop_count++;
Serial.printf("Loop Count printf: %d\n", loop_count);
Serial.print("loop count println: ");
Serial.println(loop_count);
delay(1000);
}

Cut and paste on MAC

Loop Count printf: 1
loop count println: 1
Loop Count printf: 2
loop count println: 2
Loop Count printf: 3
loop count println: 3


Cut and paste from Windows:

Loop Count printf: 1
loop count println: 1

Loop Count printf: 2
loop count println: 2

Loop Count printf: 3
loop count println: 3

Loop Count printf: 4
loop count println: 4

PaulStoffregen
01-29-2020, 06:54 PM
So either 'Printable.h' needs to include 'stdlib.h' or whatever includes it needs to include the file.

Fixed. Thanks! :)

https://github.com/PaulStoffregen/cores/commit/6802fb665694e4fc3da97bbdc467743bd4966a68

defragster
01-29-2020, 07:11 PM
IDE 1.8.11 installed on Windows then TD 1.50b1 with no issues.

Compiled and uploaded a few recent sketches to T4 also with no issues.

Frank B
01-29-2020, 07:24 PM
IDE 1.8.11 installed on Windows then TD 1.50b1 with no issues.

Compiled and uploaded a few recent sketches to T4 also with no issues.

The same. Works.

Serial monitor is still broken (at least on Windows) - Testsketch for T4:


void setup() {}
void loop() {Serial.println("12345");}

After a few seconds prints random PC memory contents. And as I have noticed now, if you let it run some time longer, Arduino gets incredible slow.





�����


�������


��


����


�����


������������������


��������������


���


��������


�����������


Seems to be more after first start of arduino & tools. Later runs seem more stable (at least it looks like that)
Best is to stop the program with pulling the USB Cable - this is the fastet way to stop the printing and you can see the contents.

defragster
01-29-2020, 07:44 PM
...

Note: tested simple blink program, plus simple text output program


Cut and paste from Windows:

Loop Count printf: 1
loop count println: 1

Loop Count printf: 2
loop count println: 2


Seen here with Windows too from Teensy SerMon - does not happen using TyComm copy/paste.


The same. Works.

Serial monitor is still broken (at least on Windows) - Testsketch for T4:

Seems to be more after first start of arduino & tools. Later runs seem more stable (at least it looks like that)
Best is to stop the program with pulling the USB Cable - this is the fastet way to stop the printing and you can see the contents.

Have seen anomalies like this - but just now that sketch didn't do it here from T4/1.8.11/1.50b1 - ran and saw expected output without breakage in Teensy SerMon ( and TyComm )

Frank B
01-29-2020, 07:52 PM
Yup, often it works.
It apears to be more frequent after a fresh Arduino start. (close all Arduino, Teensyloader etc and restart all) (Not initialized (zeroed) memory???)
But it's more or less random. Sometimes it appears after a minute. Sometimes never. Sometimes after 3 seconds.
Sometimes it prints human readable text that can NOT come from the Teensy. Looks like a crazy pointer in sermon.
But it may be a mixture of bugs on teensy and sermon.

defragster
01-29-2020, 08:01 PM
Might depend on the state of the computer memory. I tried with already open IDE - then closed IDE and it worked again … that time.
I was wondering if having a 'while(!Serial & time)' in setup might alter it? That would stop Teensy from flooding system before/during connection? But couldn't try that as it didn't repro just now.

Seems I did see it doing a quick run of 'lines per second' the other day, though not sure. I know I saw Teensy SerMon stall and restore with other USB change again - Teensy SerMon can still get messed up with high speed T4 output - but generally usable.

PaulStoffregen
01-29-2020, 09:23 PM
But it may be a mixture of bugs on teensy and sermon.

I'm pretty sure it's a bug in Windows anonymous pipes (how Windows does stdin, stdout) used between teensy_serialmon and the Java JRE running the Arduino serial monitor. It could also be in the Java JRE on Windows. It's definitely a problem associated with the lower level OS or runtime buffering far too much data.

I put *many* hours into this before 1.49. It definitely will not be fixed in 1.50.

Frank B
01-29-2020, 09:38 PM
I'm pretty sure it's a bug in Windows anonymous pipes (how Windows does stdin, stdout) used between teensy_serialmon and the Java JRE running the Arduino serial monitor. It could also be in the Java JRE on Windows. It's definitely a problem associated with the lower level OS or runtime buffering far too much data.

I put *many* hours into this before 1.49. It definitely will not be fixed in 1.50.

Sure. It's only a cosmetic problem.

mjs513
01-29-2020, 10:20 PM
Not sure if you want to do anything with the printf error at 24 MHz with teensy4.0 (https://forum.pjrc.com/threads/59260-printf-error-at-24-MHz-with-teensy4-0?highlight=printf). Last post says he is seeing the same issue at 100Mhz?

KurtE
01-29-2020, 10:22 PM
Seen here with Windows too from Teensy SerMon - does not happen using TyComm copy/paste.



Have seen anomalies like this - but just now that sketch didn't do it here from T4/1.8.11/1.50b1 - ran and saw expected output without breakage in Teensy SerMon ( and TyComm )
Me too...

Definitely not a show stopper, but since I had a MAC running with the new stuff, though I would try it out, since I figured out it was the CR that is different... And verified that the issue appears to be probably Windows only...

Frank B
01-29-2020, 10:52 PM
@Paul, please re-think this: make audio buffer pool DMA friendly (https://github.com/PaulStoffregen/cores/pull/421)


by blackaddr, for T4 only. Having 32-byte aligned audioblocks is valuable.

PaulStoffregen
01-30-2020, 03:09 AM
At this moment I'm waiting to see what Arduino does (within the next ~36 hours) with this MacOS issue.

https://github.com/arduino/arduino-builder/issues/349

If they don't publish a recompiled copy of 1.8.11 for MacOS, or at least update the arduino-builder used for beta testing, then I'm going to quickly publish 1.50 this weekend without any more changes, unless of except if serious bugs turn up. On Monday, Apple's notarization policy changes, which will forever prohibit publishing any MacOS software using 1.8.11's arduino-builder (unless people disable Apple's system integrity checks). So I'm not making any more changes to the core lib or adding any features right now. We need to be ready to go if this weekend really is the final opportunity to release on MacOS based on Arduino 1.8.11.

If Arduino does fix this by Friday afternoon, I'll pull in their fix and post 1.50-beta2. If it passes Apple notarization, then I'll merge stuff and add features for beta3 and maybe a beta4, before we transition to about 1 week of bug fixes only.

Frank B
01-30-2020, 03:55 PM
#include "core_cm7.h" does not work because of some missing files (at least cmc_version.h, cmsis_compiler.h, cmcis_gcc.h [..?..])

Paul, can you fix this?

PaulStoffregen
01-31-2020, 10:04 PM
Arduino did not fix the old SDK issue with arduino-builder on MacOS.

That means I have to release 1.50 now, as the window to get anything built with Arduino 1.8.11 through Apple notarization will forever close in just a couple days.



Paul, can you fix this?

Yes, but not for 1.50. Like so many things, it will have to wait for 1.51.

My intention is to start 1.51 betas in just a few weeks. Will probably just not build 1.51 beta copies for MacOS Catalina until Arduino updates their copy of arduino-builder. I have no plans to mess with Google Go at this time!

khoih-prog
01-31-2020, 11:32 PM
Just installed 1.50beta1 and tested with T4 on Ubuntu 18.04.1 LTS x64 with Arduino IDE 1.8.11, no problem so far.

HallMark
02-01-2020, 02:36 PM
Is SD Library issue addressed in this realease? 1.48 is having SD library working but 1.49 does not. (I tested on Both)
Hardware : Teensy 4.0
Interface: SPI

mjs513
02-01-2020, 03:06 PM
Is SD Library issue addressed in this realease? 1.48 is having SD library working but 1.49 does not. (I tested on Both)
Hardware : Teensy 4.0
Interface: SPI

@PaulStoffregen. Tested with the SDCard library. I just tested the library using the original T4 breakout board that has the builin_sdcard and the audio shield on pins 10, 11, 13 witch is SPI. Everything appears to be working with the SD Card library on SPI for Arduino 1.8.11 and TD1.50 release. However, can not seem to get it to read from the Builtin card reader. Verified this using loglow's breakout board as well.

Using Bill G's SDfat-beta library the builtin sd card does read without a problem.

HallMark
02-02-2020, 02:41 AM
@mjs513:
Thank you for this update. I didn't updated my Arduino because of Teensyduino only, As now both are updated I am going to give it a go and update here.

tbitson
02-17-2020, 03:14 PM
OK Paul, here's a weird one. Just downloaded Teensyduino 1.50. I'm running Mac OS Catalina on a Mac Pro. Been working fine with Arduino 1.8.10 & Teensyduino 1.48. First thing I noticed was the Teensyduino Icon isn't the Teensy board icon, its the icon used for Arduino (circle with an infinity symbol) . Next, if I double-click Teensyduino, it launch an Arduino app that's not the one I have installed. Its fully configured for Teensy, and compiles, launched the Teensy Load app, and downloads. Buts its not the Arduino I have installed. Third: its not a .DMG as you normally post. It's a .app file.
Here's a snippet from ps -ef:
1404 1 /private/var/folders/.../d/Teensyduino.app/Contents/MacOS/Arduino
1407 1404 /private/var/folders/cd/28cyp8nj2v92smmbnd6jy4zw0000gp/T/AppTranslocation/3448F712-A8D1-4D31-B96A-4797BF6799B1/d/Teensyduino.app/Contents/Java/hardware/teensy/../tools/teensy_ports -J2

Process 1404 shows the Arduino app running in a Tensyduino.app. directory buried in a temp directory (/private/var/folders/... where temp stuff is normal stashed on a Mac).

One more clue is looking into the Teensyduino package I downloaded, I see a stub for Arduino which I don't see in the Teensyduino 1.48.
19088

19089

Based on the file sizes, my guess is you copied a configured Arduino 1.8.11 with Teensyduino already installed to your web download page

KurtE
02-17-2020, 04:11 PM
@tbitson - If I am understanding what you are mentioning. With the new restrictions that Apple put on software, I don't believe PJRC no longer has the ability to patch anything. They must get the whole thing certified some apple process and then the whole thing has to be installed... So the new Apple install includes Arduino...

tbitson
02-17-2020, 05:00 PM
@tbitson - If I am understanding what you are mentioning. With the new restrictions that Apple put on software, I don't believe PJRC no longer has the ability to patch anything. They must get the whole thing certified some apple process and then the whole thing has to be installed... So the new Apple install includes Arduino...

Thanks KurtE. Been using it for a couple of hours and the Teensy part works OK. I did notice a bug that if you drag the Arduino Serial window to a second monitor, Arduino crashes.

As a side note, I can still download and install Teensyduino 1.48 to Arduino 1.8.11 on Mac OS Catalina. You will have to go to the security control and authorize the install, but itís been that way for a while.

As long as this was what Paul intended, it works for me. Maybe a note or something on the Teensyduino download page so others know too?

- Tim B