xduoox20: UI Simulator support

Change-Id: I2a03cea07fbad9fb5862ca69e4cfca2e8ca6b17f
This commit is contained in:
Solomon Peachy 2020-09-28 15:03:21 -04:00
parent 43980bb877
commit ae58b5aafe
6 changed files with 96 additions and 9 deletions

View file

@ -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 */

View file

@ -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

View file

@ -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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 KiB

View file

@ -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

View file

@ -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" }
};