Teensyduino 1.58 Beta #3

Paul

Administrator
Staff member
Here is a third beta test for Teensyduino 1.58.

Arduino 2.0.x, all systems platforms:
use Boards Manager to install Teensy version 0.58.3
(to refresh versions, Shift-Ctrl-P and click "Arduino: Update Package Index")

Arduino 1.8.x, Linux 32 bit:
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.linux32

Arduino 1.8.x, Linux 64 bit:
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.linux64

Arduino 1.8.x, Linux ARM:
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.linuxarm

Arduino 1.8.x, Linux ARM64:
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.linuxaarch64

Arduino 1.8.x, MacOS (Catalina to Ventura)
https://www.pjrc.com/teensy/td_158-beta3/Teensyduino_MacOS_Catalina.zip

Arduino 1.8.x, Old MacOS (??? to Mojave)
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.dmg

Arduino 1.8.x, Windows:
https://www.pjrc.com/teensy/td_158-beta3/TeensyduinoInstall.exe

PlatformIO, DIY beta support:
https://forum.pjrc.com/threads/71730


Changes since Teensyduino 1.58-beta2:

New gcc 11.3.1 toolchain supported on all systems
Fix compiler warnings, many libraries
Fix missing serial receive with Arduino 2.0.x on Windows after Teensy reboots
Fix unable to start Teensy Loader on MacOS Ventura with Arduino 1.8.x
fix USB MIDI transmit on Teensy 4.x when running at only 12 Mbit/sec speed
Arduino 2.0.x "Invalid FQBN" workaround
Print warning message is "serial port" not "teensy port" selected
Fix Teensy Loader startup problem on Raspberry Pi 4 running Raspbian Buster
FlexIO / FlexSerial improvements (KurtE)
USBHost_t36 - update storage examples (KurtE)
ST7735_t3 - fix screen width check (KurtE)
C++11 move semantics on File (ScottDuckworth)
MTP.loop() would wait 1ms with no messages (KurtE)
Allow unconnected AudioConnection (Jonathan Oakley)
Fix Serial1.availableForWrite() on Teensy 2.0
AudioSynthWavetable fixes & docs (Jonathan Oakley)
USBHost_t36 Bluetooth improvements (KurtE and mjs513)
 
Last edited:
glad to see mac back in beta
Apple M2, Ventura 13.0.1, Arduino 2.0.3

Compilation error: ambiguous overload for 'operator+=' (operand types are 'String' and 'time_t' {aka 'long long int'})

casting to long works

Code:
#include "TimeLib.h"

void setup() {
  time_t seconds=20UL;
  String thestring="this is ";
  thestring+=seconds;   //casting to (long) works
  Serial.println(thestring);
}

void loop() {
  // put your main code here, to run repeatedly:

}
 
Downloaded for Linux 64bit and installed into a fresh copy of Arduino 1.8.19. Complied several sketches without issue. Downloaded for W11 and overwrote existing Arduino 1.8.19. No obvious issues found at this time:) Updated Arduino IDE 2.0.3 to 0.58B3, again no obvious issues found other than the previous issue with the serial monitor test. Still does not auto scroll the bottom of the screen into viewing area without using the scrollbar.
 
Looks like I broke compiling for Teensy 2.0 on Arduino 2.0.3 (but Arduino 1.8.19 works). Still not sure what's wrong.
 
Hi

Do you have an idea of a timeframe to release?

A suggestion if easy to do (and not disrupt other things): On windows give the installer a name with the version (including beta)
 
Just installing the beta on windows and teensy_size.exe is placed in quarantaine by my virus scanner (avira).
 
Just installed 0.58.3 on both Arduino 1.8.19 and Arduino 2.0.3 on a Window 10x64 PC. No issues or errors on install. Also updated to latest fix in post#5 on 1.8.19 only.

Ran the USBHost_viewer sketch using a Switch Pro Controller without issue using both 2.0.3 and 1.8.19.

Using 1.8.19 ran the sketch in post #2 (with fixes installed) and looks like the changes resolved the issue.
 
Looks like I broke compiling for Teensy 2.0 on Arduino 2.0.3 (but Arduino 1.8.19 works). Still not sure what's wrong.

Hi Paul

I am getting this error when compiling for Teensy 2.0:
Code:
exec: "C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\teensy\\tools\\teensy-compile\\11.3.1-beta2/avr/bin/avr-g++": file does not exist

Compilation error: exec: "C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\teensy\\tools\\teensy-compile\\11.3.1-beta2/avr/bin/avr-g++": file does not exist

if I go to that directory there is no avr directory only an ARM directory in teensy-compile. Looks like you need to copy the avr directory from 1.56.1. At least when I do that Blink compiles for the Teensy 2.0. Maybe forgot to add another copy command to put it into 0.58.3?
 
