Teensyduino 1.25 Beta #1 Available

Status
Not open for further replies.

Paul

Administrator
Staff member
Here is a first^H^H^H^H^H second beta test for Teensyduino 1.25:


Edit: old beta test linkes removed. Full non-beta release is here:
http://www.pjrc.com/teensy/td_download.html



These links have been updated to "1.25-beta2".

Arduino 1.6.5-r4 appeared on Arduino's download page for less than 24 hours. Due to a serious bug, it was replaced by 1.6.5-r5. "1.25-beta2" is an update to support 1.6.5-r5.
 
Here are the changes since version 1.24:

Add support for Arduino 1.6.5-r4

Drop support for Arduino 1.6.4

Update Adafruit_GFX, FastLED, ILI9341_t3 (added fonts)

Audio lib: play from SerialFlash, ext mem delay, bitchusher (thanks Pensive)

Floating point constants are now single precision on Teensy LC, 3.0, 3.1

SD root dir bug and other minor fixes

SD Teensy3 optimized (not enabled by default) has improved caching

Servo library easier to edit for more than 16 motors

Remove dedicated AVR toolchain (was only needed for Arduino 1.6.2)

Avoid interfering with new Arduino 1.6.5 color scheme

Serial flow control functions (C only for now)

XPlaneRefs with names >58 chars (thanks jbliesener)

USB MIDI Time code (thanks Karg)

Installer detects Windows 10, skips driver install

Installer looks in more places on Windows to auto-find Arduino
 
Last edited:
If you run this on Windows 10, please let me know if it detects the Windows 10 built-in serial driver.

Right after the intro, you're supposed to see this:

Capture.PNG
 
That's what I saw.
I also saw a ton of spurious places in the default view to install the beta - none of which were my drive I: where I made a small disk to hold Arduino - so I still had to do all drives.

td125b1.PNG
 
This will leave the prior installed driver - any benefit to removing it?

I have connected both a T_31 and an LC: compiled & uploaded with Win 10 fine to both using button and TYQT

Must Teensy app always 'activate' itself when the IDE compiles? I never need to see it and it makes a show of itself on the taskbar - and brings out the auto-hide taskbar.
 
This will leave the prior installed driver - any benefit to removing it?

Probably doesn't matter, but of course you can remove the Teensy INF.

Must Teensy app always 'activate' itself when the IDE compiles

With Arduino 1.0.6, this behavior is baked into the Java code. You can't change it, or at least not without going to a lot of trouble to recompile the entire Arduino IDE.

With Arduino 1.6.x, you can edit platform.txt. Just change or remove the stuff about "teensy_post_compile" and "teensy_reboot".
 
Last edited:
none of which were my drive I: where I made a small disk to hold Arduino - so I still had to do all drives.

Currently it's looking in these places, with "Arduino" and every supported version number appended to "arduino-".

CSIDL_PROGRAM_FILESX86
CSIDL_PROGRAM_FILES
"Downloads" relative to CSIDL_PERSONAL (if there's a CSIDL for Downloads, it's not defined in my mingw toolchain)
CSIDL_DESKTOPDIRECTORY
CSIDL_PERSONAL
C:/

Eventually I'm going to add registry scanning to locate the prefs file, and lots of code for parsing it. Since Arduino 1.6.0, there's a couple lines of code that log installed pathnames to the prefs file. That's probably the only hope of ever automatically discovering special install locations.
 
I've changed the links to 1.25-beta2, which updates the installers with support for Arduino 1.6.5-r5.

Support for the buggy "r4" version was dropped. If you downloaded 1.6.5-r4 from Arduino's website, I recommend deleting it.
 
I just tried installing the second version onto a new install or 1.6.5-r5 (windows 10 64 bit), in default windows location. The Arduino installer replaced ...r2, by uninstalling it and then installing the r5... I then ran the Teensyduino installer with Administrative ...

Received this error:
Teensy-installer-error.jpg

Kurt
 
