From f5d3b41ae2873647d9dbd2e642217c3989d1b1a5 Mon Sep 17 00:00:00 2001 From: cpldcpu Date: Sun, 14 Feb 2016 01:52:46 +0100 Subject: firmware: Fix LED_INIT macro for active high --- Readme.txt | 2 + firmware/configuration/BitBoss/bootloaderconfig.h | 2 +- .../configuration/Nanite841/bootloaderconfig.h | 2 +- .../configuration/t167_default/bootloaderconfig.h | 2 +- .../configuration/t841_default/bootloaderconfig.h | 2 +- .../t85_aggressive/bootloaderconfig.h | 2 +- .../configuration/t85_default/bootloaderconfig.h | 2 +- firmware/releases/t167_default.hex | 80 +++++++++++----------- 8 files changed, 48 insertions(+), 46 deletions(-) diff --git a/Readme.txt b/Readme.txt index e85e82f..0d15d2c 100644 --- a/Readme.txt +++ b/Readme.txt @@ -119,6 +119,8 @@ Changes - Added page buffer clearing if a new block transfer is initiated. This fixes a critical, but extremely rare bug that could lead to bricking of the device if micronucleus is restarted after an USB error. + - #74 Fixed LED_INIT macro so it only modifies the DDR register bit of the LED. + (Thanks @russdill) Credits ======= diff --git a/firmware/configuration/BitBoss/bootloaderconfig.h b/firmware/configuration/BitBoss/bootloaderconfig.h index 0e6d6af..de35357 100644 --- a/firmware/configuration/BitBoss/bootloaderconfig.h +++ b/firmware/configuration/BitBoss/bootloaderconfig.h @@ -235,7 +235,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/configuration/Nanite841/bootloaderconfig.h b/firmware/configuration/Nanite841/bootloaderconfig.h index 930d9ef..c081aad 100644 --- a/firmware/configuration/Nanite841/bootloaderconfig.h +++ b/firmware/configuration/Nanite841/bootloaderconfig.h @@ -239,7 +239,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/configuration/t167_default/bootloaderconfig.h b/firmware/configuration/t167_default/bootloaderconfig.h index 106fe93..0eab4ee 100644 --- a/firmware/configuration/t167_default/bootloaderconfig.h +++ b/firmware/configuration/t167_default/bootloaderconfig.h @@ -243,7 +243,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/configuration/t841_default/bootloaderconfig.h b/firmware/configuration/t841_default/bootloaderconfig.h index 6dfe795..ed09e1d 100644 --- a/firmware/configuration/t841_default/bootloaderconfig.h +++ b/firmware/configuration/t841_default/bootloaderconfig.h @@ -235,7 +235,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/configuration/t85_aggressive/bootloaderconfig.h b/firmware/configuration/t85_aggressive/bootloaderconfig.h index 5cd1266..0af18f5 100644 --- a/firmware/configuration/t85_aggressive/bootloaderconfig.h +++ b/firmware/configuration/t85_aggressive/bootloaderconfig.h @@ -230,7 +230,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/configuration/t85_default/bootloaderconfig.h b/firmware/configuration/t85_default/bootloaderconfig.h index f86b3ac..9b3ac63 100644 --- a/firmware/configuration/t85_default/bootloaderconfig.h +++ b/firmware/configuration/t85_default/bootloaderconfig.h @@ -227,7 +227,7 @@ #define ACTIVE_LOW 2 #if LED_MODE==ACTIVE_HIGH - #define LED_INIT(x) LED_DDR = _BV(LED_PIN); + #define LED_INIT(x) LED_DDR |= _BV(LED_PIN); #define LED_EXIT(x) {LED_DDR &=~_BV(LED_PIN);LED_PORT &=~_BV(LED_PIN);} #define LED_MACRO(x) if ( x & 0x4c ) {LED_PORT&=~_BV(LED_PIN);} else {LED_PORT|=_BV(LED_PIN);} #elif LED_MODE==ACTIVE_LOW diff --git a/firmware/releases/t167_default.hex b/firmware/releases/t167_default.hex index a664128..b08cf3d 100644 --- a/firmware/releases/t167_default.hex +++ b/firmware/releases/t167_default.hex @@ -47,45 +47,45 @@ :103CE0008083239A2FEF85EA9EE021508040904008 :103CF000E1F700C0000023988AE580930F018FEF61 :103D000080930001ECE6F0E0808180648083E8E647 -:103D1000F0E08081826080830895DCDF82E084B9F6 -:103D2000712C312C412C512C84E6C5EDD4E193B19A -:103D3000987409F084E6815021F4109213011092D6 -:103D40000C01D99B05C09DDE82E08BBB712C03C0AA -:103D50002197209761F7A89522E032120CC0E0E08D -:103D6000FAE3E058F10983E080935700E895309733 -:103D7000C1F7412C512C832D803459F4F201329734 -:103D8000E1158AE3F80750F485E080935700E89541 -:103D900005C0843019F4CD2B11F4F1C0312C809181 -:103DA0001201835087FD9BC090910D019D3209F057 -:103DB00094C0883009F091C083EC809301018AE5BA -:103DC00080930F01909117019076809118019923AB -:103DD00079F1811108C084E09AE3909311018093F6 -:103DE000100126E06FC0813071F44114510409F4D0 -:103DF0004FC080911B018078482E50901C0181E1BA -:103E000087BFE89545C0833081F480911901909176 -:103E10001A014BDF80911B0190911C0146DF842D1C -:103E20008F77B1F580E4382E33C08F73382E30C0D1 -:103E30009091190110920A01811106C010920B0194 -:103E40008AE091E022E03AC0853019F490931301A2 -:103E500027C08630F9F480911A01813019F48CE181 -:103E60009AE304C0823041F48AE09AE3909311010E -:103E70008093100122E126C0833051F4911108C0D3 -:103E80008EE29AE3909311018093100124E01AC00E -:103E900020E018C0883079F0893031F49093150112 -:103EA0008AE091E020E00AC021E08A3009F020E0B9 -:103EB0008AE091E003C085E191E021E09093110157 -:103EC0008093100180911E01811105C080911D0118 -:103ED000821708F4282F209300011092120180917C -:103EE0000F0184FF31C0809100018F3F69F1C82F1D -:103EF000893008F0C8E08C1B80930001809101019B -:103F000098E8892780930101CC2391F0E09110017A -:103F1000F091110182E091E0DC0124912D93319622 -:103F20002C2F280F2A13F9CFF0931101E0931001E1 -:103F30006C2F82E091E0A1DDCC5FCC3019F08FEFE7 -:103F400080930001C0930F01C30101963C01803BA7 -:103F5000944029F4EDEFF9E3E491EF3F81F4862DED -:103F60008C7411F0299801C0299AD99BDDCE8CE17F -:103F70001B9B8CE18150E1F782E08BBBD5CE219871 -:103F80002998A8DE1092680010926C0037CDFFCF00 +:103D1000F0E08081826080830895DCDF219A712C3D +:103D2000312C412C512C84E6C5EDD4E193B198742B +:103D300009F084E6815021F41092130110920C01D5 +:103D4000D99B05C09EDE82E08BBB712C03C02197FE +:103D5000209761F7A89522E032120CC0E0E0FAE368 +:103D6000E058F10983E080935700E8953097C1F758 +:103D7000412C512C832D803459F4F2013297E115F6 +:103D80008AE3F80750F485E080935700E89505C072 +:103D9000843019F4CD2B11F4F1C0312C8091120133 +:103DA000835087FD9BC090910D019D3209F094C016 +:103DB000883009F091C083EC809301018AE58093FB +:103DC0000F0190911701907680911801992379F154 +:103DD000811108C084E09AE390931101809310014F +:103DE00026E06FC0813071F44114510409F44FC0D2 +:103DF00080911B018078482E50901C0181E187BF83 +:103E0000E89545C0833081F48091190190911A01A1 +:103E10004CDF80911B0190911C0147DF842D8F772F +:103E2000B1F580E4382E33C08F73382E30C09091B6 +:103E3000190110920A01811106C010920B018AE04B +:103E400091E022E03AC0853019F49093130127C025 +:103E50008630F9F480911A01813019F48CE19AE3EB +:103E600004C0823041F48AE09AE390931101809378 +:103E7000100122E126C0833051F4911108C08EE276 +:103E80009AE3909311018093100124E01AC020E07E +:103E900018C0883079F0893031F4909315018AE0A8 +:103EA00091E020E00AC021E08A3009F020E08AE0B9 +:103EB00091E003C085E191E021E0909311018093AE +:103EC000100180911E01811105C080911D01821792 +:103ED00008F4282F209300011092120180910F0105 +:103EE00084FF31C0809100018F3F69F1C82F893074 +:103EF00008F0C8E08C1B809300018091010198E8D4 +:103F0000892780930101CC2391F0E0911001F09179 +:103F1000110182E091E0DC0124912D9331962C2F48 +:103F2000280F2A13F9CFF0931101E09310016C2FA1 +:103F300082E091E0A2DDCC5FCC3019F08FEF80936E +:103F40000001C0930F01C30101963C01803B9440E6 +:103F500029F4EDEFF9E3E491EF3F81F4862D8C74C1 +:103F600011F0299801C0299AD99BDDCE8CE11B9BC9 +:103F70008CE18150E1F782E08BBBD5CE2198299866 +:0E3F8000A9DE1092680010926C0038CDFFCFC1 :0400000300003A00BF :00000001FF -- cgit v1.2.3