Teensyduino 1.42 Beta #3

Status
Not open for further replies.

Paul

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

The main new feature is a "Teensy" section in the Tools > Ports menu which tries to show Teensy in all modes, not just Serial.

This beta fixes most Ports menu and serial monitor problems that were found in beta2. Some stray debug printing remains, so you'll likely see a few cryptic messages in Arduino's console panel. These will get cleaned up for beta4.

This new beta has work to speed up full recompile, by using lighter C++ headers and precompiling the Arduino.h header.


Old beta download links removed. Please use the latest version:
https://www.pjrc.com/teensy/td_download.html


Changes since Teensyduino 1.42-beta2

fix teensy_ports and teensy_serialmon on Mac High Sierra
fix serial monitor title bar & online/offline status parsing from teensy_serialmon
fix teensy_serialmon verbose info in serial monitor, now prints to Arduino console
Fix Teensy Loader Help > About stalling verbose info log from other programs
Fix Teensy Loader File error dialog stalling verbose info log from other programs
fix blank lines appears in verbose info log on Windows
teensy_port better handling for large number of devinst on Windows (eg, MIDIx16)
Better messages when retrying serial open on Windows (eg, with USB "Everything")
show teensy_reboot output on Windows as it occurs, fixed wait until teensy_reboot exits
fixed sending reboot request to some com ports
fix teensy_ports incorrect append to devinst list on Windows
fix logging of windows device change events
prevent teensy_serialmon from interfering with HID bootloader access in Teensy Loader
remove #include <algorithm> from wiring.h, allowing faster compile for most C++ code
precompile Arduino.h, allows some speedup of rebuild all
update core library, Wire, Audio, Bounce to use precompile Arduino.h
Reduce startup delay from 400 ms to 300 ms
fix teensy_serialmon asser of DTR on Windows, fixes (bool)Serial
(bool)Serial to use DTR only, fixes Serail remaining true after serial monitor close
fix truncated usbmodem names in Ports menu on Macintosh
Verbose info log now uses high res time on Windows 8 & 10
Verbose info log users 1ms res time on Windows XP & 7 (was 16 ms & 10 ms)
Fix Verbose info random order for same timestamp events - now always chronological
Add numbering of non-loader verbose logging instances
Trim excessive verbose logging of status communication
Updates to audio library documentation
Add Teensy Loader about dialog icon (was generic info icon)
 
This is the first time I've been able to have a T3.6 and a T3.2 connected with Win 10 and be able to upload code to either. Up to now, when I compile for the T3.6 I get an error message saying the code was compiled for a T3.2 and I have to get rid of one of the two.
Way to go, Paul :)

Pete
 
And, I have an audio application which I compiled from a cold start this morning and it took 115 seconds. After installing 1_42b3 I tried again and it took only 65 seconds. It's getting better all the time.

Pete
 
With TD 1.42b3 I get this that looks good { Upload or USB Plug in } - online in 300 - still sees (!Serial) in sketch until over 400 - though as shown the PC captured the print @300.

Added PIC to show it ONLINE in Title bar! - This one saw (Serial) under 400::
TD142b3online.PNG
Not Serial ??? @ millis=300
Teensy Serial Online !!! @ millis=484

T:\tCode\_TEENSY_INFO\StartPrint\StartPrint.ino Mar 12 2018 00:15:27
YES Serial !!!
Started Setup at millis() ==300

Minor code change to show Start time in setup():
Code:
void setup() {
	Serial.begin(115200);
	uint32_t Start = millis();
	uint32_t foo = millis();
	while (!Serial && millis() < 5000 )
	{	Serial.print( "Not Serial ??? @ millis=" );
		Serial.println( millis() );
		while ( !Serial && ( millis() <= (foo + 500) ) );
		foo += 500;
	}
	if ( !Serial )
		Serial.print( "Teensy !Serial ??? @ millis=" );
	else
		Serial.print( "Teensy Serial Online !!! @ millis=" );
	Serial.println( millis() );
	Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__ " " );
	if ( !Serial )
		Serial.println( "Not Serial ???" );
	else
		Serial.println( "YES Serial !!!" );
	Serial.print( "Started Setup at millis() ==" );
	Serial.println( Start );
}

void loop() {
}
 
What an impressive speedup in compiling and/or building, congratulations!

But the 32bit performance warnings persist on macOS.
 
Just downloaded 1.42b3 and tried it on one of the my sketches, but after the sketches loads and when I open and close the serial monitor I am getting:
Code:
errorPipeListener thread exit
errorPipeListener thread exit
errorPipeListener thread exit

Doesn't seem to stop anything, sketch continues to run and serial monitor opens again. For reference I am on a Windows 10 64-bit laptop. Running IDE 1.8.5 with 1.42b3.
 
But the 32bit performance warnings persist on macOS.

When do you see these warnings?

1: Launching the installer?
2: Launching the Arduino IDE?
3: When Arduino finishes Verify compile?
4: When Teensy Loader appears?
5: Opening the serial monitor?
6: Clicking the Tools menu?
7: Other times?
 
Opps, "errorPipeListener thread exit" is just some leftover debugging code. So is "timeBeginPeriod = 1" and "getimeofday" on Windows. I'll clean those up on the next beta.

"errorPipeListener thread exit" is supposed to appear when you close the serial monitor. If you only see then, no cause for concern. If it's appearing at other times when you haven't closed the serial monitor, it might be an issue.
 
