PDA

View Full Version : Teensyduino 1.44 Released



Paul
09-19-2018, 01:27 PM
Teensyduino 1.44 has been released.

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

The main new feature is support for Arduino 1.8.7. The Ports menu speed was improved.

Linux 64 bit ARM (aarch64) is now supported. Download Arduino 1.8.7 (https://www.pjrc.com/teensy/td_144/arduino-1.8.7-linuxaarch64.tar.xz) for AARCH64 (link is missing from Arduino's site).


The Audio library wavetable data format was changed slightly after 1.44-beta2, but otherwise 1.44 is identical to 1.44-beta2.

Diodac
09-20-2018, 02:10 AM
Teensyduino 1.44 has been released.

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

The main new feature is support for Arduino 1.8.7. The Ports menu speed was improved.

Linux 64 bit ARM (aarch64) is now supported. Download Arduino 1.8.7 (https://www.pjrc.com/teensy/td_144/arduino-1.8.7-linuxaarch64.tar.xz) for AARCH64 (link is missing from Arduino's site).


The Audio library wavetable data format was changed slightly after 1.44-beta2, but otherwise 1.44 is identical to 1.44-beta2.

This is what happen pretty often, java again...
Now I was able to copy and save report before mac go down.
Problem exist from 1.8.5 and 1.41
When appear, Arduino hang, I can't do nothing because affect system too, and very often itself restart computer, with welcome screen after reset - "kernel panic"
Very weird
Much more often when I have open serial monitor

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
at java.lang.StringBuffer.<init>(StringBuffer.java:128)
at processing.app.AbstractMonitor.<init>(AbstractMonitor.java:70)
at processing.app.AbstractTextMonitor.<init>(AbstractTextMonitor.java:49)
at processing.app.TeensyMonitor.<init>(TeensyMonitor.java:46)
at cc.arduino.packages.MonitorFactory.newMonitor(Moni torFactory.java:54)
at processing.app.Editor.handleSerial(Editor.java:225 7)
at processing.app.EditorToolbar.mousePressed(EditorTo olbar.java:383)
at java.awt.Component.processMouseEvent(Component.jav a:6530)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3324)
at java.awt.Component.processEvent(Component.java:629 8)
at java.awt.Container.processEvent(Container.java:223 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4889)
at java.awt.Container.dispatchEventImpl(Container.jav a:2296)
at java.awt.Component.dispatchEvent(Component.java:47 11)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4897)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4531)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4475)
at java.awt.Container.dispatchEventImpl(Container.jav a:2282)
at java.awt.Window.dispatchEventImpl(Window.java:2746 )
at java.awt.Component.dispatchEvent(Component.java:47 11)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 80)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 90)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 80)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
at java.lang.StringBuffer.<init>(StringBuffer.java:128)
at processing.app.AbstractMonitor.<init>(AbstractMonitor.java:70)
at processing.app.AbstractTextMonitor.<init>(AbstractTextMonitor.java:49)
at processing.app.TeensyMonitor.<init>(TeensyMonitor.java:46)
at cc.arduino.packages.MonitorFactory.newMonitor(Moni torFactory.java:54)
at processing.app.Editor.handleSerial(Editor.java:225 7)
at processing.app.EditorToolbar.mousePressed(EditorTo olbar.java:383)
at java.awt.Component.processMouseEvent(Component.jav a:6530)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3324)
at java.awt.Component.processEvent(Component.java:629 8)
at java.awt.Container.processEvent(Container.java:223 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4889)
at java.awt.Container.dispatchEventImpl(Container.jav a:2296)
at java.awt.Component.dispatchEvent(Component.java:47 11)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4897)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:4531)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:4475)
at java.awt.Container.dispatchEventImpl(Container.jav a:2282)
at java.awt.Window.dispatchEventImpl(Window.java:2746 )
at java.awt.Component.dispatchEvent(Component.java:47 11)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 80)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 90)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 80)

defragster
09-20-2018, 06:47 AM
@Paul: Downloaded and install released TD 1.44 on IDE 1.87 and no issues. Compiled a sketch and it worked to SerMon.

@Diodac - is this also being seen on IDE 1.87 and TD 1.44? It would need to be to be investigated or resolved.

IDE 1.8.5 was out for many months and not seen notices of this. Perhaps a clean install of the current release will either fix a problem local to your system - lots of notes about security and protection in that listing after 'out of memory' - perhaps other system software ( antivirus ) is interfering. Or it may have been resolved.

Theremingenieur
09-20-2018, 07:49 AM
I saw something similar to Diodac's problem before, but that was on a Mac with an outdated OSX version and multiple old java runtimes (and software needing these) installed which seemed to lead to conflicts although Arduino should in theory bring its own independent runtime.

Updating the OS and all the java based applications, removing unneeded old java runtimes (some were already cleaned away automatically during the OSX update), completely removing before and re-installing Arduino and Teensyduino afterwards did the job.

It could be interesting to know if that problem appears for Diodac only when a Teensy processor is selected in the boards menu or if it happens with Arduino boards, too...

Diodac
09-23-2018, 12:24 PM
I saw something similar to Diodac's problem before, but that was on a Mac with an outdated OSX version and multiple old java runtimes (and software needing these) installed which seemed to lead to conflicts although Arduino should in theory bring its own independent runtime.

Updating the OS and all the java based applications, removing unneeded old java runtimes (some were already cleaned away automatically during the OSX update), completely removing before and re-installing Arduino and Teensyduino afterwards did the job.

