Releases: SpenceKonde/megaTinyCore
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 manual installation.
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.
1.1.2 - Bugfix release
This fix resolves a critical regression present in 1.1.1 which prevented compiling for 24-pin parts (x07 and x17) under 1.1.1 (note also that compilation for all parts was broken in the board manager version in 1.1.0). This also contains a fix for PWM output on pin 10 (PA3) of the 14-pin parts (x04 and x14) under 1.1.1 and all previous releases, and an issue with the EESAVE configuration option for all parts except the 20-pin parts (x06 and x16) since 1.1.0.
This is the version for board manager installation.
1.1.2 - Bugfix release
This fix resolves a critical regression present in 1.1.1 which prevented compiling for 24-pin parts (x07 and x17) under 1.1.1 (note also that compilation for all parts was broken in the board manager version in 1.1.0). This also contains a fix for PWM output on pin 10 (PA3) of the 14-pin parts (x04 and x14) under 1.1.1 and all previous releases, and an issue with the EESAVE configuration option for all parts except the 20-pin parts (x06 and x16) since 1.1.0.
This is the version for manual installation.
Optiboot, take two - and more!
Well, 1.1.0 suffered some kitting problems and was pretty much DOA. It shows the care and attention paid to testing the board manager releases over here. 1.1.1 fixes the bugs that made 1.1.0 unusable in board manager release, and the missing bootloader file for the xy4 with reset enabled is now present. But this isn't just a bugfix release- this also fortuitously pulled in a couple of additional exciting changes:
- Add support for printf to printable library (#112)
- Add menus for I2C and SPI pin mapping (#110)
- Correct bug with UART pin mapping menu and xy4/xy6/xy7 Optiboot board definitions
- Correct bug with digitalPinHasPWM macro on xy2
- Add the PIN_Pxn defines, which resolve to the arduino pin number of the specified pin.
- Various documentation enhancements, including an expanded section on Optiboot
- Update datasheet links to point to latest dataheet version. This should get rid of all the preliminary datasheet links.
- Add row in entry in part-specific doc pages listing available flash after installing Optiboot on all parts
This is the version for manual installation..
1.1.1 - Optiboot, and fix for the mysterious kitting issue in 1.1.0
Well, 1.1.0 suffered some kitting problems and was pretty much DOA. It shows the care and attention paid to testing the board manager releases over here. 1.1.1 fixes the bugs that made 1.1.0 unusable in board manager release, and the missing bootloader file for the xy4 with reset enabled is now present. But this isn't just a bugfix release- this also fortuitously pulled in a couple of additional exciting changes:
- Add support for printf to printable library (#112)
- Add menus for I2C and SPI pin mapping (#110)
- Correct bug with UART pin mapping menu and xy4/xy6/xy7 Optiboot board definitions
- Correct bug with digitalPinHasPWM macro on xy2
- Add the PIN_Pxn defines, which resolve to the arduino pin number of the specified pin.
- Various documentation enhancements, including an expanded section on Optiboot
- Update datasheet links to point to latest datasheet version. This should get rid of all the preliminary datasheet links.
- Add row in entry in part-specific doc pages listing available flash after installing Optiboot on all parts.
This is the version for board manager installation
1.1.0 - Optiboot Bootloader Support
The moment we have all been waiting for it here - Optiboot support on megaTinyCore. Optiboot is supported on all parts, as a normal serial bootloader. It can be uploaded with the UPDI pin still set to reset (in this case, you unplug and replug to start bootloader), or with the UPDI pin set to work as reset so the standard autoreset circuit can be used. Warning: In the latter case, you can no longer program the chip via UPDI, including to return it to it's original state - an HV programmer is needed. Be sure you know what you're getting into when you load the UPDI-pin-as-reset version of the bootloader. Note also the version you get with UPDI as reset does NOT run after power on reset, only external and software reset, and only for 1 second. Ie, like a normal pro mini or similar.
This release also introduces some other new features:
- U(S)ART pin selection from the tools menu for parts other than the 8-pin ones
- The Logic library for interfacing with the built-in configurable custom logic (CCL) units
- Enhanced pinout diagrams and documentation
- Fix mEDBG on ATtiny416 Xplained Nano
- Fix EESAVE option, which was backwards
This is the zip file for manual installation
1.1.0 - Optiboot Bootloader Support
The moment we have all been waiting for it here - Optiboot support on megaTinyCore. Optiboot is supported on all parts, as a normal serial bootloader. It can be uploaded with the UPDI pin still set to reset (in this case, you unplug and replug to start bootloader), or with the UPDI pin set to work as reset so the standard autoreset circuit can be used. Warning: In the latter case, you can no longer program the chip via UPDI, including to return it to it's original state - an HV programmer is needed. Be sure you know what you're getting into when you load the UPDI-pin-as-reset version of the bootloader. Note also the version you get with UPDI as reset does NOT run after power on reset, only external and software reset, and only for 1 second. Ie, like a normal pro mini or similar.
This release also introduces some other new features:
- U(S)ART pin selection from the tools menu for parts other than the 8-pin ones
- The Logic library for interfacing with the built-in configurable custom logic (CCL) units
- Enhanced pinout diagrams and documentation
- Fix mEDBG on ATtiny416 Xplained Nano
- Fix EESAVE option, which was backwards
This is the version for board manager installation
1.0.6 - Bugfixes
This fixes a number of bugs, and has some improvements in documentation.
- Fix PWM on pin 1 of 8-pin parts, where PWM could not be turned off after analogWrite() was used.
- Fix compatibility issue with Wire.h and some libraries that work on classic AVR boards
- Add NUM_DIGITAL_PINS defines that were missing for the 20 and 24 pin parts. This macro is not used by the core, but third party code may rely on those defines being present.
We will be getting bootloaders in the next release - get excited!
This is the version for manual installation.
1.0.6 - Bugfixes
This fixes a number of bugs, and has some improvements in documentation.
- Fix PWM on pin 1 of 8-pin parts, where PWM could not be turned off after analogWrite() was used.
- Fix compatibility issue with Wire.h and some libraries that work on classic AVR boards
- Add NUM_DIGITAL_PINS defines that were missing for the 20 and 24 pin parts. This macro is not used by the core, but third party code may rely on those defines being present.
We will be getting bootloaders in the next release - get excited!
This is the version for board manager installation