Quick update: I redid this again. This time I went into Windows settings and first had it remove Arduino install. Then I reran the Arduino installer, and then reran the Teensyduino installer and this time it worked?
 
KurtE - Settings or Task Manager and killed a process? I was about to suggest the installer may be active holding the file even with the IDE closed.

KurtE - why are you using their installer? I gave up on that for the ZIP extract that works without other side effects - trusting their installer seems to have more issues that bugged me before. Their registry attachments and other 'setup' side effects caused grief with multiple active installs and other - the zip extract allows good function across multiple active IDE installs.

Paul - I could post a pic of the multiple false hits in my list - I have no Arduino installed in the list provided.

In case it helps - I searched my registry and these keys point to where I run Teensy & The IDE from:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]

"UDP Query User{D9693B82-189A-4F5D-9648-FB531CB76696}I:\\teensy165\\java\\bin\\javaw.exe"="v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=17|Profile=Private|App=I:\\teensy165\\java\\bin\\javaw.exe|Name=Java(TM) Platform SE binary|Desc=Java(TM) Platform SE binary|Defer=User|"


[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store]

"I:\\Teensy163\\arduino.exe"=hex:53,41,43,50,01,00,00,00,00,00,00,00,07,00,00,\
00,28,00,00,00,00,1e,06,00,3f,99,06,00,01,00,00,00,00,00,00,00,00,00,00,0a,\
71,20,00,00,02,61,32,9f,ff,ba,d0,01,00,00,00,00,00,00,00,00,02,00,00,00,28,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,fe,56,16,00,00,00,00,00,02,00,00,00,02,00,00,00


[HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache]

"I:\\Teensy165\\hardware\\tools\\teensy.exe.FriendlyAppName"="teensy.exe"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]

"UDP Query User{D9693B82-189A-4F5D-9648-FB531CB76696}I:\\teensy165\\java\\bin\\javaw.exe"="v2.10|Action=Allow|Active=TRUE|Dir=In|Protocol=17|Profile=Private|App=I:\\teensy165\\java\\bin\\javaw.exe|Name=Java(TM) Platform SE binary|Desc=Java(TM) Platform SE binary|Defer=User|"

stevech was right again : https://forum.pjrc.com/threads/29472-How-to-delete-the-Teensy-USB-Serial-driver-from-Windows-10?p=80778&viewfull=1#post80778

With Arduino 1.6.x, you can edit platform.txt.
I want the loader to be opened - but if already open I was hoping to have it idly ignore and re-activation that, of course 'Verify' now not doing that 'Taskbar highlighting'.
 
KurtE - Settings or Task Manager and killed a process? I was about to suggest the installer may be active holding the file even with the IDE closed.

KurtE - why are you using their installer? I gave up on that for the ZIP extract that works without other side effects - trusting their installer seems to have more issues that bugged me before. Their registry attachments and other 'setup' side effects caused grief with multiple active installs and other - the zip extract allows good function across multiple active IDE installs.
Their installer should have already exited. At least it no longer showed up in the taskbar.

Actually I do both ways. That is often I like the main one I am using to be setup the default way... Then if I am testing out something new I use the Zip method...

Why I use their installer, is well that is what the 99% of users probably do, so would be good to test out that approach... Personally I am hoping to be rid of having many different installs. Earlier I had the Arduino 1.0.6 as that was the last thing Trossen (Arbotix) was setup for. Also had 1.5.x and now 1.6.x, plus Intel Edison install. Not to mention the other installs for the Pic32 boards that was playing with...
 
A process can get orphaned - even MSFT Outlook or IE - waiting for an event on a background task it seems even when the app is no longer a program, not surprising they might have spawned something that they didn't tend to.

I've seen nothing but trouble myself - or in threads here - from their installer, so I banished it and recommend the same as it seemed to be the generally repeated jist I got.

They do registry keys that I saw affect IDE behavior in non-apparent ways and that may work on single installs - but was a recurring trouble with moving 1.6.x beta swarm.
 