:) You mentioned that there might be a few of those. The only time I have seen the "errorPipeListener Thread exit" is when I close the serial monitor. Doesn't affect anything but just wanted to let you know.

Thanks
Mike
 
When do you see these warnings?

1: Launching the installer?
2: Launching the Arduino IDE?
3: When Arduino finishes Verify compile?
4: When Teensy Loader appears?
5: Opening the serial monitor?
6: Clicking the Tools menu?
7: Other times?

1 When launching the installer YES,
2 and 3 NO,
4 When the Teensy Loader appears ONLY 1ST TIME
5, 6, and 7 NO
 
1 When launching the installer YES,
2 and 3 NO,
4 When the Teensy Loader appears ONLY 1ST TIME
5, 6, and 7 NO

Recent versions of MacOS have starting warning when you install and first open 32 bit programs as they are eventually going to phase out 32 bit programs in future versions and they will no longer be able to run them as far as I understand.
 
The current beta version is the first to do so, but as far as information I’ve read, that warning will be in the official release and it’s the first of several warnings that they are going to do. On another note, if the programs are indeed 32 bit like it says they are then they will cease to function when they only allow 64 bit programs at some point.
 
For the moment, it's only in the current beta. Everybody will see it with the upcoming release of 10.13.4.

They clearly stated in a note to developers that High Sierra would be the last macOS to run 32bit apps without restrictions and constraints. It seems that the real struggle will only start in September when macOS 10.14 (or however it will be called) will be released. They said that they want to drop 32bit app support for performance and security reasons.

Here is what you can see on the Apple Developer website:
Capture d’écran 2018-03-13 à 16.42.46.png

@Paul: If you have an Apple developer account, you might check out this document
 
Great, thank you! When launched manually, there is no more warning, and it shows up as a 64bit app in the system activity monitor. Don't have a Teensy with me at my day job, will do an upload test tonight when back home.
 
Installation went without problems and without 32bit warnings. Opening a sketch and clicking verify (still without Teensy connected) triggered a very fast compile and build, then, the Teensy loader opens. The Teensyduino installer, Teensy_ports and the Teensy loader are all reported as 64bit apps. Neither the installation nor the verify test run left any trace in system.log. Everything looks very fine up to now.
 
Now, did some real life tests with that 64bit version. Compiling, building, uploading, flooding the Serial monitor with data, everything went very well (as expected)! And that in both modes, Serial and Teensy, thank you for your great work, Paul!
 
On a windows system can it be installed in a different directory ? I'd like to have both the 1.41 and 1.42b3 on the same computer.
 
Yes, you can download two copies of Arduino for windows. Typically for this (and for me most all of the time), you would download the zip file file. You then install it into two different locations on your hard disk. You can then install the two different versions of Teensyduino on the two different copies of arduino
 
Looking forward to TD 1.42 b4 release - this message in the IDE Is frightfully annoying: callback C119
> keeps scrolling verbose window and errors can't be viewed. So I closed the T.sermon's ... then caused trouble ...

I re-started compile and realized I had closed teensy.sermon window, so I opened it during compile - this breaks TeensyLoader as it doesn't try to 'offline' the window again when accessing the device and it cannot open it. Now my system is all deadlocked like confused ... Had to use TaskMan to get the IDE to close.

Question: After compile could the intended USB port status be confirmed/validated again?

BTW: I started up two IDE instances for T_3.6 and then T_3.1 : TD 1.42b3 worked well to program them both in turn again. And the two IDE Teensy.sermon instances picked up over 3.5 million messages each in about a day - and my Win 10 system has been up over 7 days (since last Win Update) so it isn't freshly booted.
 
No - that time - I killed TLoader first thing - hoping that would free up my system. It did not.

Doing REPRO I have locked up the IDE TWICE since and that is here:

Three LOG files in that ZIP in order saved:
LongRun_log :: all was fine since last night 1.9 MB will show normal function programming and running two active : one T_3.6 MASTER and one T_3.1 SLAVE
ReproAttempt1_log :: IDE required TaskMan END PROCESS after this was saved { the SPI slave runs NVIC PRI #19 so USB not always responsive with MASTER active }
IDE_HUNG_log :: 2.2MB >> restarted IDE, MASTER unplugged - Slave T_3.1 active but idle with no Master. IDE require TaskMan End Task

For IDE_HUNG_log::
-- the IDE was restarted with T_3.6 SPI Master unplugged
-- Compile Started
-- teensy_sermon OPENED - noted as [offline]
>> LOTS AND LOTS of SPEW 2.2 MB in short order
-- IDE went unresponsive - resize did not redraw the bottom status bar, YELLOW on upper COMPILE icon button stayed YELLOW { i.e. active compile never completed }
-- I saved the IDE_HUNG_log.txt file and then used TaskMan to close the IDE - didn't see anything interesting pop into the Verbose TLoader log so not resaved.

For ReproAttempt1_log::
-- I started a compile on both units - not simultaneously but one then the other trying to repro
-- IDE ended up HUNG
-- started compiles with open and close of the T_sermon and it acted a bit different - but same result of IDE hung.

<edit>: Left all closed ( IDE & TeensyLoader ) and started Master&Slave teensy_serialmon.exe is still an active process attached to the T_3.1. Was trying to peek at Serial output using TyCommander and it could not get the USB port - tried unplugging and reset and the port was owned by non-visible T_serialmon.
 
Last edited:
Status
Not open for further replies.
Back
Top