PDA

View Full Version : Teensyduino 1.14 Release Candidate #2 Available



Paul
05-22-2013, 12:02 AM
Here is a 2nd release candidate for Teensyduino 1.14:


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



Please give this a try and report any bugs. Try to include a sample program that reproduces the problem!

PaulStoffregen
05-22-2013, 12:12 AM
Changes since 1.14-rc1 (http://forum.pjrc.com/threads/23582-Teensyduino-1-14-Release-Candidate-1-Available):


Support for Arduino 1.0.5.

Optimize Serial.readBytes(), both Teensy 2.0 and 3.0.

Optimize Serial.available() on Teensy 3.0.

Added IntervalTimer destructor.

Added String c_str() function.

Removed ArdOSC library.

DmxSimple library support for Teensy 2.0 and 3.0 (previously only Teensy++ 2.0 worked)

Fixed FastSPI compile problem on Teensy 2.0 and Teensy++ 2.0.

Update MIDI library to version 3.2.

Fixed error highlighting when using Teensy 3.0.

Improved recompile speed when Arduino is installed in a location with space in the pathname.

Improved automatic initialization of the Teensy 3.0 RTC, when a 32.768 kHz crystal is present.

Madox
05-23-2013, 10:19 AM
Changes since 1.14-rc1 (http://forum.pjrc.com/threads/23582-Teensyduino-1-14-Release-Candidate-1-Available):
Support for Arduino 1.0.5.

Optimize Serial.readBytes(), both Teensy 2.0 and 3.0.

Optimize Serial.available() on Teensy 3.0.


Wow!

USB Serial really has been vastly improved.

Might be a late request - Can you expand AnalogWrite to the pins on the reverse side that's supported by the K20 [Teensy3] pretty please? [With sugar on top?]

Edit : https://plus.google.com/114506261366431391535/posts/9KRfnJNv1QL <--- Using the new USB Serial to write a GIF to a 1.8" TFT

PaulStoffregen
05-23-2013, 04:15 PM
Might be a late request - Can you expand AnalogWrite to the pins on the reverse side that's supported by the K20 [Teensy3] pretty please? [With sugar on top?]


For 1.14, at this late stage I'm only including bug fixes. But this might be possible for 1.15....

Please post this as a new topic on the suggestions forum (http://forum.pjrc.com/forums/4-Suggestions-amp-Bug-Reports) and we'll chat there about the details.

On that video, are you use Serial.readBytes() or Serial.available() & Serial.read()? If you have a lot of spare time (yeah, who does) it's be really awesome to see a video with a before vs after using 1.13 and 1.14. I'm planning to publish an article in a couple weeks with benchmarks, so if you make such a video I would certainly link to it as an example.

Madox
05-23-2013, 06:05 PM
Serial available then serial read... I wish I could have a 128x160 buffer... (I might try with a 128 byte readbytes too..)

I have the old Teensy installation from before so should be quick to load it up, will do so in around 14 hours :)

PaulStoffregen
05-23-2013, 06:46 PM
Serial available then serial read... I wish I could have a 128x160 buffer... (I might try with a 128 byte readbytes too..)


If you liked this speedup, you'll *really* like the readBytes() speedup! The normal available/read is only about 2X faster. But readBytes() increased by about 12X, which leaves lots of CPU time free for your code, even during sustained receiving at the maximum rate limited by the USB full speed.



I have the old Teensy installation from before so should be quick to load it up, will do so in around 14 hours :)

Nice! No hurry on that. I'm imagining publishing a nice benchmarks article in about 2 weeks.

Madox
05-25-2013, 12:23 PM
If you liked this speedup, you'll *really* like the readBytes() speedup! The normal available/read is only about 2X faster. But readBytes() increased by about 12X, which leaves lots of CPU time free for your code, even during sustained receiving at the maximum rate limited by the USB full speed.

Nice! No hurry on that. I'm imagining publishing a nice benchmarks article in about 2 weeks.

Horrible (and short) video :-
https://plus.google.com/114506261366431391535/posts/dNj2sRjQ93o

Using Serial.read()
Ard 1.0.3 - Teensyduino <=1.13 = 12 fps ~= 490kB/s
Ard 1.0.5 - Teensyduino =1.14 RC2 = 16 fps ~=655kBs

Using Serial.readBytes() with 64 byte buffer
Ard 1.0.5 - Teensyduino =1.14 RC2 = 22 fps ~= 900kB/s

I'm writing out a full frame buffer of 128x160*2 bytes out using pyserial.
Teensy receives the buffer and writes it to SPI to drive the display.

Madox
05-25-2013, 12:28 PM
https://plus.google.com/114506261366431391535/posts/Y2wDW9AZF8P

Picture of the rig :)

Using two identical Carambola2's with same image and same test script to drive the Teensys which are programmed with different versions of Teensyduino ;)

Madox
05-26-2013, 06:20 AM
https://plus.google.com/u/0/114506261366431391535/posts/K8dqEn62heu

Slightly better video comparison.
24fps ~= 983kB/s