forked from len0rd/rockbox
New port: AIGO EROS Q / EROS K
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
This commit is contained in:
parent
5efaa9ef80
commit
2a471e288c
86 changed files with 2097 additions and 1398 deletions
|
@ -277,23 +277,7 @@
|
|||
#define STOPWATCH_SCROLL_UP BUTTON_UP
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_DOWN
|
||||
|
||||
#elif CONFIG_KEYPAD == XDUOO_X3_PAD
|
||||
#define STOPWATCH_QUIT BUTTON_POWER
|
||||
#define STOPWATCH_START_STOP BUTTON_NEXT
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_PREV
|
||||
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
|
||||
#define STOPWATCH_SCROLL_UP BUTTON_HOME
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
|
||||
|
||||
#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
|
||||
#define STOPWATCH_QUIT BUTTON_POWER
|
||||
#define STOPWATCH_START_STOP BUTTON_NEXT
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_PREV
|
||||
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
|
||||
#define STOPWATCH_SCROLL_UP BUTTON_HOME
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
|
||||
|
||||
#elif CONFIG_KEYPAD == XDUOO_X20_PAD
|
||||
#elif CONFIG_KEYPAD == XDUOO_X3_PAD || CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
|
||||
#define STOPWATCH_QUIT BUTTON_POWER
|
||||
#define STOPWATCH_START_STOP BUTTON_NEXT
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_PREV
|
||||
|
@ -309,7 +293,7 @@
|
|||
#define STOPWATCH_SCROLL_UP BUTTON_HOME
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_OPTION
|
||||
|
||||
#elif CONFIG_KEYPAD == IHIFI_770_PAD
|
||||
#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
|
||||
#define STOPWATCH_QUIT BUTTON_POWER
|
||||
#define STOPWATCH_START_STOP BUTTON_NEXT
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_PREV
|
||||
|
@ -317,13 +301,13 @@
|
|||
#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN
|
||||
|
||||
#elif CONFIG_KEYPAD == IHIFI_800_PAD
|
||||
#elif CONFIG_KEYPAD == EROSQ_PAD
|
||||
#define STOPWATCH_QUIT BUTTON_POWER
|
||||
#define STOPWATCH_START_STOP BUTTON_NEXT
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_PREV
|
||||
#define STOPWATCH_LAP_TIMER BUTTON_PLAY
|
||||
#define STOPWATCH_SCROLL_UP BUTTON_VOL_UP
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_VOL_DOWN
|
||||
#define STOPWATCH_START_STOP BUTTON_PLAY
|
||||
#define STOPWATCH_RESET_TIMER BUTTON_BACK
|
||||
#define STOPWATCH_LAP_TIMER BUTTON_MENU
|
||||
#define STOPWATCH_SCROLL_UP BUTTON_SCROLL_FWD
|
||||
#define STOPWATCH_SCROLL_DOWN BUTTON_SCROLL_BACK
|
||||
|
||||
#else
|
||||
#error No keymap defined!
|
||||
|
@ -405,24 +389,24 @@ static void ticks_to_string(int ticks,int lap,int buflen, char * buf)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* Load saved stopwatch state, if exists.
|
||||
*/
|
||||
static void load_stopwatch(void)
|
||||
{
|
||||
int fd;
|
||||
|
||||
|
||||
fd = rb->open(STOPWATCH_FILE, O_RDONLY);
|
||||
|
||||
|
||||
if (fd < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* variable stopwatch isn't saved/loaded, because it is only used
|
||||
* temporarily in main loop
|
||||
*/
|
||||
|
||||
|
||||
rb->read(fd, &start_at, sizeof(start_at));
|
||||
rb->read(fd, &prev_total, sizeof(prev_total));
|
||||
rb->read(fd, &counting, sizeof(counting));
|
||||
|
@ -430,7 +414,7 @@ static void load_stopwatch(void)
|
|||
rb->read(fd, &lap_scroll, sizeof(lap_scroll));
|
||||
rb->read(fd, &lap_start, sizeof(lap_start));
|
||||
rb->read(fd, lap_times, sizeof(lap_times));
|
||||
|
||||
|
||||
if (counting && start_at > *rb->current_tick)
|
||||
{
|
||||
/* Stopwatch started in the future? Unlikely; probably started on a
|
||||
|
@ -441,28 +425,28 @@ static void load_stopwatch(void)
|
|||
start_at = 0;
|
||||
counting = false;
|
||||
}
|
||||
|
||||
|
||||
rb->close(fd);
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* Save stopwatch state.
|
||||
*/
|
||||
static void save_stopwatch(void)
|
||||
{
|
||||
int fd;
|
||||
|
||||
|
||||
fd = rb->open(STOPWATCH_FILE, O_CREAT|O_WRONLY|O_TRUNC, 0666);
|
||||
|
||||
|
||||
if (fd < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/* variable stopwatch isn't saved/loaded, because it is only used
|
||||
* temporarily in main loop
|
||||
*/
|
||||
|
||||
|
||||
rb->write(fd, &start_at, sizeof(start_at));
|
||||
rb->write(fd, &prev_total, sizeof(prev_total));
|
||||
rb->write(fd, &counting, sizeof(counting));
|
||||
|
@ -470,7 +454,7 @@ static void save_stopwatch(void)
|
|||
rb->write(fd, &lap_scroll, sizeof(lap_scroll));
|
||||
rb->write(fd, &lap_start, sizeof(lap_start));
|
||||
rb->write(fd, lap_times, sizeof(lap_times));
|
||||
|
||||
|
||||
rb->close(fd);
|
||||
}
|
||||
|
||||
|
@ -491,9 +475,9 @@ enum plugin_status plugin_start(const void* parameter)
|
|||
lines = (LCD_HEIGHT / h) - (LAP_Y);
|
||||
|
||||
load_stopwatch();
|
||||
|
||||
|
||||
rb->lcd_clear_display();
|
||||
|
||||
|
||||
while (!done)
|
||||
{
|
||||
if (counting)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue