Skip to content

Commit

Permalink
Update OSD UI and Optimize Emulators
Browse files Browse the repository at this point in the history
  • Loading branch information
pebri86 committed Oct 18, 2019
1 parent 7bbd6fd commit 23762c4
Show file tree
Hide file tree
Showing 15 changed files with 2,120 additions and 1,904 deletions.
1 change: 1 addition & 0 deletions esplay-gnuboy/main/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ void videoTask(void *arg)
default:
break;
}
write_gb_frame(NULL, scale_opt);
showOverlay = 0;
vTaskDelay(10);
}
Expand Down
18 changes: 10 additions & 8 deletions esplay-gnuboy/sdkconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=
CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
CONFIG_LOG_BOOTLOADER_LEVEL=2
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V=
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
CONFIG_BOOTLOADER_FACTORY_RESET=
CONFIG_BOOTLOADER_APP_TEST=
Expand Down Expand Up @@ -79,11 +78,11 @@ CONFIG_FLASHMODE_QOUT=
CONFIG_FLASHMODE_DIO=y
CONFIG_FLASHMODE_DOUT=
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESPTOOLPY_FLASHFREQ_40M=
CONFIG_ESPTOOLPY_FLASHFREQ_26M=
CONFIG_ESPTOOLPY_FLASHFREQ_20M=
CONFIG_ESPTOOLPY_FLASHFREQ="40m"
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
Expand Down Expand Up @@ -224,16 +223,19 @@ CONFIG_SPIRAM_IGNORE_NOTFOUND=y
CONFIG_SPIRAM_USE_MEMMAP=y
CONFIG_SPIRAM_USE_CAPS_ALLOC=
CONFIG_SPIRAM_USE_MALLOC=
CONFIG_SPIRAM_TYPE_AUTO=
CONFIG_SPIRAM_TYPE_ESPPSRAM32=y
CONFIG_SPIRAM_TYPE_AUTO=y
CONFIG_SPIRAM_TYPE_ESPPSRAM32=
CONFIG_SPIRAM_TYPE_ESPPSRAM64=
CONFIG_SPIRAM_SIZE=4194304
CONFIG_SPIRAM_SPEED_40M=y
CONFIG_SPIRAM_SIZE=-1
CONFIG_SPIRAM_SPEED_40M=
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_MEMTEST=y
CONFIG_SPIRAM_CACHE_WORKAROUND=y
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
CONFIG_SPIRAM_OCCUPY_HSPI_HOST=
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
CONFIG_PICO_PSRAM_CS_IO=10
CONFIG_MEMMAP_TRACEMEM=
CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
Expand Down
820 changes: 559 additions & 261 deletions esplay-launcher/main/gfxTile.h

Large diffs are not rendered by default.

91 changes: 58 additions & 33 deletions esplay-launcher/main/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,45 +76,45 @@ static void scrollGfx(int dx, int dy, int sx, int sy, int sw, int sh)

static void drawBattery(int batPercent)
{
if (batPercent > 75 && batPercent <= 100)
renderGraphics(320 - 25, 0, 24 * 5, 0, 24, 12);
else if (batPercent > 50 && batPercent <= 75)
renderGraphics(320 - 25, 0, 24 * 4, 0, 24, 12);
else if (batPercent > 25 && batPercent <= 50)
renderGraphics(320 - 25, 0, 24 * 3, 0, 24, 12);
else if (batPercent > 10 && batPercent <= 25)
renderGraphics(320 - 25, 0, 24 * 2, 0, 24, 12);
else if (batPercent > 0 && batPercent <= 10)
renderGraphics(320 - 25, 0, 24 * 1, 0, 24, 12);
else if (batPercent == 0)
renderGraphics(320 - 25, 0, 0, 0, 24, 12);
charging_state st = getChargeStatus();
if (st == CHARGING)
renderGraphics(320 - 25, 0, 24 * 5, 0, 24, 24);
else if (st == FULL_CHARGED)
renderGraphics(320 - 25, 0, 24 * 6, 0, 24, 24);
else
{
if (batPercent > 75 && batPercent <= 100)
renderGraphics(320 - 25, 0, 24 * 4, 0, 24, 24);
else if (batPercent > 50 && batPercent <= 75)
renderGraphics(320 - 25, 0, 24 * 3, 0, 24, 24);
else if (batPercent > 25 && batPercent <= 50)
renderGraphics(320 - 25, 0, 24 * 2, 0, 24, 24);
else if (batPercent > 0 && batPercent <= 25)
renderGraphics(320 - 25, 0, 24 * 1, 0, 24, 24);
else if (batPercent == 0)
renderGraphics(320 - 25, 0, 0, 0, 24, 24);
}
}

