diff --git a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp index fafd7002a..bdc196ebe 100644 --- a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp +++ b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp @@ -102,6 +102,7 @@ namespace Open9xGruvin9x { #include "radio/src/gui/9X/view_statistics.cpp" #include "radio/src/gui/9X/view_telemetry.cpp" #include "radio/src/gui/9X/lcd.cpp" +#include "radio/src/gui/9X/splash.cpp" #include "radio/src/keys.cpp" #include "radio/src/targets/simu/simpgmspace.cpp" #include "radio/src/templates.cpp" diff --git a/companion/src/firmwares/opentx/opentxM128simulator.cpp b/companion/src/firmwares/opentx/opentxM128simulator.cpp index 5c687846f..feff71e20 100644 --- a/companion/src/firmwares/opentx/opentxM128simulator.cpp +++ b/companion/src/firmwares/opentx/opentxM128simulator.cpp @@ -103,6 +103,7 @@ namespace OpenTxM128 { #include "radio/src/gui/9X/view_statistics.cpp" #include "radio/src/gui/9X/view_telemetry.cpp" #include "radio/src/gui/9X/lcd.cpp" +#include "radio/src/gui/9X/splash.cpp" #include "radio/src/keys.cpp" #include "radio/src/targets/simu/simpgmspace.cpp" #include "radio/src/templates.cpp" diff --git a/companion/src/firmwares/opentx/opentxM64simulator.cpp b/companion/src/firmwares/opentx/opentxM64simulator.cpp index c7ccb0201..92ed798f5 100644 --- a/companion/src/firmwares/opentx/opentxM64simulator.cpp +++ b/companion/src/firmwares/opentx/opentxM64simulator.cpp @@ -106,6 +106,7 @@ namespace OpenTxM64 { #include "radio/src/gui/9X/view_statistics.cpp" #include "radio/src/gui/9X/view_telemetry.cpp" #include "radio/src/gui/9X/lcd.cpp" +#include "radio/src/gui/9X/splash.cpp" #include "radio/src/keys.cpp" #include "radio/src/targets/simu/simpgmspace.cpp" #include "radio/src/telemetry/frsky.cpp" diff --git a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp index e62451f2e..5b588fe51 100644 --- a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp +++ b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp @@ -122,6 +122,7 @@ namespace Open9xSky9x { #include "radio/src/gui/9X/view_about.cpp" #include "radio/src/gui/9X/view_text.cpp" #include "radio/src/gui/9X/lcd.cpp" +#include "radio/src/gui/9X/splash.cpp" #include "radio/src/logs.cpp" #include "radio/src/targets/sky9x/keys_driver.cpp" #include "radio/src/keys.cpp" diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp index 521029e0d..b9bd3e670 100644 --- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp @@ -129,6 +129,7 @@ inline int geteepromsize() { #include "radio/src/gui/Taranis/view_text.cpp" #include "radio/src/gui/Taranis/view_about.cpp" #include "radio/src/gui/Taranis/lcd.cpp" +#include "radio/src/gui/Taranis/splash.cpp" #include "radio/src/logs.cpp" #include "radio/src/rtc.cpp" #include "radio/src/targets/taranis/keys_driver.cpp" diff --git a/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp index 40bac1520..7e6dd84aa 100755 --- a/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisX9ESimulator.cpp @@ -131,6 +131,7 @@ inline int geteepromsize() { #include "radio/src/gui/Taranis/view_text.cpp" #include "radio/src/gui/Taranis/view_about.cpp" #include "radio/src/gui/Taranis/lcd.cpp" +#include "radio/src/gui/Taranis/splash.cpp" #include "radio/src/logs.cpp" #include "radio/src/rtc.cpp" #include "radio/src/targets/taranis/keys_driver.cpp" diff --git a/radio/src/Makefile b/radio/src/Makefile index 1af179658..ff25c54f0 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -944,7 +944,7 @@ endif GUISRC = gui/$(GUIDIRECTORY)/helpers.cpp gui/$(GUIDIRECTORY)/navigation.cpp gui/$(GUIDIRECTORY)/popups.cpp gui/$(GUIDIRECTORY)/widgets.cpp gui/$(GUIDIRECTORY)/menus.cpp $(GUIMODELSRC) $(GUIGENERALSRC) gui/$(GUIDIRECTORY)/view_main.cpp gui/$(GUIDIRECTORY)/view_statistics.cpp -CPPSRC += opentx.cpp functions.cpp strhelpers.cpp $(PULSESSRC) switches.cpp curves.cpp mixer.cpp stamp.cpp $(GUISRC) $(EEPROMSRC) gui/$(GUIDIRECTORY)/lcd.cpp keys.cpp maths.cpp translations.cpp gui/$(GUIDIRECTORY)/fonts.cpp $(TTS_SRC) +CPPSRC += opentx.cpp functions.cpp strhelpers.cpp $(PULSESSRC) switches.cpp curves.cpp mixer.cpp stamp.cpp $(GUISRC) $(EEPROMSRC) gui/$(GUIDIRECTORY)/lcd.cpp gui/$(GUIDIRECTORY)/splash.cpp keys.cpp maths.cpp translations.cpp gui/$(GUIDIRECTORY)/fonts.cpp $(TTS_SRC) # Debugging format. # Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs. diff --git a/radio/src/gui/9X/gui.h b/radio/src/gui/9X/gui.h index e708ca8a4..7c2eb830b 100755 --- a/radio/src/gui/9X/gui.h +++ b/radio/src/gui/9X/gui.h @@ -41,6 +41,7 @@ #define MENU_TITLE_HEIGHT FH #define MENU_NAVIG_HEIGHT 0 +void displaySplash(); void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr); #if !defined(CPUM64) diff --git a/radio/src/gui/9X/splash.cpp b/radio/src/gui/9X/splash.cpp new file mode 100755 index 000000000..5075df0dc --- /dev/null +++ b/radio/src/gui/9X/splash.cpp @@ -0,0 +1,60 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include "../../opentx.h" + +#if defined(SPLASH) +const pm_uchar splashdata[] PROGMEM = { + 'S','P','S',0, + #include "bitmaps/9X/splash.lbm" + 'S','P','E',0 }; +const pm_uchar * const splash_lbm = splashdata+4; + +void displaySplash() +{ + lcd_clear(); + lcd_img(0, 0, splash_lbm, 0, 0); + +#if MENUS_LOCK == 1 + if (readonly == false) { + drawFilledRect((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 - 9, 50, (sizeof(TR_UNLOCKED)-1)*FW+16, 11, SOLID, ERASE|ROUND); + lcd_puts((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 , 53, STR_UNLOCKED); + } +#endif + + lcdRefresh(); +} +#endif diff --git a/radio/src/gui/Taranis/gui.h b/radio/src/gui/Taranis/gui.h index 29df878ba..b83435970 100755 --- a/radio/src/gui/Taranis/gui.h +++ b/radio/src/gui/Taranis/gui.h @@ -42,6 +42,7 @@ #define MENU_TITLE_HEIGHT FH #define MENU_NAVIG_HEIGHT 0 +void displaySplash(); void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr); void displayScrollbar(coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t count, uint8_t visible); diff --git a/radio/src/gui/Taranis/splash.cpp b/radio/src/gui/Taranis/splash.cpp new file mode 100755 index 000000000..4f0e88d7d --- /dev/null +++ b/radio/src/gui/Taranis/splash.cpp @@ -0,0 +1,60 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include "../../opentx.h" + +#if defined(SPLASH) +const pm_uchar splashdata[] PROGMEM = { + 'S','P','S',0, + #include "bitmaps/Taranis/splash.lbm" + 'S','P','E',0 }; +const pm_uchar * const splash_lbm = splashdata+4; + +void displaySplash() +{ + lcd_clear(); + lcd_bmp(0, 0, splash_lbm); + +#if MENUS_LOCK == 1 + if (readonly == false) { + drawFilledRect((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 - 9, 50, (sizeof(TR_UNLOCKED)-1)*FW+16, 11, SOLID, ERASE|ROUND); + lcd_puts((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 , 53, STR_UNLOCKED); + } +#endif + + lcdRefresh(); +} +#endif diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index da6ea121b..72d21f001 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -36,18 +36,6 @@ #include "opentx.h" -#if defined(SPLASH) -const pm_uchar splashdata[] PROGMEM = { 'S','P','S',0, -#if defined(COLORLCD) -#elif defined(PCBTARANIS) -#include "bitmaps/Taranis/splash.lbm" -#else -#include "bitmaps/9X/splash.lbm" -#endif - 'S','P','E',0}; -const pm_uchar * const splash_lbm = splashdata+4; -#endif - #if defined(COLORLCD) #elif defined(PCBTARANIS) const pm_uchar asterisk_lbm[] PROGMEM = { @@ -957,31 +945,10 @@ bool readonlyUnlocked() #endif #if defined(SPLASH) - -inline void Splash() -{ - lcd_clear(); -#if defined(COLORLCD) -#elif defined(PCBTARANIS) - lcd_bmp(0, 0, splash_lbm); -#else - lcd_img(0, 0, splash_lbm, 0, 0); -#endif - -#if MENUS_LOCK == 1 - if (readonly == false) { - drawFilledRect((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 - 9, 50, (sizeof(TR_UNLOCKED)-1)*FW+16, 11, SOLID, ERASE|ROUND); - lcd_puts((LCD_W-(sizeof(TR_UNLOCKED)-1)*FW)/2 , 53, STR_UNLOCKED); - } -#endif - - lcdRefresh(); -} - void doSplash() { if (SPLASH_NEEDED()) { - Splash(); + displaySplash(); #if !defined(CPUARM) AUDIO_TADA();