PDA

View Full Version : Teensyduino 1.41 Beta #4



Paul
01-15-2018, 05:10 AM
Here is a foruth beta test for Teensyduino 1.41.

Since Arduino's 1.9 betas are a moving target, I've included copies of
beta build #34 which this Teensyduino version expects.


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


Changes since Teensyduino 1.41-beta3 (https://forum.pjrc.com/threads/49078-Teensyduino-1-41-Beta-3)

Adruino 1.9.0-beta support updated from beta31 to beta34
USB MIDI & USBHost_t36 MIDI pitch bend using signed integer -- NOT BACKWARDS COMPATIBLE
USB MIDI & USBHost_t36 Fix receiving some MIDI sysex messages
USB MIDI add Interface_3x3 example
USBHost_t36 fix MIDI getType for note off messages
USBHost_t36 add MIDI Interface_16x16 example
Adafruit_SSD1306 uses 400 kHz in I2C mode
USBHost_t36 Joystick improvements, More Axis, Rumble, LEDs (KurtE)

Jasoroony
01-15-2018, 11:43 AM
No longer important to this thread.

Theremingenieur
01-15-2018, 12:22 PM
these Arduino releases still give me Java out of memory errors and lock up still even without the monitor open. There's something seriously wrong somewhere in the latest Arduino workbench for Win7x64 now. Just FYI.

Did you give it a try with a clean install on a more up-to-date platform like Win10 or a more suitable environment for development like an actual Linux distribution? Win7 (and other pre-Win10 versions) have serious bugs when it comes to serial communication over USB...

PaulStoffregen
01-15-2018, 01:01 PM
the latest Arduino

Could you please be more specific. Exactly which versions did you test? When have the memory problem on your machine, and which do not? Click Help > About to check which version you're running, if unsure.

Jasoroony
01-15-2018, 01:29 PM
No longer important to this thread.

PaulStoffregen
01-15-2018, 11:44 PM
I've uploaded the Mac version.

Can anyone with a modern Mac please let me know if Gatekeeper allows you to run it without any complaints? This is the first build with a fresh new certificate from Apple. PJRC is supposed to be "identified developer" again, at least until 2023... if I manged to get this new cert installed correctly. The old certificate expired last week.

I tested here on Lion (10.7.5) and High Sierra (10.13.2).

defragster
01-16-2018, 01:09 AM
Win 10 Installed on fresh Beta 1.9.0_bld34 the TD 1.41b4 and it works. ( have to unblock the unzip Arduino.exe as usual )

Ctrl+F - IDE Find opens a fresh window and still fails to focus it in Bld34 like 31 and before. Had to Dump Bld 31 and move to Bld 34 {now current beta} for TeensyDuino installer.

KurtE
01-16-2018, 01:56 AM
Win 10 Installed on fresh Beta 1.9.0_bld34 the TD 1.41b4 and it works. ( have to unblock the unzip Arduino.exe as usual )

Ctrl+F - IDE Find opens a fresh window and still fails to focus it in Bld34 like 31 and before. Had to Dump Bld 31 and move to Bld 34 {now current beta} for TeensyDuino installer.

Yep - still issue, but known and there was a hopeful fix that was submitted today: https://github.com/facchinm/Arduino/commit/cf34453983c9a9cbd120510d1a944f400ac4cef0

PaulStoffregen
01-16-2018, 06:26 AM
Has anyone using Macintosh tried this beta? Are there any Gatekeeper "unidentified developer" warnings?

It seems to work fine on the 1 and only macbook air I have running the latest High Sierra. Would be really nice if anyone else with a modern Mac could confirm.

FWIW, the way I build the Mac version is, well, not quite the standard way Apple envisions. Installing the new cert was tricky. Teensyduino tries to support all Macs running all the way back to 10.7.5. Apple doesn't make that easy. I build on a 10.7.5 system. Newer versions have differences in their toolchains and SDKs that don't support backwards compatibility back to Lion (some might be wxWidgets quicks & dependencies, perhaps not all Apple's fault). But "codesign" on Lion can't produce the newer signatures Apple started requiring somewhere around the Yosemite era. So my build script uses 2 different macs, one for compiling and one for signing and packaging. Getting the cert correctly installed with the proper keys and proper permissions in the keyrings on both macs is quite a fiddly process.

If you have a modern mac running Yosemite or later, or even Mountain Lion, please let me know how this beta works on your machine. Does it pass Gatekeeper with the settings only allow software from identified developers?

Jasoroony
01-16-2018, 07:47 AM
No longer important to this thread.

PaulStoffregen
01-16-2018, 07:53 AM
Can you try editing the file "C:\Programs Files (x86)\Arduino\arduino.l4j.ini" ? It should have these 2 lines:


-Xms128M
-Xmx512M

The second one with 512M is supposed to control the maximum heap memory. Does increasing this to 768 or 1024 or even 2048 make any difference?

Jasoroony
01-16-2018, 08:13 AM
No longer important to this thread.

Theremingenieur
01-16-2018, 08:20 AM
Install and test compile worked flawlessly on my 2011 MacBookPro, running High Sierra Beta 10.13.3 (17D34a). Gatekeeper config is default (only identified developers) and did not show up protesting or asking :)


Has anyone using Macintosh tried this beta? Are there any Gatekeeper "unidentified developer" warnings?

It seems to work fine on the 1 and only macbook air I have running the latest High Sierra. Would be really nice if anyone else with a modern Mac could confirm.

FWIW, the way I build the Mac version is, well, not quite the standard way Apple envisions. Installing the new cert was tricky. Teensyduino tries to support all Macs running all the way back to 10.7.5. Apple doesn't make that easy. I build on a 10.7.5 system. Newer versions have differences in their toolchains and SDKs that don't support backwards compatibility back to Lion (some might be wxWidgets quicks & dependencies, perhaps not all Apple's fault). But "codesign" on Lion can't produce the newer signatures Apple started requiring somewhere around the Yosemite era. So my build script uses 2 different macs, one for compiling and one for signing and packaging. Getting the cert correctly installed with the proper keys and proper permissions in the keyrings on both macs is quite a fiddly process.

If you have a modern mac running Yosemite or later, or even Mountain Lion, please let me know how this beta works on your machine. Does it pass Gatekeeper with the settings only allow software from identified developers?

PaulStoffregen
01-17-2018, 04:19 AM
I'm leaning towards releasing 1.41. If anyone knows of any serious issues or stuff I've forgotten, please speak up now. ;)

defragster
01-17-2018, 04:35 AM
Will IDE 1.9.0 install be supported? Is 1.9.0 close to leaving Beta? Or the next beta with Ctrl+F or other fixes?

As you don't normally support non-release builds perhaps just the use of the new builder like before?

PaulStoffregen
01-17-2018, 04:56 AM
Will IDE 1.9.0 install be supported? Is 1.9.0 close to leaving Beta?

All signs point to 1.9.0 beta continuing for quite a long time.

I'm debating whether to leave 1.9.0-beta34 support, or pull it and only officially support 1.8.5.



Or the next beta with Ctrl+F or other fixes?

You need to understand that's (so far) only on Martino's repository. Arduino hasn't merged it yet. There's no indication of when they will. It could be weeks or months, or it could be tomorrow.



As you don't normally support non-release builds perhaps just the use of the new builder like before?

Yeah, not sure what I'll do....

My main goal is to get 1.41 released soon, so everyone can start using the new MIDI stuff and have the many small fixes that have accumulated over the last few months.

defragster
01-17-2018, 05:33 AM
It seems wrapping it up so this code can get normal use, and you can get back to other things, would be best.

Supporting the current beta34 doesn't make sense since it could go away at any time. For those that have it - with no post 1.41b4 changes we can live with it as long as it works.

KurtE
01-17-2018, 01:34 PM
Sounds reasonable to go back to supporting just the released version of the IDE...

Not sure if you want to pick it up, but did fix the rumble support for the XBox 1 controller: Simple fix, there were a few bytes wrong in the packet I was sending.
https://github.com/PaulStoffregen/USBHost_t36/pull/16

Jasoroony
01-18-2018, 08:05 AM
No longer important to this thread.

defragster
01-18-2018, 08:16 AM
Hmm, I'll qualify that, happy to report it as a fact - but not happy to experience it, or happy that it exists.

I would agree though, my current understanding is that I need to download 1.9.0 beta, which I can't use, for release 1.41 - so what's currently on offer here isn't viable. So I'm unable to use the latest software on my paid-for Teensy. (perhaps, I don't know, unless I downgrade my 1.6.12 to something even earlier like the splash screen says.)

Does any one know if 1.8.5 has the same memory leak when scanning directories? I'm on limited bandwidth here and will not download it unless I know.

IDE 1.9.0 is NOT required - it is a temporary test feature (parallel builds). I've not seen any such errors in my use though.

Go back to current Release IDE build 1.8.5. Do a fresh ZIP install to a clean directory apart from SKETCHbook directory. Then Install fresh TeensyDuino ( 1.41 may release ... this week ). IDE 1.8.5 has been out for Months and should have lots of user miles from all over (Teensy user base and other) on it - any problems seen there should be checked against the Arduino bug base.

1.9.0 is in Beta and it is a JUMP in the feature set - 1.9.0 may be beta for months. PJRC only included to allow feature test - it is not ready for general use and isn't expected to be supported outside TD beta builds.

Jasoroony
01-18-2018, 08:25 AM
No longer important to this thread.

defragster
01-18-2018, 08:29 AM
Thanks defragster, perhaps I misunderstood this statement. I'll give 1.8.5 a go once I finish up with my fourth supported platform changes.

Yes, that was just for those wanting to work on the 1.9 IDE. Each TD released supports some multiple major prior versions that were RELEASED and stood the test of time ( not swapped quick for bugs ).

PaulStoffregen
01-18-2018, 12:09 PM
I dropped Arduino 1.9 beta support from the final 1.41 release. Clearly 1.9 beta is too buggy for any serious use.

Still not sure how we can better communicate the nature of beta tests to new users. It's unfortunate Jasoroony had such an unpleasant experience, but I'm pretty sure those memory leaks were from Arduino's new beta test code. 1.8.5 is very stable.


On a forum admin note, I've changed the forum config to disallow editing messages 2 hours after they are originally posted (was indefinite). The threshold to make edits before the "was edited" note appears has been lengthened to 10 minutes (was 5). I feel strongly that people need the ability to make minor corrections, fix typos, and so on. I personally do this on many of the messages I post. But I also feel strongly that once you've said something in public, you can't take it back, you can't go back and change history. Hopefully this time limit will also help with the spam problem where spambots post legit-looking messages by copying prior text from real users, then edit it days or weeks later to become spam after we're not longer watching the thread.

I would like to figure out what went so very wrong with Jasoroony's experience here on the forum. Does anyone know? It's difficult to figure out, with all his messages now effectively deleted.

Theremingenieur
01-18-2018, 12:29 PM
Just an idea to think about... What about changing the Teensyduino version numbering be always identical to the latest stable and supported Arduino release ? Thus, the TD1.41 would be called TD1.8.5a instead, so that following intermediate releases could take consecutive letters b, c, d...

PaulStoffregen
01-18-2018, 01:26 PM
That's an interesting idea, but it kind of goes against everything I try to do for software version numbers.

My main feeling is software version numbers are too complicated. I try to stay with only Major.Minor, where Major pretty much never changes. If there were a way to make it simpler yet still recognizable to people as a version number, I would love to do so.

Arduino has chosen to go with Major.Minor.Patch. I personally don't like it, but that is their decision. Years ago they posted quite a bit about following something call semantic versioning (https://semver.org/) as the justification. But it's pretty clear they're not actually following those guidelines. They're not incrementing the middle number for added features. They're also not making patch-level releases which only fix bugs without adding features, except for a couple cases like the recent update for compatibility with Macintosh High Sierra. For a while they were even appending another number on end, giving us 5 different releases which were all called "1.6.5".

While I do append "-beta#" for these beta tests, my overall goal is to keep things simple. My ultimate benchmark for version numbering is whether people unfamiliar with the software releases can clearly communicate. Even there, Teensyduino's versions cause some confusion when the last digit is a zero. Some people write "1.4" when the version is "1.40", meaning the 41st in the 1.xx series.

The last thing I want to do is add another number or letter or other designator. I know so many other software projects do this. My main objection is that I see people miscommunicate these version numbers. They're just too complicated for even fairly technically inclined people who aren't closely following or interested in that particular software's development.

KurtE
01-18-2018, 01:58 PM
I dropped Arduino 1.9 beta support from the final 1.41 release. Clearly 1.9 beta is too buggy for any serious use.

Still not sure how we can better communicate the nature of beta tests to new users. It's unfortunate Jasoroony had such an unpleasant experience, but I'm pretty sure those memory leaks were from Arduino's new beta test code. 1.8.5 is very stable.
...
I would like to figure out what went so very wrong with Jasoroony's experience here on the forum. Does anyone know? It's difficult to figure out, with all his messages now effectively deleted.
In the case of these beta releases. Maybe slightly changing the wording might have helped. I more or less assumed this beta required the Beta 1.9 Arduino to be used...

Since Arduino's 1.9 betas are a moving target, I've included copies of
beta build #34 which this Teensyduino version expects.

So that is what I did... But if you actually look at the exe when it launches it does list several other releases... Maybe mention at least some of the other major releases supported like the 1.8.5...

As for Jasoroony? I am not sure what happened? I know a few of us asked for the normal information, like which display and show the code... After he posted the code, I started to look at it, but was busy with a few other things, when I came back it was gone... I was going to ask a few questions and make a few suggestions, like ask if he tried running standard SPI code, like SPI.transfer to see if the problem he is experiencing shows up there as well. Also checking to see what the timing was at the start, maybe needed delay for device. orr again ask which display it is, such that maybe some of us already have one... But I guess it is too late for that now...

PaulStoffregen
01-18-2018, 02:35 PM
Good point on the wording. It does kinda say 1.9 is expected, when my intention was only to make sure everyone had exactly the same 1.9 which I used for building the installer. Next time (if there is a next time... who knows how long 1.9 beta will go, hopefully not 2+ years like they did for 1.5 beta) I'll be more careful in composing the message.

I saw he was missing the LiquidCrystal library at some point. At the time I downloaded a fresh copy of Arduino (admittedly the Linux version, not Windows) and couldn't reproduce the problem. I had lots of MIDI code open at the time, so didn't go any further with it.

Other than that LiquidCrystal issue, everything I can still see looks like he just grew increasingly frustrated with the bugs in Windows version of Arduino 1.9 beta. I see he said he was going to go back to 1.8.5, but looks like he didn't ever do that. It's kind of a shame, since 1.8.5 really is very stable, and these last couple TD betas are the very best we've ever had.


While I'm not going to go back and pull his messages from the logs, I do feel strongly that once something is said, it can't be unsaid. We really should have been using the time limit for edits all along (and also in hindsight, it could have been locking out one of our worse weaknesses that spammers exploit). Live & learn, I guess...

Now that 7 of us have capability to edit stuff, I do believe this may be a good moment to make sure none of us are silently making edits. I'll chat with Robin and we'll probably send out an email. But my general feeling when it comes to editing any post is "less is more", and if any of us does edit anything, there needs to be a pretty clear "edited by /name/ and the reason explained".

Theremingenieur
01-18-2018, 02:40 PM
At least as far as I know, it was nobody else but Jasoroony himself who edited his own posts...

KurtE
01-18-2018, 02:52 PM
So far I don't believe I have edited anyone else's posts but my own... I have been tempted at times to go in and put in code tags, but have resisted.

On the other forums which I was a moderator, if a user said something that was not appropriate, unless it was a some form of post that would typically get a user banned, the approach was to send a PM to the user, asking them to clean up their own post.

I do like the idea of time limits, although it may have some side effects, which may or may not be good. That is for example suppose, one of the senior contributors create a new thread to describe some major library or Teensyduino feature, like i2c_t3t3 or threading or USBHost Joysticks and wish for the first posting in the thread to contain information about the current state of the library/feature, such that they update this post each time they do a major upgrade to that code base... This might now longer work.

defragster
01-18-2018, 04:18 PM
I SEE a thread in moderation stream . . .

I see the user member+ designation is new - not sr or MOD?

PaulStoffregen
01-18-2018, 04:27 PM
Robin's updating the settings right now. It's supposed to display "Senior Member+". No actual change in forum settings.

defragster
01-18-2018, 09:12 PM
I too have thought adding a CODE tag would help a great deal to others posts . . . but not touched any but my own posts.

About 3 times going for a reply with quote - wrongly hit 'Edit' for another's post and had to cancel.

tonton81 did just note he couldn't make an edit . . . I've habitually updated mine with corrected info since a thread scan might otherwise share the wrong info I had/gave at that point.

Adding this will put it above the 'TD 1.41 released' - It would be nice if the 'Current Release' ( and Beta ? ) were made STICKY in announcements. Paul - is that something we could do?

zachtos
01-18-2018, 10:40 PM
I found a strange bug where my parallel strands of neopixel / ws2812b LED no longer work properly. A few of the LED have trouble changing color, so some kind of data corruption? It worked fine before this patch. I have no idea what I need to provide for code because the project is huge, but I use audio and many other library. If I can get it to replicate on a breadboard with small example I can send code, but no idea how to fix it except not use this version.