From ca6393098d9befbdced795732f73f8271f303cba Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 20 Mar 2017 20:01:15 -0400 Subject: [PATCH 1/3] optimize writeUnitName (-130 bytes) --- src/Arduboy2.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Arduboy2.cpp b/src/Arduboy2.cpp index e3666bb..d64fe8b 100644 --- a/src/Arduboy2.cpp +++ b/src/Arduboy2.cpp @@ -962,17 +962,14 @@ void Arduboy2Base::writeUnitName(char* name) for (uint8_t src = 0; src < ARDUBOY_UNIT_NAME_LEN; src++) { - if (name[src] != 0x00 && !done) - { - EEPROM.update(dest, name[src]); - } - else - { + if (name[src] == 0x00) { done = true; - EEPROM.update(dest, 0x00); } + // write character or 0 pad if finished + EEPROM.update(dest, done ? 0x00 : name[src]); dest++; } + } void Arduboy2Base::swap(int16_t& a, int16_t& b) From 8f462387c55bd8b5f5de0f2f4b612721ffae01e6 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 20 Mar 2017 20:28:51 -0400 Subject: [PATCH 2/3] optimize readUnitName (-6 bytes) --- src/Arduboy2.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Arduboy2.cpp b/src/Arduboy2.cpp index d64fe8b..21609c3 100644 --- a/src/Arduboy2.cpp +++ b/src/Arduboy2.cpp @@ -943,12 +943,12 @@ uint8_t Arduboy2Base::readUnitName(char* name) for (dest = 0; dest < ARDUBOY_UNIT_NAME_LEN; dest++) { - if ((val = EEPROM.read(src)) == 0x00 || (byte)val == 0xFF) - { - break; - } + val = EEPROM.read(src); name[dest] = val; src++; + if (val == 0x00 || (byte)val == 0xFF) { + break; + } } name[dest] = 0x00; From 1b95f1ce8fffd1a4e56fb822c585bfb9750e4af3 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Tue, 21 Mar 2017 14:15:20 -0400 Subject: [PATCH 3/3] Remove extra 50ms delay added by de1725 Removes the 50ms debounce delay that was added when we allow the boot logo to be skipped by reducing the boot logo delay by 50ms. --- src/Arduboy2.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Arduboy2.cpp b/src/Arduboy2.cpp index 21609c3..3ae0e74 100644 --- a/src/Arduboy2.cpp +++ b/src/Arduboy2.cpp @@ -121,7 +121,7 @@ void Arduboy2Base::bootLogo() } } - delay(750); + delay(700); digitalWrite(BLUE_LED, RGB_OFF); bootLogoExtra();