Just for clarity, when I want to use the SD_t3 library, all I do is uncomment #define USE_TEENSY3_OPTIMIZED_CODE correct?

When I try to include <SD_t3.h> my program will freeze when trying to open a write handle.
 
Yes, all you have to do is uncomment USE_TEENSY3_OPTIMIZED_CODE.

Currently it only supports reading the card. There's absolutely not write support (yet).
 
When you say there is not write support yet, do you mean that write is not optimized, and I should avoid using SD_t3 when writing at all?

Or do you mean that writing is not optimized, but reading is when using SD_t3? (for now of course)
 
Not sure if it is a new behavior of the application or some W10 problem, but the Teensy won't reboot spontaneously when I upload.
The loader appear and say to push the reset button, which I remember I never had to do. but pushing the button has no effect whatsoever, and the IDE fail to upload (it print out a message saying that you have to reboot manually the board).

Then I figured out that when you upload; you have to wait for the windows notification that the device has been disconnected (the com port will disappear from device manager); then you press and hold reset on the Teensy for a second or 2 and release, and it wll reboot with the uploaded code on it. So far I don't remember to see any of this in the past; it would just do anything on its own (and the auto option is selected on the Teensy loader).

I am using a Teensy 3.1 with 2.6 Arduino IDE and the version of Teensyduino from this page. Had no problem during install.
 
With W10 - there is something odd going on with the IDE - I noted it before.

I just started the IDE and my first compile with upload worked - opening IDE SerMon

Subsequent VERIFY build with button failed. First a second open of the SerMon worked - then the Com port got LOST .

No seeing "USB device not recognized" (last plugged usb to 'this computer malfunctioned ... windows does not recognize it') from W10. Moved to different USB port and same result. builtinLED coming on and this sketch has run well before with only a usb output ID character change so I know it recompiled/loaded.

The IDE still see's the COM25 - but 'error opening...'

In DevMan I see two devices in this state: "Windows has stopped this device because it has reported problems. (Code 43)

A request for the USB device descriptor failed."

Removing them with 'ininstall' then repowereing gives no joy, it goes back to that state. Swapping the T_3.1 for an LC now causes the same and I was running same code on both for days last week.

TeensyDuino not showing it ever gets to see a device. Closing the IDE and TeensyDuino have no effect (except BOTH err devices leave with one uninstall)- uninstalled devices come back in error.

>ARDUINO 1.6.5-r2 - 2015.06.17

<edit> Update: I left for a bit - on return saw I had a DigiSpark Pro on USB - but last upload didn't leave it happy: unplugged that and All seems fine with T_3.1 now

#2: plugged in the ill running Pro and it gave the error again - so it seems to enumerate or stick on failed devices? it is coming from the same external hub, moved to separate USB port and I don't see this even with the PRO still attached.
 
Last edited:
With "external Editor" enabled in Arduino:
when compiling, I often get errors like this:
Code:
ava.lang.IndexOutOfBoundsException: len=-2934
    at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:501)
    at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidthUpTo(TokenImpl.java:528)
    at org.fife.ui.rsyntaxtextarea.TokenImpl.getWidth(TokenImpl.java:499)
    at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1142)
    at org.fife.ui.rsyntaxtextarea.RSyntaxUtilities.getTokenListWidth(RSyntaxUtilities.java:1121)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:304)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.updateMetrics(SyntaxView.java:892)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.setSize(SyntaxView.java:802)
    at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
    at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:912)
    at javax.swing.plaf.basic.BasicTextAreaUI.getPreferredSize(BasicTextAreaUI.java:120)
    at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
    at javax.swing.JTextArea.getPreferredSize(JTextArea.java:619)
    at javax.swing.JViewport.getViewSize(JViewport.java:999)
    at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:278)
    at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1033)
    at javax.swing.JViewport.fireStateChanged(JViewport.java:1369)
    at javax.swing.JViewport.setView(JViewport.java:969)
    at javax.swing.JScrollPane.setViewportView(JScrollPane.java:1007)
    at org.fife.ui.rtextarea.RTextScrollPane.setViewportView(RTextScrollPane.java:253)
    at processing.app.Editor.setCode(Editor.java:1775)
    at processing.app.Sketch.setCurrentCode(Sketch.java:1000)
    at processing.app.Sketch.load(Sketch.java:121)
    at processing.app.Sketch.prepare(Sketch.java:1071)
    at processing.app.Editor$BuildHandler.run(Editor.java:1963)
    at java.lang.Thread.run(Thread.java:745)