Morning all,

I installed it on my W11 machine and working fine so far. Note: I am mostly running using IDE2, downloading the Teensyduino version now.

Will also try on a few other plaforms as well.

Note: This version now has the Teensy examples installed as the library Teensy. Does not sort to top of the list of examples for Teensy. I was able to get it to the top by adding the library.properties file I
experimented with in the posting on the IDE thread:
Code:
name=0-Teensy Examples
version=1.0.0
author=Paul Stoffregen
maintainer=Paul Stoffregen
sentence=Teensy examples
paragraph=
category=Other
url=
The name field controls what name is shown in the list and the sort order.

Downloaded for Linux 64bit and installed into a fresh copy of Arduino 1.8.19. Complied several sketches without issue. Downloaded for W11 and overwrote existing Arduino 1.8.19. No obvious issues found at this time:) Updated Arduino IDE 2.0.3 to 0.58B3, again no obvious issues found other than the previous issue with the serial monitor test. Still does not auto scroll the bottom of the screen into viewing area without using the scrollbar.
Note The autoscroll works for me, when it is turned on.
Screenshot.jpg
It is controlled by the button, that my rough arrow is pointing to. Note: in the color theme I am using (Dark Thei) their highlight color does not show up these buttons if they are pressed or not.
So far they are not going to fix that as, they say they are going to remove this theme and only have the "Dark Arduino" theme (for dark colors) and ditto for light ones. I so for wont use the
Dark Arduino, as they text cursor does not show up as visible... At least to me: Note: it is somewhere in the word Serial on the line while (!Serial...
Screenshot1.png
But you can sort of see the button is selected
 
Morning again

@KurtE
Note: This version now has the Teensy examples installed as the library Teensy. Does not sort to top of the list of examples for Teensy. I was able to get it to the top by adding the library.properties file I
experimented with in the posting on the IDE thread:
Just did that and yep looks better and easier to see where it is instead of scrolling though all the libraries.

Note The autoscroll works for me, when it is turned on.
Ditto for me as welll in 2.0.3

It is controlled by the button, that my rough arrow is pointing to. Note: in the color theme I am using (Dark Thei) their highlight color does not show up these buttons if they are pressed or not.
So far they are not going to fix that as, they say they are going to remove this theme and only have the "Dark Arduino" theme (for dark colors) and ditto for light ones. I so for wont use the
Dark Arduino, as they text cursor does not show up as visible... At least to me: Note: it is somewhere in the word Serial on the line while (!Serial...
Forgot that they are not going to support the theia themes. Much prefer the theia theme. As you pointed out the Arduino Dark has issues.
 
Update: installed on MAC, 1.8.19 and IDE2 and both run. I only did a few builds, like: MTP simplified SD and it worked (I have Android File Transfer installed to handle MTP)
I tried the MTP Picture viewer (own project) on ST7789 with 320x240 and it worked.
 
Custom Themes in Arduino 2.0.3

Starting poking around the IDE issues and found a few things.
1. @KurtE has mentioned the contrast issue with the Arduino Dark Themes: Remove deprecated Theia themes
2. Also found this Open Issue: It should possible to create user color themes like in VSC and to import VSC themes

the interesting thing about the later issue is that it references to issues identified on the Arduino Forum
How to install VSCode color theme extensions?
and
Personal themes


EDIT: Just tried installing using method 1 in the Personnal Themes post but does not appear to work any more
the later provides a couple of methods of adding themes or creating your own.

EDIT2: Ok respons back on the Arduino forum was that it broke in with the 2.0.3 release. So downloaded the nightly build and now have VS fonts available:
Capture.PNG
 
Last edited:
@KurtE - Auto scroll is working but it is not displaying the last line without using the mouse wheel or scroll bar. There is always one more line that is not being brought into the viewing area.

After button press and before mouse wheel or scroll bar use:
Screenshot_20221218_033348.jpg

After mouse wheel or scroll bar use (no button press):
Screenshot_20221218_033804.jpg

Auto scroll is on:) The same thing happens when uploading the sketch without clearing the screen, "Begin Program" is still underwater until the scroll bar or mouse wheel is used.

This is with Arduino IDE 2.0.3, 0.58B3 and W11...
 
Pretty sure the autoscroll problem is an Arduino issue I can't solve, probably this:

https://github.com/arduino/arduino-ide/issues/1736

Looks like they're considering the issue Tim created as something separate

https://github.com/arduino/arduino-ide/issues/1724

Sorry, I forgot about that. I have setup two other computers with TD1.58B3 and 0.58B3 and so far have not run into any other issues except for keyboard.cpp in USBHost_t36 library lines 368 and 403 are outputing debug info. Just commented them out...
 
I should also mention, I have also installed the Beta 3 IDE2 on, Ubuntu 64 bit 22.04.
Which was a pain!

(Ubuntu Rant on:
Sometimes I really hate Ubuntu, at least on this machine and 22.04. There are issues with this release and at least NVidea display boards.... Had problems before this if the screen saver or the like turns off the display, it won't come back on. They shipped with non-Nvidia drivers. Tried to install Nvidia drivers, then apt update... later on ended up with mismatch of drivers... (Ended up clean install .... Again....)
Today. Did a apt update/upgrade... Rebooted, and then the diesktop came up, but would not respond to any mouse or keyboard input...) Booted up in sort of safe mode and finally could run the tests...
Wonder what it will be like the next time I boot up on Ubuntu.
Ubuntu Rant off )