It could be interesting to know if that problem appears for Diodac only when a Teensy processor is selected in the boards menu or if it happens with Arduino boards, too...

I not tested jet 1.8.7 with other types of board, I have somewhere couple Mega's, Uno's if I find spare time, will try it.
Regarding crash it happened on released 1.44 with Teensy 3.2
I cleaned now my system from any junks, and older java and so on, I will see.

By the way, pieces useful commands for someone who want clean Java from OS X:
Run these commands if you want to remove Java plugins:


Run these commands if you want to remove Java plugins:

sudo rm -rf /Library/Java/JavaVirtualMachines/*
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.Helper-Tool.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

And "advanced" for "nuke" Java from system :D

Some useful commands for delete Java
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /Library/Java/JavaVirtualMachines/*
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.bom
sudo rm -rf /var/db/receipts/com.oracle.jdk8u65.plist
sudo rm -rf /var/db/receipts/com.oracle.jre.bom
sudo rm -rf /var/db/receipts/com.oracle.jre.plist
sudo rm -rf /var/root/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf ~/Library/Preferences/com.oracle.java.JavaAppletPlugin.plist
sudo rm -rf ~/Library/Preferences/com.oracle.javadeployment.plist
sudo rm -rf /Library/Java/*
sudo rm -rf /Library/PreferencePanes/Java*
sudo rm -rf /Library/Internet\ Plug-Ins/Java*
sudo rm -rf ~/.oracle_jre_usage

Done! Bye bye old useless Java!


If you want totally kill Java on your Mac, use these commands, but after you need to update OS if want install Java again.
sudo rm -rf /usr/bin/java
sudo rm -rf /usr/bin/javac
sudo rm -rf /usr/bin/javadoc
sudo rm -rf /usr/bin/javah
sudo rm -rf /usr/bin/javap
sudo rm -rf /usr/bin/javaws

PaulStoffregen
09-23-2018, 06:18 PM
I've put this on my list of bugs to investigate.

Can you give me a little more info about your Macintosh? Which version of MacOS are you running? With Mac model do you have, and how much memory is installed?

The other important detail is exactly what you selected in the Ports menu. Since 1.42, there are 2 sections in the Ports menu. Here's a screenshot:

14784

Even though the serial monitor looks similar (one has the baud rate drop-down, the other doesn't) these two use completely different ways to access Teensy. They use different Java code.

From the Java error you posted, my guess is you were using the "Serial ports" section, not the "Teensy" section. But this does involve a bit of guesswork on my part.

The key point is to understand these 2 similar-looking options have completely different code and access the data from Teensy in a very different way. To even begin to look into what's going so wrong with the code when running on your Mac, I need to know very clearly which one you're really using.


Which Java software you have installed elsewhere on your Mac is probably *not* important. Arduino has a copy of the Java JRE inside its application bundle. So unless you've modified your copy of Arduino, it's almost certainly using its own included copy of Java and not any other copy that may be installed elsewhere on your Mac.

Diodac
09-28-2018, 10:06 AM
Process: Arduino [465]
Path: /Applications/Arduino.app/Contents/MacOS/Arduino
Identifier: cc.arduino.Arduino
Version: 1.8.7 (1.8.7)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Arduino [465]
User ID: 501

Date/Time: 2018-09-16 03:56:25.561 +0100
OS Version: Mac OS X 10.11.6 (15G22010)
Report Version: 11



Time Awake Since Boot: 23000 seconds

System Integrity Protection: enabled

Crashed Thread: 25 Java: EventThread /dev/cu.usbmodem4275401

Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

I have 8GB RAM and used Java 1.8 dedicated for OS X by Oracle.
Regarding to the ports, that one what you recommend, literally not working for me. I used it but java problem raised and occurred much often. Moreover always after couple minutes getting lost connection. When I use “not dedicated” serial Teensy then working better but java anyway make problems but not frequently like before.

Regarding java version and Arduino relationships. In my opinion exists dependence’s
First
I deleted all installed Java copies and problems still exist.
Second
When I erase all java files, folders literally I kill java on my MacBook then install fresh Arduino, wow Arduino even not starting because asking for java. It’s ridiculous.
Next step I had done, format C and install everything again and install dedicated old good SE runtime 1.6
Now Arduino starting and working pretty stable with Teensyduino 1.44 and java problems still exist but really rarely come out. Of course on “not dedicated” serial because other still not working correctly and making problems like before.

I have full Arduino/java crash report from my system when it’s happened last time. But there is some “sensitive ” data and binary images from my machine and processing. I happy to send it to Paul but I’m not pretty sure that is safe and good idea for publishing these reports without control in internet space.

Theremingenieur
09-28-2018, 10:11 AM
Why staying with outdated macOS?

PaulStoffregen
09-28-2018, 03:31 PM
In msg #6 (https://forum.pjrc.com/threads/53817-Teensyduino-1-44-Released?p=187986&viewfull=1#post187986), I asked you which selection you made from the Tools > Ports menu. I have gave a screenshot with red arrow overlay to explain the different selections.

As nearly as I can tell, you *still* have not said which Port selection was used. Why do you withhold this critically important information?



I have full Arduino/java crash report from my system when it’s happened last time. But there is some “sensitive ” data and binary images from my machine and processing.

I only use the Java exception trace, similar to the one you posted on msg #2 (https://forum.pjrc.com/threads/53817-Teensyduino-1-44-Released?p=187735&viewfull=1#post187735). Please post only that part.

Do not post Apple's binary process dumps here. I will *not* use them. The reality is I do not have any way to investigate a MacOS kernel panic. I am not a kernel developer. Even if I was, I do not work for Apple. While Apple does publish some stuff as open source, I have no access to key info needed to debug a MacOS kernel crash, even if I had the knowledge & experience to use such info. I simply can not meaningfully investigate a MacOS kernel panic. Only Apple can do that!


About solving this problem, first I would suggest using the other Ports menu selection. I *still* have to guess, because you will not tell us which one you really used, but from this error my guess is you selected the "Serial ports" section. This really looks like Java was accessing the serial device.


Crashed Thread: 25 Java: EventThread /dev/cu.usbmodem4275401

If you select the "Teensy" section, a completely different access to the port is used. Instead of Java using the JSSC library to access the port, a native "teensy_serialmon" program is run. You should be able to see it if you run "top" in Terminal. This program communicates with Java through stdin/stdout/stderr pipes, which means Java is not doing any hardware access at all.

I would also agree with Theremingenieur, Apple published rather buggy serial drivers 3 years ago with El Capitan. Back when 10.11 was new, many people using Arduino and Teensy and other boards experienced many problems. Apple (mostly) fixed these bugs with Sierra. If your machine is able to upgrade, you should. However, I do know some hardware from 2008 or earlier (like the "cheese grater" MacPro 3,1) can't upgrade beyond 10.11 without unofficial hacks.

But even if you have one of those very old macs that can't upgrade, you certainly *CAN* clearly answer the question of msg #6. You *can* select the "Teensy" port instead of the "Serial port" from the Ports menu, and check that the "teensy_serialmon" is actually running and doing the communication.

Diodac
09-29-2018, 06:41 AM
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:82)


As nearly as I can tell, you *still* have not said which Port selection was used. Why do you withhold this critically important information?

I said

Regarding to the ports, that one what you recommend, literally not working for me. I used it but java problem raised and occurred much often. Moreover always after couple minutes getting lost connection. When I use “not dedicated” serial Teensy then working better but java anyway make problems but not frequently like before.

I tested both of them, and:
In menu "top" position
14856

And this one not working for me, many java problems when I open serial monitor after max 5 minutes lots of lags, stop working Arduino , and crash system with restart Mac itself :\
Fortunately I was able get this, after problem with "top" port before restart:


Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.StringBuffer.toString(StringBuffer.java: 669)
at processing.app.AbstractMonitor.consumeUpdateBuffer (AbstractMonitor.java:164)
at processing.app.AbstractMonitor.actionPerformed(Abs tractMonitor.java:170)
at javax.swing.Timer.fireActionPerformed(Timer.java:3 13)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.j ava:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessI mpl.doIntersectionPrivilege(ProtectionDomain.java: 80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 728)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:82)



About Serial ports:

About solving this problem, first I would suggest using the other Ports menu selection. I *still* have to guess, because you will not tell us which one you really used, but from this error my guess is you selected the "Serial ports" section. This really looks like Java was accessing the serial device.

I prefer to use "bottom" port, working better for me. Java problem occurs rarely , not 20times at day like with "top" port when I used.



I would also agree with Theremingenieur, Apple published rather buggy serial drivers 3 years ago with El Capitan. Back when 10.11 was new, many people using Arduino and Teensy and other boards experienced many problems. Apple (mostly) fixed these bugs with Sierra. If your machine is able to upgrade, you should. However, I do know some hardware from 2008 or earlier (like the "cheese grater" MacPro 3,1) can't upgrade beyond 10.11 without unofficial hacks.

I had pretty old MacBook Pro (13-inch, Mid 2009) but 8GB ram and SSD, theoretically I can upgrade to Sierra but in practice not really. Although App Store prompt for upgrade my Mac, I tied but without success. I need use some hacks for that. Any way I need buy next one more powerful. But to this time I need get proper working Tensyduino on El Cap.

Frank B
10-02-2018, 03:34 PM
Windows 10, with Teensy serial monitor open (Raw HID), but nothing prints (Sketch prints in setup() a few lines, only), so there should'nt be any workload :
14879
There are two tasks with more than 30%... noisy fans.

Edit: Arduino 1.8.7

err.. one task... but still 30% when doing nothing

Diodac
10-03-2018, 01:34 AM
Probably I resolve my problems. I got to proper work 1.8.7 and java problem not occurred so far and working on “top” and “bottom” port.
Just I go to recovery mode, turn of protection password and from terminal I deleted all java sh@&€t even SE runtime every where possible, next reset PRAM and so on, restart Mac, install fresh Arduino and
Teensyduino. Now all working together without problems.

tonton81
10-15-2018, 09:25 PM
Hi Paul, I'm poking around the Wire libraries for Teensy 3.x for user option choice for I2C over CANquitto, and noticed that i2c_t3.h has Wire3 declared but Wire.h throws a compile error, only Wire,Wire1,Wire2 are initialized from Wire.h, T3.6 has Wire3 in the back of the board

Tony

PaulStoffregen
10-16-2018, 01:20 AM
Yes, to use Wire3 on Teensy 3.6 you would need to edit this in WireKinetis.h to uncomment the WIRE_IMPLEMENT_WIRE3 define.


// Teensy 3.6
#elif defined(__MK66FX1M0__)
#define WIRE_IMPLEMENT_WIRE
#define WIRE_IMPLEMENT_WIRE1
#define WIRE_IMPLEMENT_WIRE2
//Wire3 is seldom used on Teensy 3.6
//#define WIRE_IMPLEMENT_WIRE3
#define WIRE_HAS_START_INTERRUPT
#define WIRE_HAS_STOP_INTERRUPT

Likewise for Teensy LC, Wire1 is not defined by default.


// Teensy LC
#if defined(__MKL26Z64__)
#define WIRE_IMPLEMENT_WIRE
//Wire1 consumes precious memory on Teensy LC
//#define WIRE_IMPLEMENT_WIRE1
#define WIRE_HAS_STOP_INTERRUPT

Unlike LC, we do have quite a lot of RAM on 3.6, so maybe Wire3 should be enabled by default? As far as I can really, this is the first time it's come up in the ~2 years we've been shipping Teensy 3.6....

tonton81
10-18-2018, 09:12 AM
that spammer who posted here i messaged him on facebook to stop flooding the forums and reported him, he “viewed” my message within a minute and never responded. He’s definately doing it on purpose

Theremingenieur
10-18-2018, 09:16 AM
Cleaned and banned. Added his IP to the "IPs to block list". It was already put there by defragster, but it seems that Paul didn't find the time to process the list for a few days.

Paul
10-18-2018, 09:26 AM
I'm going through the last few weeks of IPs right now (fell a little behind on this lately while working on Teensy4).... most are from India, Pakistan & Russia, adding more netblock to the forum's IP bans.

FWIW, that user who just posted 6 messages was from New Delhi, India connecting through "Empower Digital Networks" ASN #135772 (https://db-ip.com/as135772). This was almost certainly a case of professional spam operations hiring low-wage workers from India to post as many messages as possible, defeating anti-bot measures by using real people to do the dirty work. All 4096 of Empower Digital Networks IP numbers are now be blocked from ever accessing this forum.

defragster
10-20-2018, 06:01 PM
Not sure what to do with this - I just saw it in Task Manager - no idea how it got there? I'm on Newest ( now pulled Win 10 1809.55 update ) with IDE 1.8.7 and TD 1.44 - except it is Frank_B's core for 256 MHz T_3.6. I of course am using TyCommander as Programmer and SerMon - and I have two T_3.6's online. Since booting 10 days and 14 hours ago I have closed and opened the IDE a few times Before and after pulling in the 256 MHz code.

What I see is this with orphaned ? T_ports::
14990

And the Java Part:
14991

I closed the IDE and the T_ports survived and I just ended them.

The only thing that comes to mind is I was doing DryStone and had TyCommander push the same HEX to BOTH T_3.6's at once. Wich looks like this in the console - perhaps that triggered this?

Though I closed the above and redid the compile and dual upload and it created no spare T_ports - so those must have survived prior IDE restarts::

"T:\\arduino-1.8.7_144_TYC\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-size" -A "T:\\TEMP\\arduino_build_441718/DHRYSTONE.ino.elf"
Sketch uses 39568 bytes (3%) of program storage space. Maximum is 1048576 bytes.
Global variables use 15488 bytes (5%) of dynamic memory, leaving 246656 bytes for local variables. Maximum is 262144 bytes.
T:\TyComm\TyCommanderC.exe upload --autostart --wait --multi T:\TEMP\arduino_build_441718/DHRYSTONE.ino.TEENSY36.hex
upload@2649050-Teensy Uploading to board '2649050-Teensy' (Teensy 3.6)
upload@2649050-Teensy Triggering board reboot
upload@2272540-Teensy Uploading to board '2272540-Teensy' (Teensy 3.6)
upload@2272540-Teensy Triggering board reboot
upload@2649050-Teensy Firmware: DHRYSTONE.ino.TEENSY36.hex
upload@2272540-Teensy Firmware: DHRYSTONE.ino.TEENSY36.hex
upload@2649050-Teensy Flash usage: 39 kiB (3.8%)
upload@2272540-Teensy Flash usage: 39 kiB (3.8%)
upload@2649050-Teensy Uploading...
upload@2272540-Teensy Uploading...
upload@2649050-Teensy Sending reset command
upload@2272540-Teensy Sending reset command

Theremingenieur
10-20-2018, 06:53 PM
The logical consequence would be dropping Windows support... No, just kidding... :cool:

PaulStoffregen
10-20-2018, 08:29 PM
Pretty sure this would happen on Mac and Linux too, if you force quit or "kill -9" the java process.

I rewrote teensy_ports for 1.44, using stdout rather than a localhost socket. It's no long able to detect when the Arduino process goes away. Another low priority issue for the list.....

However, the stdout change did (hopefully) fix the lag that could be caused on some machines when you clicked the Tools menu.

defragster
10-20-2018, 10:17 PM
The logical consequence would be dropping Windows support... No, just kidding... :cool:
… :mad: Still never funny …. :cool:
Windows is the best! :o Though my machine has shown a couple of anomalies since I got the 1809 Oct release - not related to why they say they pulled it though …

Paul- re post #18 - they were normal IDE Quit exits. i.e. Ctrl+Q. The taskman 'end tasks' were only done to clear the processes to look for repro.

I was going to say that TyComm was open throughout … but one time in the last days it did freeze (before second T_3.6) … I ended a program with loop() { … while(1); } … I realized that was UGLY WRT to USB - so I made it "while(1){yield()}" - but on that upload it needed to be killed - IIRC. { Should have tried a button press? }

This is similar to what happened back a couple releases - and the first I saw any sign of anything like it.

<edit>: Now that those spare T_ports are gone my IDE is running better - also after restarting and multiple uploads. I would hit Ctrl+U and my machine would do nothing for a few seconds before console showed any Compile action. Now it is started as it should. And at this point TaskMan shows no orphans.

<edit 2>: Frank's Dhrystone code is active and change empty loop to this and it does not repro:: void loop(void) { while(1);}. Also closed IDE and upload again is fine. Something odd happened.

tonton81
10-23-2018, 07:28 AM
Microsoft has stopped the rollout of the Windows 10 October 2018 Update, just days after it started it during the company’s Surface event last week. The move comes after a number of people reported that the upgrade left them without some of their files, with document deletions becoming more and more widespread as the time rolled on.

Microsoft paused the rollout, saying “we have paused the rollout of the Windows 10 October 2018 Update (version 1809) for all users as we investigate isolated reports of users missing some files after updating.”

never funny, but possibly true :)

Hey Tim, thats the release you got! lol

Theremingenieur
10-23-2018, 07:47 AM
I'm working in the IT domain for 30+ years, now. As a developer, as an administrator, as almost everything, in heterogenous environments (DOS/Novell/Win/Mac/Linux). Sorry to say that, but in my long term experience, I never saw a less reliable OS than all Windows releases since 2.0. Even the old MS-DOS 4.01 with himem.sys drivers was more stable.

defragster
10-23-2018, 07:58 AM
Yes running that release on 4 machines here and put it on a few others. I have slow but costly broadband - and update numerous computers so I pull the ISO or bootable USB copies of install and KB updates as they appear.
The Oct release came as 1809.17763.1 on 10/2/2018. Still only one update 1809.17763.55 on 10/9/2018 and no updated news from MSFT since 10/9.
Anomalies are slight and maybe just passing? I used a Flash with write protect switch when getting said downloads and other tools to touch infected machines, on ejecting that (or others?) all instances of File Explorer have gone away more than once. And File open folder browsing sometimes fails as well. Not related to the published setup issue - but it never happened to me before.

To bring this back to prior posts - after another 2.6 days uptime (13d4hr) and multiple compiles and one or more IDE restarts and now with 5 active T_3.6's - TaskMan shows no indications of orphaned T_ports or other issues.
*Also I'm working in the IDE and with the VisualTeensy layer ( by @luni - very cool) on MSFT Visual (studio) Code. All is functioning well using TyCommander - and also TeensyLoader for upload by accident and confirmed on purpose with no side effects.

PaulStoffregen
10-23-2018, 12:19 PM
Pretty sure the orphaned teensy_ports issue is 100% my doing. Windows frustrates me on many occasions, but I can't blame Microsoft for that one. It's my fault. Unless those lingering instances seem to be causing problems (very unlikely), I'll probably delay fixing it until late 2019.

Maybe I should also mention the single instance behavior teensy_ports had in 1.42 was changed for 1.43. Now one instance per Arduino IDE instance is used. I redesigned the stuff that needed the single instance. The new way performs better (no lag on Arduino's Tools menu) and overall uses a simpler approach.

I personally use Linux as my primary desktop, partly because it's so stable, but mainly because I've been using Unix since the late 1980s. But just 2 weeks ago I was reminded that Linux isn't indestructible. While working on Teensy4's USB stack, I somehow managed to crash the USB hub driver or some internal kernel process. Lots of errors and some segfault stuff got logged. Amazingly the system stayed up, but I had to reboot to get USB fully working again.

defragster
10-23-2018, 05:11 PM
No doubt Teensy_ports has moved to better interoperability from the first efforts - between cross platform and trapped inside the IDE and having the JAVA overlord - current solution seems good - though I don't generally use it.

There was some (one time) event that passed as noted around the time of the while(1) - simple attempt to repro didn't so some other element ... and I have a few non PJRC 'moving parts' with TyCommander and VisualTeensy - Win 10 and a couple of USB hubs - and my programming. Thus my starting that post with "Not sure what to do with this ..." With the machine up 10 days at that point I may very well have (ab)used IDE SerMon in that time with those items orphaned days before - at least they were 'idle at 0% usage'.

And a quick note for Thierry's retinal pleasure :)
15010

Frank B
10-23-2018, 05:27 PM
@Defragster:
The Meyer family goes on a hike through the forest. After a few hours Mr. Meyer says "Look, here is the ideal place for a picnic".

Ms Meyer replied: "Honey, you're right as always: Hundreds of thousands of ants can't be wrong! .. oh..ok..not that funny after translation..





*** I use Windows, too. Often, but not always.

defragster
10-23-2018, 06:01 PM
:) Funny enough … assuming you are referring to the number 1 OS … ANTdroid :)

Reminds me of the day my wife and Dale a co-worker and I hiked up a nice mountain for a picnic - found a great view and settled in to eat … wondering about the smell in this pristine place … after we finished eating it turns out another hiker had a large dog defecate nearby while they enjoyed the view from that obviously perfect spot … on same day Dale did pick up a stick waving it around like a sword … then discovering it was covered in Ants …

mjs513
10-29-2018, 10:00 PM
I installed 1.44 from the download page for Windows10 and just noticed, because somebody asked what version I was using, and the Arduino IDE shows that I am using 1.44 beta 2. Same when the loader pops up and I do an About. It is showing 1.44 beta2. Not sure if anyone else noticed.

Just wanted to let you know.

PLEASE IGNORE THE POST. I FOUND MY MISTAKE - HAD A SHORTCUT POINTING TO THE WRONG Version.

Frank B
11-11-2018, 10:00 AM
Windows 10, with Teensy serial monitor open (Raw HID), but nothing prints (Sketch prints in setup() a few lines, only), so there should'nt be any workload :
14879
There are two tasks with more than 30%... noisy fans.

Edit: Arduino 1.8.7

err.. one task... but still 30% when doing nothing

I noticed, it's independend of the Serial Monitor. It happens when the compiler shows errors, and I need some time to edit the sketch.
But it happens in serial monitor, too, esp. if the window is in the background. Edit: If I close the serial monitor window, the CPU-usage becomes zero, and everything is fine again.
It is *really* very annoying, because the computer gets very loud due to the fast running fans.

Is there any solution?? I read somewhere it would help to delete all java installations. Did _not_ help.

Edit: Arduino 1.8.7

bicycleguy
11-18-2018, 05:54 PM
Paul,
Installed 1.44 on 1.8.7 on MacOS10.14.1 no problems.

Just wanted to thank you and express my amazement at the job you do with these upgrades !

Seems like a boiling cauldron with linux/window/mac fighting each other and screwing competition (java) and trying to obsolete their own products to sell more, yet somehow you manage to reign them all in and just work on top of their mess !

amazing !

PaulStoffregen
11-18-2018, 09:26 PM
The CPU usage problem may be a Java problem. Or it could be JSSC, if you've got a "Serial port" selected in Tools > Ports. Or if you have a "Teensy" port selected, then it could be my teensy_serialmon program. At least that last case is easy to see the difference, because it would be teensy_serialmon rather than Java burning up all the CPU time.

Arduino issue tracker has shown some people reporting this CPU usage problem with the version of Java that got used in 1.8.7.



Is there any solution?? I read somewhere it would help to delete all java installations. Did _not_ help.

Arduino bundles a copy of the Java JRE. It's supposed to ignore any Java you have elsewhere on your computer.

With the Linux version, if you just delete the "java" folder within Arduino, it will try to use whatever Java you have installed on your PC. Maybe the Windows version will do this too?

Or you could try downloading the Java JRE from Oracle and replace the contents of that folder. But I believe the Windows version is an installer, not just a simple .tar.gz like the Linux version, so you'd probably have to go through the extra step of installing and then trying to find where the installer put the files.

You could also try using Arduino 1.8.5 which has an older (probably better) version of Java.

Frank B
11-18-2018, 09:38 PM
No, it's without serialmon, too. Just simple compiler-messages (errors) in the terminal window lead to rising CPU usage.
Ok, serialmon is a bit worse, but if I close that window, all is back to normal again. I don't think that is a teensyduino issue.

I've finally solved this. I do not open the IDE anymore and have a way better solution (https://forum.pjrc.com/threads/27825-Teensy-Qt?p=190907&viewfull=1#post190907).
https://forum.pjrc.com/attachment.php?attachmentid=15136&d=1541970906

defragster
11-18-2018, 09:46 PM
Odd - just scanning this - looked at TaskMan JAVA was 15.6% CPU - had compiled a couple little things to a T_3.6 - no Teensy plugged in - last compile upload was a success - using TyComm and Frank B's 256 MHz TD 1.44 with IDE 1.87. This is an i7 desktop so not hearing fan change.

Put an error in open sketch (Frank's _isr remap) (https://forum.pjrc.com/threads/54312-Teensy-3-2-NVIC_ENABLE_IRQ-not-setting-transmit-interrupts?p=191246&viewfull=1#post191246) ( 1 of 8 open ) - failed and CPU use went single digits or less - compiled with no error and JAVA is running around 0.5 to 1.5%

Did another recompile and upload and now 15-17& on JAVA Platform - then it was under 1% ... then when IDE comes to forground it goes back up if it had dropped down - now using at 16-18%. It doesn't go over 25% during compile.

The other example Teensy-4 pin isr example (https://forum.pjrc.com/threads/54265-Teensy-4-testing-mbed-NXP-MXRT1050-EVKB-(600-Mhz-M7)?p=191201&viewfull=1#post191201) went toward 0% after upload - now JAVA back to ~16.5 range after a short time and staying there.

Frank B
11-18-2018, 10:06 PM
Your machine is faster than mine!
Ok, mine is quite old.. I5.. still good enough for use at home - obviously not good enough for the Arduino so-called "IDE"
Do I need to add a water-cooling? :confused:
But still - as soon the black terminal shows errors, the cpu-usage rises. If I fix the error, and re-compile, it goes back to 1-2% when compilation is done.
I don't care anymore.

defragster
11-18-2018, 10:36 PM
All this time later and TaskMan still shows the IDE JAVA at ~16-17%, it is doing something neurotic - not SerMon and no errors on last compile/upload. I do have 8 sketches open I keep wanting open to remind me of what I was once doing and thinking I'd get back to. But even so it does drop under 1% at times after upload then just goes back up.

Water cooling might be quieter :) - but a real pain to retrofit. I always run my laptops on a cooler pad - even without a fan it assures fresher air and less accumulated residual heat from reflected heat trapped underneath gives the internal fan less work to do, better for HDD's.

So now ATOM ... Visual Studio, VS Code, Eclipse, (PlatformIO) ... stand alone editor is nice aid to IDE - but leaves the IDE active. Thanks yet again to Koromix for TyCommander at least to make a good SerMon and multi Teensy loader interface to make those work!

<update Edit> 6 hours later - JAVA still ~16%. Closed 6 of the 8 open sketches. And uploaded for fun a time or two. Java would go to <1% ... then back up to ~16 in the process of window changing.
Seemed it was to stay <1% until in forground ... now in background again and at ~16% CPU with just two IDE sketches open ...

defragster
11-19-2018, 06:36 AM
Same Java at ~16% after error free compile/upload with stock IDE 1.87 (no 256 MHz OC) and TeensyDuino 1.44 using PJRC Loader - only two active sketches from the start single connected T_3.6.
It did drop < 1% in background as I type this. Back ~16% up after 2nd sketch Upload - opened Win Stopwatch at 6+ minutes after last touching IDE still CPU elevated - some peaks now 20%. SerMon not opened - teensy_ports 0%.

Frank - you should make a thread with your batch file calling from Atom. { step1: install Atom (https://atom.io/) #2:Instal Package:'Process-Palette' }

<edit>: It persists - stopwatch at 1hr 51 min and 17.1% JAVA CPU when machine left idle.

From post #36:
<update> 6 hours later - JAVA still ~16%. Closed 6 of the 8 open sketches. And uploaded for fun a time or two. Java would go to <1% ... then back up to ~16 in the process of window changing.
Seemed it was to stay <1% until in forground ... now in background again and at ~16% CPU with just two IDE sketches open ...

Frank B
11-19-2018, 04:21 PM
@Paul:
May I ask if it is possible to modify platform.txt, and boards.txt a little bit -for the next release- ?

It would allow to pass extra #defines more easyly.

In board.txt it needs one line more for every Teensy:


teensy36.build.flags.extra=
[..]


In platform.txt:
Add this to recipe.cpp.o.pattern, recipe.c.o.pattern, recipe.S.o.pattern (and header? don't know - you know better)


[...] "{source_file}" {build.flags.extra} -o "{object_file}" [...]


It allows to pass #defines with the "-prefs" argument to the builder.
For example ./arduino-builder -prefs="build.flags.extra=-DDEBUG" ....
And if it is the last argument (like above) it would allow to override other settings.

It is very useful if the builder gets called by 3rd-party tools.
The "-prefs" was added for exactly this use-case. And it would be a pity not to use it.

tonton81
11-19-2018, 11:11 PM
Posting this here for reference, I see it appearing in my compiler output


C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/wiring.h:128:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

(_amt < _low) ? _low : ((_amt > _high) ? _high : _amt); \


EDIT: it dissapeared now, I added the UL suffix to constrain to the constructor value inputs


settings = SPISettings(((constrain(_mhz, 4000000UL, 20000000UL) != _mhz) ? 8000000UL : _mhz), MSBFIRST, SPI_MODE0);

pix-os
11-20-2018, 02:07 PM
just a small suggestion that can be usefull with minimal code needed and added to the installer: adding a selction for creating shortcut to the desktop for the audio design tool if the audio lib is installed?

[ also, just got around to use the forum again :P ]

nox771
12-02-2018, 09:31 AM
For next TD version, please pull new release of i2c_t3 here (tagged 'v11'):
https://github.com/nox771/i2c_t3
(https://github.com/nox771/i2c_t3)
Changed license to MIT and applied some fixes.

Frank B
12-05-2018, 08:56 PM
Sometimes I open then generated symbol table to look for some addresses of variables. It is handy to filter for .bss and sort the output.
I added the the following line to platform.txt, which only works for windows and if there are no spaces in the paths. I hav'nt found a way to make this more compatible for other systems or for paths with spaces.
Is there any?

recipe.hooks.postbuild.3.pattern=
"{compiler.path}stdout_redirect" "{build.path}/{build.project_name}_bss.sym" "c:\windows\system32\cmd.exe" "/c C:\Arduino\hardware\tools\arm\bin\arm-none-eabi-objdump -t -j .bss -C {build.path}\{build.project_name}.elf | sort"

just adding " | find ".bss" | sort" to recipe.hooks.postbuild.2.pattern would be a bit easier - but it seems the stdout_redirect does not support that(?) - or is there a way I do not know, perhaps?

Edit:Output looks like this:






1fff11f0 g .bss 00000000 _sbss
1fff11f0 l .bss 00000000 __bss_start__
1fff11f0 l .bss 00000000 completed.8605
1fff11f0 l d .bss 00000000 .bss
1fff11f4 l .bss 00000000 object.8610
1fff120c g O .bss 00000004 systick_millis_count
1fff1210 l O .bss 00000004 ep0_tx_ptr
1fff1214 l O .bss 00000010 rx_last
1fff1224 l O .bss 00000002 ep0_tx_len
1fff1228 l O .bss 00000040 ep0_rx0_buf
1fff1268 l O .bss 00000010 rx_first
1fff1278 l O .bss 00000001 ep0_tx_data_toggle
1fff1279 g O .bss 00000001 usb_reboot_timer
1fff127c l O .bss 00000040 ep0_rx1_buf
1fff12bc l O .bss 00000010 tx_first
1fff12cc l O .bss 00000010 tx_last
1fff12dc l O .bss 00000008 setup
1fff12e4 l O .bss 00000001 ep0_tx_bdt_bank
1fff12e5 g O .bss 00000001 usb_rx_memory_needed
1fff12e8 l O .bss 00000008 reply_buffer
1fff12f0 g O .bss 00000001 usb_configuration
1fff12f4 l O .bss 00000004 tx_state
1fff12f8 l O .bss 00000001 tx_noautoflush
1fff12fc l O .bss 00000004 tx_packet
1fff1300 l O .bss 00000001 transmit_previous_timeout
1fff1304 l O .bss 00000004 rx_packet
1fff1308 g O .bss 00000001 usb_seremu_transmit_flush_timer
1fff1309 l O .bss 00000001 yield::running
1fff130c g O .bss 00000004 EventResponder::firstInterrupt
1fff1310 g O .bss 00000004 EventResponder::lastInterrupt
1fff1314 g O .bss 00000004 MillisTimer::listActive
1fff1318 g O .bss 00000004 EventResponder::lastYield
1fff131c g O .bss 00000004 EventResponder::firstYield
1fff1320 g O .bss 00000001 EventResponder::runningFromYield
1fff1324 g O .bss 00000004 MillisTimer::listWaiting
1fff1328 l O .bss 00000001 calibrating
1fff1329 l O .bss 00000001 analog_reference_internal
1fff132c l O .bss 00000004 rts_pin
1fff1330 l O .bss 00000001 rx_buffer_head
1fff1331 l O .bss 00000001 rx_buffer_tail
1fff1334 l O .bss 00000040 tx_buffer
1fff1374 l O .bss 00000040 rx_buffer
1fff13b4 l O .bss 00000001 transmitting
1fff13b5 l O .bss 00000001 tx_buffer_tail
1fff13b8 l O .bss 00000004 transmit_pin
1fff13bc l O .bss 00000001 tx_buffer_head
1fff13c0 l O .bss 00000004 rts_pin
1fff13c4 l O .bss 00000001 transmitting
1fff13c5 l O .bss 00000001 rx_buffer_tail
1fff13c8 l O .bss 00000028 tx_buffer
1fff13f0 l O .bss 00000040 rx_buffer
1fff1430 l O .bss 00000001 rx_buffer_head
1fff1431 l O .bss 00000001 tx_buffer_tail
1fff1434 l O .bss 00000004 transmit_pin
1fff1438 l O .bss 00000001 tx_buffer_head
1fff143c l O .bss 00000004 rts_pin
1fff1440 l O .bss 00000001 rx_buffer_head
1fff1441 l O .bss 00000001 rx_buffer_tail
1fff1444 l O .bss 00000028 tx_buffer
1fff146c l O .bss 00000040 rx_buffer
1fff14ac l O .bss 00000001 transmitting
1fff14ad l O .bss 00000001 tx_buffer_tail
1fff14b0 l O .bss 00000004 transmit_pin
1fff14b4 l O .bss 00000001 tx_buffer_head
1fff14b8 l O .bss 00000004 rts_pin
1fff14bc l O .bss 00000001 rx_buffer_head
1fff14bd l O .bss 00000001 rx_buffer_tail
1fff14c0 l O .bss 00000028 tx_buffer
1fff14e8 l O .bss 00000040 rx_buffer
1fff1528 l O .bss 00000001 transmitting
1fff1529 l O .bss 00000001 tx_buffer_tail
1fff152c l O .bss 00000004 transmit_pin
1fff1530 l O .bss 00000001 tx_buffer_head
1fff1534 l O .bss 00000004 rts_pin
1fff1538 l O .bss 00000001 rx_buffer_head
1fff1539 l O .bss 00000001 rx_buffer_tail
1fff153c l O .bss 00000028 tx_buffer
1fff1564 l O .bss 00000040 rx_buffer
1fff15a4 l O .bss 00000001 transmitting
1fff15a5 l O .bss 00000001 tx_buffer_tail
1fff15a8 l O .bss 00000004 transmit_pin
1fff15ac l O .bss 00000001 tx_buffer_head
1fff15b0 l O .bss 00000004 rts_pin
1fff15b4 l O .bss 00000001 rx_buffer_head
1fff15b5 l O .bss 00000001 rx_buffer_tail
1fff15b8 l O .bss 00000028 tx_buffer
1fff15e0 l O .bss 00000040 rx_buffer
1fff1620 l O .bss 00000001 transmitting
1fff1621 l O .bss 00000001 tx_buffer_tail
1fff1624 l O .bss 00000004 transmit_pin
1fff1628 l O .bss 00000001 tx_buffer_head
1fff162c g O .bss 00000004 __malloc_max_total_mem
1fff1630 g O .bss 00000004 __malloc_max_sbrked_mem
1fff1634 g O .bss 00000004 __malloc_top_pad
1fff1638 g O .bss 00000028 __malloc_current_mallinfo
1fff1660 g O .bss 00000008 usb_rx_byte_count_data
1fff1668 g O .bss 00000004 errno
1fff166c g .bss 00000000 __bss_end
1fff166c g .bss 00000000 _ebss
1fff166c l .bss 00000000 __bss_end__
20030000 g .bss 00000000 _estack
c:\temp\arduino_build_Blink.ino\Blink.ino.elf: file format elf32-littlearm
SYMBOL TABLE:

*p.s. all the serial buffers still there.. we need to find a solution for this issue.

fredclass
12-08-2018, 07:38 AM
Ok i'll try it first then i'll let you know, thanks.