Or if you're willing to give "beta" code a try, it's all on Github. Several people have already used it for some great projects, despite the it's unofficial release status.
If you have a Teensy 3.0 or 3.1 board, I could sure use your feedback and help with testing some of this new stuff. There's a new DMAChannel object which is intended to make accessing the power DMA hardware easier (but you can still access the hardware registers through it, if you like), and to allow libraries using DMA to dynamically allocate channels to avoid conflicts.
IntervalTimer now supports setting the interrupt priority level, so you can cause your timer interrupt to interrupt almost all other interrupts, or set it to a low priority if you want something to run, but not block more urgent interrupts, or somewhere in between. The Freescale Kinetis chip supports 16 distinct interrupt priority levels, so you have a lot of flexibility to configure.
The FASTRUN attribute was added, so you can cause any function to be allocated in RAM (with zero wait states). Normally the flash memory is fine, but if you're using the extreme overclocking (enable by uncommenting lines in boards.txt), adding FASTRUN to the key functions makes them run faster. How much improvement this really makes is still a good question....
A high quality audio library is currently in development. At this early stage, it's very "beta", with no documentation other than the examples and conversation on this forum thread.
If you're interested in building projects with awesome audio, it might be worth a look now. Soon it'll be at a 1.0 release with real documentation.....
Maybe this is some subtle bug in Teensy's Wire library, which this simple test couldn't reveal? If you want me to investigate, you must post on the forum with complete code to reproduce the issue.
Those are from the i2c_t3 library. The Wire lib has only defs for the standard rates, 100 kHz, 400 kHz and 1 MHz. Just use i2c_t3 instead of Wire. But if you *really* want to use those non-standard rates with Wire instead of i2c_t3, just edit the Wire.setClock() function with number for the speed you want to the I2C0_F register. The very latest code (in 1.29-beta3) has new defines for the all the values with their actual division number (eg, I2C_F_DIV576) to make this easier.
Would you believe I just tested the speed against a few other boards. Here's the results.
https://github.com/01org/corelibs-arduino101/issues/166#issuecomment-229851730
Maybe this is some subtle bug in Teensy's Wire library, which this simple test couldn't reveal? If you want me to investigate, you must post on the forum with complete code to reproduce the issue.
https://forum.pjrc.com/forums/4-Suggestions-amp-Bug-Reports