1
0
Fork 0
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:
Solomon Peachy 2020-10-08 09:47:40 -04:00
parent 5efaa9ef80
commit 2a471e288c
86 changed files with 2097 additions and 1398 deletions

View file

@ -484,21 +484,7 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY
#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT)
#define OSCILLOSCOPE_ADVMODE BUTTON_HOME
#define OSCILLOSCOPE_PAUSE BUTTON_OPTION
#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == XDUOO_X20_PAD)
#elif (CONFIG_KEYPAD == XDUOO_X3II_PAD) || (CONFIG_KEYPAD == XDUOO_X20_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
@ -526,7 +512,7 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == IHIFI_770_PAD)
#elif (CONFIG_KEYPAD == IHIFI_770_PAD) || (CONFIG_KEYPAD == IHIFI_800_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
@ -540,19 +526,16 @@
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif (CONFIG_KEYPAD == IHIFI_800_PAD)
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE_PRE BUTTON_PLAY
#define OSCILLOSCOPE_DRAWMODE (BUTTON_PLAY | BUTTON_REL)
#define OSCILLOSCOPE_ORIENTATION_PRE BUTTON_PLAY
#define OSCILLOSCOPE_ORIENTATION (BUTTON_PLAY | BUTTON_REPEAT)
#define OSCILLOSCOPE_ADVMODE BUTTON_HOME
#define OSCILLOSCOPE_PAUSE (BUTTON_HOME | BUTTON_REPEAT)
#define OSCILLOSCOPE_SPEED_UP BUTTON_NEXT
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_PREV
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#define NEED_LASTBUTTON
#elif CONFIG_KEYPAD == EROSQ_PAD
#define OSCILLOSCOPE_QUIT BUTTON_POWER
#define OSCILLOSCOPE_DRAWMODE BUTTON_PREV
#define OSCILLOSCOPE_ADVMODE BUTTON_NEXT
#define OSCILLOSCOPE_ORIENTATION BUTTON_BACK
#define OSCILLOSCOPE_PAUSE BUTTON_PLAY
#define OSCILLOSCOPE_SPEED_UP BUTTON_SCROLL_FWD
#define OSCILLOSCOPE_SPEED_DOWN BUTTON_SCROLL_BACK
#define OSCILLOSCOPE_VOL_UP BUTTON_VOL_UP
#define OSCILLOSCOPE_VOL_DOWN BUTTON_VOL_DOWN
#else
#error No keymap defined!
@ -881,7 +864,7 @@ static void anim_draw_cursor_h(int x)
{
#if LCD_DEPTH > 1
rb->lcd_set_foreground(CURSOR_COLOR);
rb->lcd_vline(x, 0, LCD_HEIGHT-1);
rb->lcd_vline(x, 0, LCD_HEIGHT-1);
rb->lcd_set_foreground(GRAPH_COLOR);
#else
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
@ -895,7 +878,7 @@ static void anim_draw_cursor_v(int y)
{
#if LCD_DEPTH > 1 /* cursor bar */
rb->lcd_set_foreground(CURSOR_COLOR);
rb->lcd_hline(0, LCD_WIDTH-1, y);
rb->lcd_hline(0, LCD_WIDTH-1, y);
rb->lcd_set_foreground(GRAPH_COLOR);
#else
rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
@ -1040,9 +1023,9 @@ static long anim_peaks_horizontal(void)
}
else
{
left = last_left
left = last_left
+ (LCD_WIDTH - last_pos) * (last_left - cur_left) / d;
right = last_right
right = last_right
+ (LCD_WIDTH - last_pos) * (last_right - cur_right) / d;
rb->lcd_drawline(
@ -1066,7 +1049,7 @@ static long anim_peaks_horizontal(void)
}
}
break;
case DRAW_PIXEL:
left = last_left;
right = last_right;
@ -1090,14 +1073,14 @@ static long anim_peaks_horizontal(void)
last_left = cur_left;
last_right = cur_right;
if (full_update)
{
osd_lcd_update();
}
else
{
anim_draw_cursor_h(cur_x + 1); /* cursor bar */
anim_draw_cursor_h(cur_x + 1); /* cursor bar */
if (cur_x > last_pos)
{
@ -1164,7 +1147,7 @@ static long anim_peaks_vertical(void)
cur_y -= shift;
last_pos -= shift;
}
else
else
{
cur_y -= LCD_HEIGHT;
}
@ -1219,7 +1202,7 @@ static long anim_peaks_vertical(void)
}
else
{
left = last_left
left = last_left
+ (LCD_HEIGHT - last_pos) * (last_left - cur_left) / d;
right = last_right
+ (LCD_HEIGHT - last_pos) * (last_right - cur_right) / d;
@ -1245,7 +1228,7 @@ static long anim_peaks_vertical(void)
}
}
break;
case DRAW_PIXEL:
left = last_left;
right = last_right;
@ -1269,7 +1252,7 @@ static long anim_peaks_vertical(void)
last_left = cur_left;
last_right = cur_right;
if (full_update)
{
osd_lcd_update();
@ -1358,7 +1341,7 @@ static void waveform_buffer_done(void)
waveform_buffer_have = have;
}
/* where the samples are obtained and buffered */
static void waveform_buffer_callback(const void *start, size_t size)
{
@ -2053,7 +2036,7 @@ enum plugin_status plugin_start(const void* parameter)
osc_popupmsg(OSC_MSG_GRAPHMODE, osc.graphmode);
break;
#endif /* OSCILLOSCOPE_GRAPHMODE */
case OSCILLOSCOPE_ORIENTATION:
#ifdef OSCILLOSCOPE_ORIENTATION_PRE
if (lastbutton != OSCILLOSCOPE_ORIENTATION_PRE)
@ -2075,7 +2058,7 @@ enum plugin_status plugin_start(const void* parameter)
graphmode_pause_unpause(paused);
osc_popupmsg(OSC_MSG_PAUSED, paused ? 1 : 0);
break;
case OSCILLOSCOPE_SPEED_UP:
case OSCILLOSCOPE_SPEED_UP | BUTTON_REPEAT:
{
@ -2088,7 +2071,7 @@ enum plugin_status plugin_start(const void* parameter)
osc_popupmsg(OSC_MSG_SPEED, *val);
break;
}
case OSCILLOSCOPE_SPEED_DOWN:
case OSCILLOSCOPE_SPEED_DOWN | BUTTON_REPEAT:
{