summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcpldcpu <cpldcpu@gmail.com>2016-02-14 01:52:46 +0100
committercpldcpu <cpldcpu@gmail.com>2016-02-14 01:52:46 +0100
commitf5d3b41ae2873647d9dbd2e642217c3989d1b1a5 (patch)
tree7c6568b73b3fcc37a8f1e97ecb1178e34646c0a9
parent24d371d5e75bf55a70a412a9f544a19614ff56f4 (diff)
downloadmicronucleus-f5d3b41ae2873647d9dbd2e642217c3989d1b1a5.tar.gz
micronucleus-f5d3b41ae2873647d9dbd2e642217c3989d1b1a5.tar.bz2
micronucleus-f5d3b41ae2873647d9dbd2e642217c3989d1b1a5.zip
firmware: Fix LED_INIT macro for active high
-rw-r--r--Readme.txt2
-rw-r--r--firmware/configuration/BitBoss/bootloaderconfig.h2
-rw-r--r--firmware/configuration/Nanite841/bootloaderconfig.h2
-rw-r--r--firmware/configuration/t167_default/bootloaderconfig.h2
-rw-r--r--firmware/configuration/t841_default/bootloaderconfig.h2
-rw-r--r--firmware/configuration/t85_aggressive/bootloaderconfig.h2
-rw-r--r--firmware/configuration/t85_default/bootloaderconfig.h2
-rw-r--r--firmware/releases/t167_default.hex80
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