static void drawVolume(int volume)
{
if (volume > 75 && volume <= 100)
renderGraphics(0, 0, 24 * 12, 0, 24, 12);
if (volume > 50 && volume <= 75)
renderGraphics(0, 0, 24 * 11, 0, 24, 12);
if (volume > 25 && volume <= 50)
renderGraphics(0, 0, 24 * 10, 0, 24, 12);
if (volume > 0 && volume <= 25)
renderGraphics(0, 0, 24 * 9, 0, 24, 12);
else if (volume == 0)
renderGraphics(0, 0, 24 * 8, 0, 24, 12);
if (volume == 0)
renderGraphics(0, 0, 24 * 9, 0, 24, 24);
else
renderGraphics(0, 0, 24 * 8, 0, 24, 24);
}

static void drawHomeScreen()
{
UG_SetForecolor(C_YELLOW);
UG_SetBackcolor(C_BLACK);
char *title = "ESPlay Micro";
UG_PutString((320 / 2) - (strlen(title) * 9 / 2), 0, title);
UG_PutString((320 / 2) - (strlen(title) * 9 / 2), 12, title);

if (wifi_en)
{
title = "Wifi ON, go to http://192.168.4.1/";
UG_PutString((320 / 2) - (strlen(title) * 9 / 2), 20, title);
UG_PutString((320 / 2) - (strlen(title) * 9 / 2), 32, title);
}

UG_SetForecolor(C_WHITE);
Expand All @@ -137,12 +137,27 @@ static void drawHomeScreen()

UG_FillRoundFrame(155, 50 + (56 * 2) + 13 + 18 - 1, 168 + (3 * 9) + 3, 50 + (56 * 2) + 13 + 18 + 11, 7, C_WHITE);
UG_PutString(160, 50 + (56 * 2) + 13 + 18, "MENU");

uint8_t volume = get_volume_settings();
char volStr[3];
sprintf(volStr, "%i", volume);
if (volume == 0)
{
UG_SetForecolor(C_RED);
UG_SetBackcolor(C_BLACK);
}
else
{
UG_SetForecolor(C_WHITE);
UG_SetBackcolor(C_BLACK);
}
UG_PutString(25, 12, volStr);
ui_flush();
battery_level_read(&bat_state);
drawVolume(get_volume_settings());
drawVolume(volume);
drawBattery(bat_state.percentage);
if (wifi_en)
renderGraphics(320 - (50), 0, 24 * 6, 0, 24, 12);
renderGraphics(320 - (50), 0, 24 * 7, 0, 24, 24);
}

// Return to last emulator if 'B' pressed....
Expand Down Expand Up @@ -246,9 +261,9 @@ static void showOptionPage(int selected)
break;
case 1:
if (i == selected)
ui_display_progress((320 - 100 - 3), top + 2, 100, 8, (volume * 100) / 100, C_BLACK, C_YELLOW, C_BLACK);
ui_display_progress((320 - 100 - 3), top + 2, 100, 8, (volume * 100) / 255, C_BLACK, C_YELLOW, C_BLACK);
else
ui_display_progress((320 - 100 - 3), top + 2, 100, 8, (volume * 100) / 100, C_WHITE, C_BLACK, C_WHITE);
ui_display_progress((320 - 100 - 3), top + 2, 100, 8, (volume * 100) / 255, C_WHITE, C_BLACK, C_WHITE);
break;
case 2:
if (i == selected)
Expand Down Expand Up @@ -348,8 +363,8 @@ static int showOption()
case 1:
v = get_volume_settings();
v += 5;
if (v > 100)
v = 100;
if (v > 255)
v = 255;
set_volume_settings(v);
break;
case 2:
Expand Down Expand Up @@ -464,6 +479,7 @@ void app_main(void)
int prevItem = 0;
int scroll = 0;
int doRefresh = 1;
charging_state chrg_st = getChargeStatus();
input_gamepad_state prevKey;
gamepad_read(&prevKey);
while (1)
Expand Down Expand Up @@ -496,14 +512,14 @@ void app_main(void)
scroll = 0;
}
if (prevItem != menuItem)
scrollGfx(scroll, 78, 0, (56 * prevItem) + 12, 320, 56);
scrollGfx(scroll, 78, 0, (56 * prevItem) + 24, 320, 56);
if (scroll)
{
scrollGfx(scroll + ((scroll > 0) ? -320 : 320), 78, 0, (56 * menuItem) + 12, 320, 56);
scrollGfx(scroll + ((scroll > 0) ? -320 : 320), 78, 0, (56 * menuItem) + 24, 320, 56);
}
else if (doRefresh)
{
scrollGfx(0, 78, 0, (56 * menuItem) + 12, 320, 56);
scrollGfx(0, 78, 0, (56 * menuItem) + 24, 320, 56);
doRefresh = 0;
}
if (!prevKey.values[GAMEPAD_INPUT_A] && joystick.values[GAMEPAD_INPUT_A])
Expand Down Expand Up @@ -546,6 +562,15 @@ void app_main(void)
drawHomeScreen();
doRefresh = 1;
}

if (getChargeStatus() != chrg_st)
{
battery_level_read(&bat_state);
drawBattery(bat_state.percentage);
doRefresh = 1;
chrg_st = getChargeStatus();
}

