diff options
-rw-r--r-- | firmware/export/powermgmt.h | 2 | ||||
-rw-r--r-- | firmware/powermgmt.c | 13 | ||||
-rw-r--r-- | firmware/target/hosted/sdl/sim-ui-defines.h | 8 | ||||
-rw-r--r-- | uisimulator/bitmaps/UI-xduoox20.bmp | bin | 0 -> 722538 bytes | |||
-rw-r--r-- | uisimulator/buttonmap/SOURCES | 2 | ||||
-rw-r--r-- | uisimulator/buttonmap/xduoo-x20.c | 80 |
6 files changed, 96 insertions, 9 deletions
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index f6b71a864e..235f5302f9 100644 --- a/firmware/export/powermgmt.h +++ b/firmware/export/powermgmt.h @@ -80,7 +80,7 @@ void powermgmt_init(void) INIT_ATTR; /* Generic current values that are intentionally meaningless - config header * should define proper numbers.*/ - + #ifndef CURRENT_BACKLIGHT #define CURRENT_BACKLIGHT 5 /* additional current when backlight always on */ diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index b55690be96..0e4a7df57b 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -86,11 +86,16 @@ static int poweroff_timeout = 0; static long last_event_tick = 0; #if (CONFIG_BATTERY_MEASURE & PERCENTAGE_MEASURE) == PERCENTAGE_MEASURE +int _battery_level(void) { return -1; } +#ifdef SIMULATOR +int _battery_voltage(void); +extern const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11]; +extern const unsigned short percent_to_volt_charge[11]; +#else int _battery_voltage(void) { return -1; } - const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11]; const unsigned short percent_to_volt_charge[11]; - +#endif #elif (CONFIG_BATTERY_MEASURE & VOLTAGE_MEASURE) == VOLTAGE_MEASURE int _battery_level(void) { return -1; } /* @@ -363,7 +368,7 @@ static int runcurrent(void) #endif #endif /* BOOTLOADER */ - + return current; } @@ -659,7 +664,7 @@ static inline void power_thread_step(void) average_step_low(); /* update battery status every time an update is available */ battery_status_update(); - + /* * If battery is low, observe voltage during disk activity. * Shut down if voltage drops below shutoff level and we are not diff --git a/firmware/target/hosted/sdl/sim-ui-defines.h b/firmware/target/hosted/sdl/sim-ui-defines.h index 808804c01f..31c95b0e13 100644 --- a/firmware/target/hosted/sdl/sim-ui-defines.h +++ b/firmware/target/hosted/sdl/sim-ui-defines.h @@ -502,10 +502,10 @@ #elif defined(XDUOO_X20) #define UI_TITLE "xDuoo X20" -#define UI_WIDTH 322 /* width of GUI window */ -#define UI_HEIGHT 609 /* height of GUI window */ -#define UI_LCD_POSX 43 -#define UI_LCD_POSY 62 +#define UI_WIDTH 299 /* width of GUI window */ +#define UI_HEIGHT 602 /* height of GUI window */ +#define UI_LCD_POSX 32 +#define UI_LCD_POSY 60 #elif defined(IHIFI770) #define UI_TITLE "iHiFi 770" diff --git a/uisimulator/bitmaps/UI-xduoox20.bmp b/uisimulator/bitmaps/UI-xduoox20.bmp Binary files differnew file mode 100644 index 0000000000..158b3e4018 --- /dev/null +++ b/uisimulator/bitmaps/UI-xduoox20.bmp diff --git a/uisimulator/buttonmap/SOURCES b/uisimulator/buttonmap/SOURCES index 1e882e3ca4..f7f85c057c 100644 --- a/uisimulator/buttonmap/SOURCES +++ b/uisimulator/buttonmap/SOURCES @@ -81,6 +81,8 @@ agptek-rocker.c xduoo-x3.c #elif CONFIG_KEYPAD == XDUOO_X3II_PAD xduoo-x3ii.c +#elif CONFIG_KEYPAD == XDUOO_X20_PAD +xduoo-x20.c #elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD) ihifi2.c #endif diff --git a/uisimulator/buttonmap/xduoo-x20.c b/uisimulator/buttonmap/xduoo-x20.c new file mode 100644 index 0000000000..aa20d8203e --- /dev/null +++ b/uisimulator/buttonmap/xduoo-x20.c @@ -0,0 +1,80 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2020 by Solomon Peachy + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#include <SDL.h> +#include "button.h" +#include "buttonmap.h" + +int key_to_button(int keyboard_button) +{ + int new_btn = BUTTON_NONE; + switch (keyboard_button) + { + case SDLK_KP4: + case SDLK_UP: + new_btn = BUTTON_PREV; + break; + case SDLK_KP1: + case SDLK_DOWN: + new_btn = BUTTON_NEXT; + break; + case SDLK_KP3: + case SDLK_KP_ENTER: + case SDLK_SPACE: + case SDLK_RETURN: + new_btn = BUTTON_PLAY; + break; + case SDLK_KP5: + case SDLK_END: + case SDLK_BACKSPACE: + new_btn = BUTTON_OPTION; + break; + case SDLK_KP7: + case SDLK_ESCAPE: + new_btn = BUTTON_POWER; + break; + case SDLK_KP9: + case SDLK_HOME: + new_btn = BUTTON_HOME; + break; + case SDLK_KP_MINUS: + case SDLK_PAGEUP: + new_btn = BUTTON_VOL_UP; + break; + case SDLK_KP_PLUS: + case SDLK_PAGEDOWN: + new_btn = BUTTON_VOL_DOWN; + break; + } + return new_btn; +} + +struct button_map bm[] = { + { SDLK_KP4, 299, 335, 20, "Prev" }, + { SDLK_KP1, 299, 215, 20, "Next" }, + { SDLK_KP3, 299, 275, 20, "Play" }, + { SDLK_KP5, 299, 80, 20, "Option" }, + { SDLK_KP7, 0, 80, 20, "Power" }, + { SDLK_KP9, 299, 145, 20, "Home" }, + { SDLK_KP_MINUS, 0, 145, 20, "Vol Up" }, + { SDLK_KP_PLUS, 0, 215, 20, "Vol Dn" }, + { 0, 0, 0, 0, "None" } +}; |