From 2ca4aca4b8795999a6e2e7aa0168c2b8cd610257 Mon Sep 17 00:00:00 2001 From: Spence Konde Date: Tue, 21 Dec 2021 20:14:22 -0500 Subject: [PATCH] Fix #575 --- ChangeLog.md | 5 ++++- megaavr/cores/megatinycore/WInterrupts.c | 6 +++--- megaavr/platform.txt | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 74f8a8e6..2b127500 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -5,13 +5,16 @@ This page documents (nearly) all bugfixes and enhancements that produce visible Changes listed here are checked in to GitHub ("master" branch unless specifically noted; this is only done when a change involves a large amount of work and breaks the core in the interim, or where the change is considered very high risk, and needs testing by others prior to merging the changes with master). These changes are not yet in any "release" nor can they be installed through board manager, only downloading latest code from github will work. These changes will be included in the listed version, though planned version numbers may change without notice - critical fixes may be inserted before a planned release and the planned release bumped up a version, or versions may go from patch to minor version depending on the scale of changes. ### Planed 2.5.x -* Make software serial suck somewhat less by performing a single bitwise-and to calculate the result of the modulo operator, instead of dividing a 2-byte signed value which we know will never be larger than twice the buffer size (of 64) and hence fits in a single unsigned byte. ### Ongoing * Port enhanced documentation from DxCore. ## Released Versions +## 2.5.3 +* **CRITICAL BUGFIX** Serial-using sketches wouldfail to compile if they were large enough. +* Make software serial suck somewhat less by performing a single bitwise-and to calculate the result of the modulo operator, instead of dividing a 2-byte signed value which we know will never be larger than twice the buffer size (of 64) and hence fits in a single unsigned byte. + ## 2.5.2 * **CRITICAL BUGFIX** - burn bootloader was broken on most parts. diff --git a/megaavr/cores/megatinycore/WInterrupts.c b/megaavr/cores/megatinycore/WInterrupts.c index 45ca9a4b..72b8ba07 100644 --- a/megaavr/cores/megatinycore/WInterrupts.c +++ b/megaavr/cores/megatinycore/WInterrupts.c @@ -232,8 +232,8 @@ "push r1" "\n\t" "push r16" "\n\t" "ldi r16, 0" "\n\t" + "jmp AttachedISR" "\n\t" ::); - isrBody(); __builtin_unreachable(); } #endif @@ -243,8 +243,8 @@ "push r1" "\n\t" "push r16" "\n\t" "ldi r16, 2" "\n\t" + "jmp AttachedISR" "\n\t" ::); - isrBody(); __builtin_unreachable(); } #endif @@ -254,8 +254,8 @@ "push r1" "\n\t" "push r16" "\n\t" "ldi r16, 4" "\n\t" + "jmp AttachedISR" "\n\t" ::); - isrBody(); __builtin_unreachable(); } #endif diff --git a/megaavr/platform.txt b/megaavr/platform.txt index 13bf16a0..4d2bc49d 100644 --- a/megaavr/platform.txt +++ b/megaavr/platform.txt @@ -7,7 +7,7 @@ name=megaTinyCore versionnum.major=2 versionnum.minor=5 -versionnum.patch=2 +versionnum.patch=3 versionnum.postfix= versionnum.released=1