Skip to content

Releases: SpenceKonde/megaTinyCore

2.1.3 - Critical fixes to 2.1.x

13 Oct 00:53
Compare
Choose a tag to compare

Yup, another one, this time for the 8-pin parts, where serial was broken and "burn bootloader" was broken for non-optiboot parts...

This is the version for board manager installation.

2.1.2 - Critical fixes for 2.1.0

12 Oct 14:26
Compare
Choose a tag to compare

There were a few lines somehow missing from the xy6 (20-pin) boards.txt file, rendering those parts unusable. This fixes those critical problems.

This is the version for manual installation

2.1.2 - Another critical fix

12 Oct 14:15
Compare
Choose a tag to compare

There was a second line that hosed upload (instead of compile) missing from the 20-pin non-optiboot definition in boards.txt...

Need to get the CI tests running.... and need to write a script that generates boards.txt. Hand editing an 80kb text file in octuplicate is not something humans are good at...

2.1.1 - Fix for critical regression in 2.1.0

12 Oct 06:28
Compare
Choose a tag to compare

A change added near the end of development broke all compilation on 20-pin parts because something went wrong with my mass-add techniques for adding entries to boards.txt. This is utterly unmaintainable. I need to make a script to generate boards.txt entries - at least to get them to all have the same organization, you know?!

And I definitely need to get CI working too...

2.1.0 - HUGE release! Tons of improvements!

11 Oct 00:55
Compare
Choose a tag to compare

