1.1.3 - Wire space improvements, new timer configuration options, and more
This should be an exciting release for all users. Thanks to the work of Krzysztof Adamski we have some improvements in compiled sketch size, particularly when using the Wire library. This makes Wire usable on the 8-pin parts. There was a smaller improvement to sketch size globally. This version also corrects the calculation for UART baud rate from the manufacturer supplied error values - previously this was straight up wrong, and could result in baud rates being calculated incorrectly. This release also includes a few bugfixes relating to pwm channels at 100% duty cycle and adds an option to disable use of the DAC for analogWrite output on chips that support it in order to save flash when this feature is not used.
The big "feature" of this release is an expansion of the millis()/micros() menu. Previously, TCA0 was used for millis on all parts. This had the unfortunate consequence that one could not take over TCA0 for other tasks. Now, on the 412/212/1614/814/414/214, which don't use TCD0 for PWM, we use that for millis() by default. Additionally, the millis()/micros() menu now allows you to force millis() to use a specific timer - TCA0, TCB0 (this takes out tone and servo), TCD0 (takes out two PWM pins on 20 and 24-pin parts), or TCB1 (1614/1616/3216/1617/3217 only). Most users won't use this, but if you need to take over a timer, it's great. Future releases will support using the RTC for millis (micros will not be supported) clocked at 32..768kHz from external watch crystal or ULP, leaving millis() available and all of the "useful" timers available for whatever use you have in mind.
Please keep your eyes out for issues - and remember, we have new breakout boards available in my tindie store, including ones preloaded with optiboot so you don't need a UPDI programmer - proceeds support continued core development: https://www.tindie.com/stores/drazzy/
This is the version for board manager installation.