prevKey = joystick;
vTaskDelay(10 / portTICK_PERIOD_MS);
}
Expand Down
12 changes: 7 additions & 5 deletions esplay-launcher/sdkconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
CONFIG_LOG_BOOTLOADER_LEVEL=3
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V=
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
CONFIG_BOOTLOADER_FACTORY_RESET=
CONFIG_BOOTLOADER_APP_TEST=
Expand Down Expand Up @@ -79,11 +78,11 @@ CONFIG_FLASHMODE_QOUT=
CONFIG_FLASHMODE_DIO=y
CONFIG_FLASHMODE_DOUT=
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESPTOOLPY_FLASHFREQ_40M=
CONFIG_ESPTOOLPY_FLASHFREQ_26M=
CONFIG_ESPTOOLPY_FLASHFREQ_20M=
CONFIG_ESPTOOLPY_FLASHFREQ="40m"
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
Expand Down Expand Up @@ -228,7 +227,8 @@ CONFIG_SPIRAM_TYPE_AUTO=y
CONFIG_SPIRAM_TYPE_ESPPSRAM32=
CONFIG_SPIRAM_TYPE_ESPPSRAM64=
CONFIG_SPIRAM_SIZE=-1
CONFIG_SPIRAM_SPEED_40M=y
CONFIG_SPIRAM_SPEED_40M=
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_MEMTEST=y
CONFIG_SPIRAM_CACHE_WORKAROUND=y
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
Expand All @@ -238,6 +238,8 @@ CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
CONFIG_SPIRAM_OCCUPY_HSPI_HOST=
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
CONFIG_PICO_PSRAM_CS_IO=10
CONFIG_MEMMAP_TRACEMEM=
CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
Expand Down
1 change: 1 addition & 0 deletions esplay-nofrendo/components/nofrendo-esp32/video_audio.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ static void videoTask(void *arg)
default:
break;
}
write_nes_frame(NULL, opt);
showOverlay = 0;
vTaskDelay(10);
}
Expand Down
12 changes: 7 additions & 5 deletions esplay-nofrendo/sdkconfig
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ CONFIG_LOG_BOOTLOADER_LEVEL_INFO=
CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG=
CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE=
CONFIG_LOG_BOOTLOADER_LEVEL=2
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V=
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
CONFIG_BOOTLOADER_FACTORY_RESET=
CONFIG_BOOTLOADER_APP_TEST=
Expand Down Expand Up @@ -79,11 +78,11 @@ CONFIG_FLASHMODE_QOUT=
CONFIG_FLASHMODE_DIO=y
CONFIG_FLASHMODE_DOUT=
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESPTOOLPY_FLASHFREQ_40M=
CONFIG_ESPTOOLPY_FLASHFREQ_26M=
CONFIG_ESPTOOLPY_FLASHFREQ_20M=
CONFIG_ESPTOOLPY_FLASHFREQ="40m"
CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_1MB=
CONFIG_ESPTOOLPY_FLASHSIZE_2MB=
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
Expand Down Expand Up @@ -228,12 +227,15 @@ CONFIG_SPIRAM_TYPE_AUTO=y
CONFIG_SPIRAM_TYPE_ESPPSRAM32=
CONFIG_SPIRAM_TYPE_ESPPSRAM64=
CONFIG_SPIRAM_SIZE=-1
CONFIG_SPIRAM_SPEED_40M=y
CONFIG_SPIRAM_SPEED_40M=
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_MEMTEST=y
CONFIG_SPIRAM_CACHE_WORKAROUND=y
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=
CONFIG_SPIRAM_OCCUPY_HSPI_HOST=
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
CONFIG_PICO_PSRAM_CS_IO=10
CONFIG_MEMMAP_TRACEMEM=
CONFIG_MEMMAP_TRACEMEM_TWOBANKS=
Expand Down
2 changes: 1 addition & 1 deletion esplay-sdk/esplay-components/esplay-hal/include/audio.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define AUDIO_H

#define I2S_NUM I2S_NUM_0
#define VOLUME_LEVEL_COUNT (100)
#define VOLUME_LEVEL_COUNT (255)


void audio_init(int sample_rate);
Expand Down
2 changes: 1 addition & 1 deletion esplay-sdk/esplay-components/esplay-hal/settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ void system_application_set(int slot)
int32_t get_backlight_settings()
{
// TODO: Move to header
int result = 30;
int result = 100;

// Open
nvs_handle my_handle;
Expand Down
6 changes: 3 additions & 3 deletions esplay-sdk/esplay-components/osd-menu/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ int showMenu()
{
if (v < 0)
v = 0;
if (v > 100)
v = 100;
if (v > 255)
v = 255;
set_volume_settings(v);
audio_volume_set(v);
vol=v;
Expand Down Expand Up @@ -164,7 +164,7 @@ int showMenu()
int v = get_volume_settings();
if (top==0)
renderMenu(141, 15, 0, 8, 65, 8);
renderMenu(141, 15, 0, 0, (v * 65) / 100, 8);
renderMenu(141, 15, 0, 0, (v * 65) / 255, 8);

v = get_backlight_settings();
if (top==30)
Expand Down
Loading

0 comments on commit 23762c4

Please sign in to comment.