After the minor frustrations, was able to update to 2.0.3 and the Beta 3, and built a few sketches.

Note: earlier when I was running the builds on RPI4 Ubuntu Arm 64, I tried rebooting the RPI with the MTP Picture viewer running, to see if I can reproduce issue mentioned in
https://forum.pjrc.com/threads/71690-Teensy-4-1-Stops-when-I-reboot-my-Raspberry-PI
But there were no details on the thread on what stops working means, nor what sketch...

But did find that for some reason when I rebooted the RPI, the Teensy running the viewer with RA7786 display, did power off briefly when it rebooted, it then started up and ran for awhile, but then it stopped
cycling through the pictures. So something stopped. Some guesses:
a) all of the Serial outputs, maybe filled up some thing that RPI or Teensy did not like when the RPI finally was ready to talk.
b) Maybe the RPI finally noticed that MTP was asked for and maybe did not like the order of things...

Anyway tried simple sketch that output text line like 5 times per second and changed state of LED. This worked fine through the reboot. While testing it I also tried to program a different board:
Adafruit Feather M4... And I failed to upload the program on the RPI to it... (Also failed on Ubuntu64 machine...). But was able to with my Windows 11 main machine. Wondering if it needs something like udev rules? Maybe, the Adafruit pages sort of mention maybe needing something and have a link to a page, that now long shows any udev rules stuff... Argh...

Now back to playing
 
QUOTE](Ubuntu Rant on:
Sometimes I really hate Ubuntu, at least on this machine and 22.04. There are issues with this release and at least NVidea display boards.... Had problems before this if the screen saver or the like turns off the display, it won't come back on. They shipped with non-Nvidia drivers. Tried to install Nvidia drivers, then apt update... later on ended up with mismatch of drivers... (Ended up clean install .... Again....)
Today. Did a apt update/upgrade... Rebooted, and then the diesktop came up, but would not respond to any mouse or keyboard input...) Booted up in sort of safe mode and finally could run the tests...
Wonder what it will be like the next time I boot up on Ubuntu.
Ubuntu Rant off )
[/QUOTE]

I have run into the same sort of problem with my laptop and the NVidia display before. If you go to the Control Center under Hardware you will find "Additional Drivers". Click on that and it will search for any proprietary drivers available from NVidia.

This is what I get for my laptop:
Screenshot at 2022-12-18 16-41-04.png

This might help...
 
QUOTE]

I have run into the same sort of problem with my laptop and the NVidia display before. If you go to the Control Center under Hardware you will find "Additional Drivers". Click on that and it will search for any proprietary drivers available from NVidia.

This is what I get for my laptop:
View attachment 29992

This might help...
Thanks, I used that the previous install I had back in maybe may or June. And then later, there were conflicts of drivers or some such thing. I ended up where I could no longer do apt update or upgrade.. So I wiped it all out.

This boot it came up, but in real low resolution...
Screenshot from 2022-12-18 18-31-36.png
Now to figure out which one to choose. But sorry I know digression from the thread at hand.

Edit: using the stuff from: https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-22-04
 
FWIW, I also am running Ubuntu 22.04 with an nVidia adapter (RTX2060 or something like that). It works fine for me but this is laptop and I don't want the nvidia power pig running all of the time. The nVidia control panel allows for "on-demand" nvidia which means it usually uses the built-in graphics from the CPU. If I use that then Arduino IDE will bunch up the output from the compile and I can't read hardly anything. All text works fine when using the nVidia card all of the time. It has been like this for many Ubuntu versions. I'm not sure if I've messed something up or what. I've learned to just live with it. Long story, short, nVidia support on LINUX in general just sucks.