len=-2934

or this:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paintImpl(DefaultTokenPainter.java:106)
    at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paint(DefaultTokenPainter.java:58)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.drawLine(SyntaxView.java:178)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.paint(SyntaxView.java:722)
    at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
    at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
    at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
    at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
    at org.fife.ui.rtextarea.RTextAreaBase.paintComponent(RTextAreaBase.java:719)
    at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.paintComponent(RSyntaxTextArea.java:1993)
    at javax.swing.JComponent.paint(JComponent.java:1056)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
    at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    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$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

or this:


Code:
java.lang.NullPointerException
    at org.fife.ui.rsyntaxtextarea.TokenMakerBase.addToken(TokenMakerBase.java:134)
    at processing.app.syntax.SketchTokenMaker.addToken(SketchTokenMaker.java:62)
    at org.fife.ui.rsyntaxtextarea.TokenMakerBase.addToken(TokenMakerBase.java:108)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1855)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1839)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.addToken(CPlusPlusTokenMaker.java:1828)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.yylex(CPlusPlusTokenMaker.java:2223)
    at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.getTokenList(CPlusPlusTokenMaker.java:1901)
    at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.getTokenListForLine(RSyntaxDocument.java:416)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.getLineWidth(SyntaxView.java:302)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.calculateLongestLine(SyntaxView.java:110)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.updateMetrics(SyntaxView.java:892)
    at org.fife.ui.rsyntaxtextarea.SyntaxView.setSize(SyntaxView.java:802)
    at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
    at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:912)
    at javax.swing.plaf.basic.BasicTextAreaUI.getPreferredSize(BasicTextAreaUI.java:120)
    at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
    at javax.swing.JTextArea.getPreferredSize(JTextArea.java:619)
    at javax.swing.JViewport.getViewSize(JViewport.java:999)
    at javax.swing.plaf.basic.BasicScrollPaneUI.syncScrollPaneWithViewport(BasicScrollPaneUI.java:278)
    at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1033)
    at javax.swing.JViewport.fireStateChanged(JViewport.java:1369)
    at javax.swing.JViewport.setView(JViewport.java:969)
    at javax.swing.JScrollPane.setViewportView(JScrollPane.java:1007)
    at org.fife.ui.rtextarea.RTextScrollPane.setViewportView(RTextScrollPane.java:253)
    at processing.app.Editor.setCode(Editor.java:1775)
    at processing.app.Sketch.setCurrentCode(Sketch.java:1000)
    at processing.app.Sketch.load(Sketch.java:121)
    at processing.app.Sketch.prepare(Sketch.java:1071)
    at processing.app.Editor$BuildHandler.run(Editor.java:1963)
    at java.lang.Thread.run(Thread.java:745)


perhaps a strange multithreading error... the stacktrace is never the same
 
Last edited:
Yup, it's a bug added in Arduino 1.6.5. So far there's no solution. I spent a day looking into this, but it's deep within the new editor code.... far beyond the amount of work I was willing to do. Sadly, I suspect the Arduino Team will have a very hard time to fix this too.

Do not use 1.6.4. This bug is really annoying! Teensyduino 1.25 is dropping support for 1.6.4, due to that bug!

When using external editor, your best option is Arduino 1.6.3. That's the version I use when developing code.
 
Status
Not open for further replies.
Back
Top