This is probably the largest release in a very long time!
Here are some of the many highlights - See the Changelog for the full list:

  • Support for SD Cards! Apparently special versions of SDFat and/or PetiteFS are still needed, if you happen to need those (see #226 ) - we need to get those changes merged into the upstream to make life easier on people.... but it is now possible!
  • Support for external CLOCK (not crystal - these parts don't support that). Included support for overclocking, because why not? I don't know if we'll see 32. I won't get hardware to test with until my new boards are back from the board house... but 24 is pretty much a sure thing, at least at room temperature and 5v.
  • Support for disabling "SerialEvent" to save flash and clock cycles between loops for a poorly conceived feature that virtually nobody uses. It is disabled by default, and leaving it that way is strongly encouraged; don't use SerialEvent, it's an abomination.
  • Updated tinyNeoPixel to include some features Adafruit added to their version in the past few years.
  • Updated Logic library - not only does it now WORK, I added some examples to give a taste of what it's capable of...
  • Clarified which options in Tools menu require burning bootloader to work
  • With a heavy heart, I abandoned the dream of getting rid of __FlashStringHelper. In the name of library compatibility, F() now behaves like it does on classic AVRs, with all it's unnecessary inefficiency - but on the plus side, all the libraries that didn't work because of this will now work. Future updates will hopefully make this more efficient - ( #243 )
  • Fixed some issues with certain programmers (it helps that now I understand what the alphabet soup Microchip sells means)
  • Thanks to @WestfW, writing to flash by calling into Optiboot now works!
  • EEPROM library is fixed, this should also fix issues with EEPROM being lost, as well. Writing to the USERROW is moved into new USERSIG library (from the alternate name for that memory, User Signature - we couldn't have the object named USERROW since the io headers use that one.
    And much, much more! Like I said, HUGE release!
    This is the version for manual installation.

2.1.0 - HUGE release! Tons of improvements!

10 Oct 23:40
Compare
Choose a tag to compare

This is probably the largest release in a very long time!
Here are some of the many highlights - See the Changelog for the full list:

  • Support for SD Cards! Apparently special versions of SDFat and/or PetiteFS are still needed, if you happen to need those (see #226 ) - we need to get those changes merged into the upstream to make life easier on people.... but it is now possible!
  • Support for external CLOCK (not crystal - these parts don't support that). Included support for overclocking, because why not? I don't know if we'll see 32. I won't get hardware to test with until my new boards are back from the board house... but 24 is pretty much a sure thing, at least at room temperature and 5v.
  • Support for disabling "SerialEvent" to save flash and clock cycles between loops for a poorly conceived feature that virtually nobody uses. It is disabled by default, and leaving it that way is strongly encouraged; don't use SerialEvent, it's an abomination.
  • Updated tinyNeoPixel to include some features Adafruit added to their version in the past few years.
  • Updated Logic library - not only does it now WORK, I added some examples to give a taste of what it's capable of...
  • Clarified which options in Tools menu require burning bootloader to work
  • With a heavy heart, I abandoned the dream of getting rid of __FlashStringHelper. In the name of library compatibility, F() now behaves like it does on classic AVRs, with all it's unnecessary inefficiency - but on the plus side, all the libraries that didn't work because of this will now work. Future updates will hopefully make this more efficient - ( #243 )
  • Fixed some issues with certain programmers (it helps that now I understand what the alphabet soup Microchip sells means)
  • Thanks to @WestfW, writing to flash by calling into Optiboot now works!
  • EEPROM library is fixed, this should also fix issues with EEPROM being lost, as well. Writing to the USERROW is moved into new USERSIG library (from the alternate name for that memory, User Signature - we couldn't have the object named USERROW since the io headers use that one.
    And much, much more! Like I said, HUGE release!
    This is the version for board manager installation.

2.0.5 - quick fix to exported binary name bug from 2.0.4

08 Jul 07:19
Compare
Choose a tag to compare

This release fixes a bug in the names of exported binaries and assembly listings introduced by 2.0.4. Also, the guide to advanced ADC functions and free running mode was completed.

This is the version for manual installation.

2.0.5 - quick fix to exported binary name bug from 2.0.4

08 Jul 07:23
Compare
Choose a tag to compare

This release fixes a bug in the names of exported binaries and assembly listings introduced by 2.0.4. Also, the guide to advanced ADC functions and free running mode was completed.

This is the version for board manager installation.

2.0.4 - New toolchain version, tons of fixes and enhancements!

07 Jul 09:23
Compare
Choose a tag to compare

The biggest change here is the switch to new and improved compiler toolchain. This fixes a few odd errors, most notably the 'relocation truncated to fit: R_AVR_13_PCREL against symbol tablejump2' error shown when a sketch was too large on a part that used RJMP (ie, 8k or less of flash). This also includes a bugfix for eeprom.h (this is the builtin <avr/eeprom.h> one, not EEPROM.h) where the eeprom_is_busy() macro it provided would throw a compile error on these parts because it referred to registers that don't exist here. We have also updated the datasheets to the latest versions. The header files and datasheets contained another big surprise - a bunch of the BOD settings were removed! According to Microchip ATpack release notes, these were "unqualified" BOD settings. Now, only 1.8, 2.7 and 4.3 are "official" - these correspond to 5MHz, 10MHz and 20MHz guaranteed operating speeds. Accordingly, the menu was updated to list the official ones and the speeds they are guaranteed for; the "unqualified" ones (which seemed to work for me!) were marked as such. They are not guaranteed to work, and may vanish in future silicon revisions.
This version also introduced improved naming of exported binaries and assembler listings - the name now includes everything that could effect the .hex output. As part of this initiative, it was discovered that the attempt to delete merged hex files could result in failure to export compiled binary on some linux platforms (#201) because such merged hex files were not created for non-optiboot board definitions (and never got deleted on optiboot ones, by design).
And some other assorted fixes:

  • Significant documentation improvements, including a page listing errata and table of which applies to what parts... as there are unfortunately a lot of errata in some of these parts!
  • Improve backwards compatibility of Wire.h (#203)
  • Fix strange bug in EEPROM.h that was somehow missed (note that there is still #200 which I don't know how to fix)
  • Possibly fix #189 (timing glitches when TCA0 used as millis timing source)
  • Fix problem with millis not being entirely disabled when set to be disabled.
  • Ever so slightly improve baud rate accuracy, reduce space taken by Serial.begin() by a few bytes.
  • Fix compile error from Tone() on parts without a second type B timer (ie, everything not a 1614, 3216, 1616, 3217, or 1617) when TCB0 was selected as a millis source. (part of #189)
  • Correct bug in micros() timekeeping when TCA0 is used as millis() timing source (introduced in 1.1.9 - after the exhausive testing for these sorts of issues) (#189)

2.0.4? Apparently I thought I'd released 2.0.3 over a month ago! Oops...

This is the version for manual installation.

2.0.4 - New toolchain version, tons of fixes and enhancements!

07 Jul 09:31
Compare
Choose a tag to compare

The biggest change here is the switch to new and improved compiler toolchain. This fixes a few odd errors, most notably the 'relocation truncated to fit: R_AVR_13_PCREL against symbol tablejump2' error shown when a sketch was too large on a part that used RJMP (ie, 8k or less of flash). This also includes a bugfix for eeprom.h (this is the builtin <avr/eeprom.h> one, not EEPROM.h) where the eeprom_is_busy() macro it provided would throw a compile error on these parts because it referred to registers that don't exist here. We have also updated the datasheets to the latest versions. The header files and datasheets contained another big surprise - a bunch of the BOD settings were removed! According to Microchip ATpack release notes, these were "unqualified" BOD settings. Now, only 1.8, 2.7 and 4.3 are "official" - these correspond to 5 MHz, 10 MHz and 20 MHz guaranteed operating speeds. Accordingly, the menu was updated to list the official ones and the speeds they are guaranteed for; the "unqualified" ones (which seemed to work for me!) were marked as such. They are not guaranteed to work, and may vanish in future silicon revisions.
This version also introduced improved naming of exported binaries and assembler listings - the name now includes everything that could effect the .hex output. As part of this initiative, it was discovered that the attempt to delete merged hex files could result in failure to export compiled binary on some linux platforms (#201) because such merged hex files were not created for non-optiboot board definitions (and never got deleted on optiboot ones, by design).
And some other assorted fixes:

  • Significant documentation improvements, including a page listing errata and table of which applies to what parts... as there are unfortunately a lot of errata in some of these parts!
  • Improve backwards compatibility of Wire.h (#203)
  • Fix strange bug in EEPROM.h that was somehow missed (note that there is still #200 which I don't know how to fix)
  • Possibly fix #189 (timing glitches when TCA0 used as millis timing source)
  • Fix problem with millis not being entirely disabled when set to be disabled.
  • Ever so slightly improve baud rate accuracy, reduce space taken by Serial.begin() by a few bytes.
  • Fix compile error from Tone() on parts without a second type B timer (ie, everything not a 1614, 3216, 1616, 3217, or 1617) when TCB0 was selected as a millis source. (part of #189)
  • Correct bug in micros() timekeeping when TCA0 is used as millis() timing source (introduced in 1.1.9 - after the exhausive testing for these sorts of issues) (#189)

2.0.4? Apparently I thought I'd released 2.0.3 over a month ago! Oops...

This is the version for board manager installation.