Back on topic, I've got Arduino 2.0.3 and this latest beta 158-3 installed and I tested it compiling and running a Teensy MicroMod program and it seems to be working fine. I don't see any regressions so far. I will note (I believe again) that it's super annoying that by default it warns me of how the behavior of things changed around GCC7. This fills up page after page of compile output for me.

Just to refresh the topic of what I don't like, here's one such warning:
Code:
/home/collin/.arduino15/packages/teensy/tools/teensy-compile/11.3.1-beta2/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h: In member function 'virtual void RMSMotorController::setup()':
/home/collin/.arduino15/packages/teensy/tools/teensy-compile/11.3.1-beta2/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:1198:28: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<ConfigEntry*, std::vector<ConfigEntry> >' changed in GCC 7.1
 1198 |           _M_realloc_insert(end(), __x);
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

As fascinating as I find this warning, I'd rather not see it 100 times every time I compile. I'm sure there's a way to turn off this warning but I'm not really sure of the best way to set custom flags during a compile with the Arduino IDE.
 
Installed 1.57b4 with Arduino 1.8.19 on Windows 7 Pro 64-bit. Built a few projects and all seems good.

Also installed under Arduino 2.x following update to 2.03. After restart of 2.0.3, clicked on option to update boards manually, then chose 0.58.3 and install seemed to go fine. Just curious, but why is it not 1.58.3?
 
I have run into the same sort of problem with my laptop and the NVidia display before. If you go to the Control Center under Hardware you will find "Additional Drivers". Click on that and it will search for any proprietary drivers available from NVidia.
This might help...
Thanks, I reinstalled the nvidia driver recommended, and the first boot, the screen completely hung again. That is things like, I could click on the button to bring up the shutdown drop down, but nothing would show up on the screen. CTRL+ALT+T did not bring up terminal, and so forth. Again resorted to having to use the power button to shutdown. Then tried it a couple times yesterday and it worked fine. So keeping fingers crossed.

Because the IDE would prompt everyone to upgrade as if it were a stable release, without any warning it's beta.
Wondering if it would help to add on suffix like beta onto the name. I remember PerT posting something about the rules on that... something like 1.58-beta3
Which if they implement the option to say ignore this release, hopefully should work reasonably well.

Here is a third beta test for Teensyduino 1.58.
...
USBHost_t36 - update storage examples (KurtE)
...
USBHost_t36 Bluetooth improvements (KurtE and mjs513)

I should mention again that in USBHost there have been significant changes made since 1.57

Like: USBHost MSC and MTP support was updated to hopefully have the underlying system take care of things like enumerating volumes on USBDrive type objects to find all of the volumes.
likewise code in place to monitor when the SD cards may be removed or inserted.

USBHost Keyboard - Actually maybe was in 1.56, but... Now the code does not try to only support keyboards that are in BOOT mode. That is we try to get the HID information for the keyboard and if appropriate use the HID code to parse the data. There is code in place to handle N-Key rollover.

Bluetooth: Lots of changes here, probably some more by the end of this beta cycle. Things like:

a) Main bluetooth object now has the connections broken out into another object, where before hard fixed count max. Now starts with 2, but you can add additional connections objects. Hopefully more of the code is now geared around each connection.


b) Pairing code - before could only do by editing the constructor call to enable it and rebuild. Now have method that can start up the pairing process. Both with or without using SDP within pairing.

c) SDP support.

d) We can now look for Bluetooth with HID and get report descriptor and have optional code in place to use HID parsing like the USB HID code. This allowed things like, a couple of my BT keyboards also have a logical Mouse/touchpad. The code now will grab both a keyboard and a mouse object and enable both to work. Before only the keyboard part worked. Also, before the multimedia keys would not work.

e) Joysticks - with the above changes we are now able to support XBox One joysticks with older firmware. (Newer firmware uses BLE, which the library currently does not support. (more on this later).
We now have support for the Nintendo Switch Pro controller and some JOYCON ones. Note: there are lots of clones of these joysticks, which some work and some we know don't... Still investigating some of them and some ended up in trash heap.

A lot of these features were brought into the USBHost_viewer sketch.

@mjs513, am I forgetting anything?

Side notes on USBHost and BLE - I have been playing around the the Arduino BLE library, and have a fork/branch of it: https://github.com/KurtE/ArduinoBLE/tree/Teensy_USBHost
Which currently uses the USBHost_t36 code (it actually includes the Host object and Bluetooth object) and I have been able to run their examples, where I can have one Teensy talking to another over BLE, or one of these could be something else like an Arduino Nano BLE (or IOT or Adafruit Itsy Bitsy NRF). Also did run the example where the Teensy could show up on my PC or Ipad with a battery level. Not sure what I am going to do with this. But fun to play with.
 
Back
Top