From 7d961d390a39669cd9e00a0a221edbc94808cdb5 Mon Sep 17 00:00:00 2001 From: Robert Kukla Date: Fri, 11 Jan 2008 21:48:01 +0000 Subject: m:robe 100: - adjust lcd_grey_phase_blit() parameter to recent change - detection of external power - compilation of plugins - need to be enabled individually in SOURCES/SUBDIRS (use autostart.rock as test plugin with limited interaction via BUTTON_POWER) also - move autostart.rock to apps dir where it is expected - set missing svn:keywords for various files git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16056 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/CATEGORIES | 1 + apps/plugins/SOURCES | 4 ++++ apps/plugins/SUBDIRS | 2 +- apps/plugins/lib/gray_core.c | 4 ++-- apps/plugins/lib/grey_core.c | 4 ++-- apps/plugins/lib/pluginlib_actions.c | 9 ++++++--- firmware/export/config-mrobe100.h | 2 ++ firmware/target/arm/olympus/mrobe-100/lcd-mr100.c | 7 ++++--- firmware/target/arm/olympus/mrobe-100/power-mr100.c | 6 +++--- tools/configure | 2 +- 10 files changed, 26 insertions(+), 15 deletions(-) diff --git a/apps/plugins/CATEGORIES b/apps/plugins/CATEGORIES index ee28614da0..4b267c162b 100644 --- a/apps/plugins/CATEGORIES +++ b/apps/plugins/CATEGORIES @@ -1,3 +1,4 @@ +autostart,apps matrix,demos alpine_cdc,apps battery_bench,apps diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index 94985579bc..383e32092a 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES @@ -1,3 +1,6 @@ +autostart.c +#ifndef OLYMPUS_MROBE_100 + /* plugins common to all models */ battery_bench.c chessclock.c @@ -151,3 +154,4 @@ iriver_flash.c superdom.c #endif #endif /* m:robe 500 */ +#endif /* m:robe 100 */ diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS index 12b38cea75..42e6331b06 100644 --- a/apps/plugins/SUBDIRS +++ b/apps/plugins/SUBDIRS @@ -1,4 +1,4 @@ -#if !defined(IRIVER_IFP7XX_SERIES) +#if !defined(IRIVER_IFP7XX_SERIES) && !defined(OLYMPUS_MROBE_100) /* For all targets */ shortcuts diff --git a/apps/plugins/lib/gray_core.c b/apps/plugins/lib/gray_core.c index d8dddb3240..e28d56e84d 100644 --- a/apps/plugins/lib/gray_core.c +++ b/apps/plugins/lib/gray_core.c @@ -40,9 +40,9 @@ struct _gray_info _gray_info; /* global info structure */ #ifndef SIMULATOR short _gray_random_buffer; /* buffer for random number generator */ -#if CONFIG_LCD == LCD_SSD1815 || CONFIG_LCD == LCD_IFP7XX +#if CONFIG_LCD == LCD_SSD1815 || CONFIG_LCD == LCD_IFP7XX || CONFIG_LCD == LCD_MROBE100 /* measured and interpolated curve */ -/* TODO: check for iFP */ +/* TODO: check for iFP & m:robe 100 */ static const unsigned char lcdlinear[256] = { 0, 3, 5, 8, 11, 13, 16, 18, 21, 23, 26, 28, 31, 33, 36, 38, diff --git a/apps/plugins/lib/grey_core.c b/apps/plugins/lib/grey_core.c index 5ba5f41404..0fa7e28eb9 100644 --- a/apps/plugins/lib/grey_core.c +++ b/apps/plugins/lib/grey_core.c @@ -36,9 +36,9 @@ struct _grey_info _grey_info; /* global info structure */ #ifndef SIMULATOR -#if CONFIG_LCD == LCD_SSD1815 || CONFIG_LCD == LCD_IFP7XX +#if CONFIG_LCD == LCD_SSD1815 || CONFIG_LCD == LCD_IFP7XX || CONFIG_LCD == LCD_MROBE100 /* measured and interpolated curve */ -/* TODO: check for iFP */ +/* TODO: check for iFP & m:robe 100 */ static const unsigned char lcdlinear[256] = { 0, 3, 5, 8, 11, 13, 16, 18, 21, 23, 26, 28, 31, 33, 36, 38, diff --git a/apps/plugins/lib/pluginlib_actions.c b/apps/plugins/lib/pluginlib_actions.c index baf7440397..d277fe6d0d 100644 --- a/apps/plugins/lib/pluginlib_actions.c +++ b/apps/plugins/lib/pluginlib_actions.c @@ -111,7 +111,8 @@ const struct button_mapping generic_directions[] = {PLA_DOWN_REPEAT, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_NONE}, {PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, {PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) +#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) \ + || (CONFIG_KEYPAD == MROBE100_PAD) { PLA_UP, BUTTON_SCROLL_UP, BUTTON_NONE}, { PLA_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE}, { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, @@ -193,7 +194,8 @@ const struct button_mapping generic_left_right_fire[] = { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE}, { PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, { PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT,BUTTON_NONE}, -#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) +#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) \ + || (CONFIG_KEYPAD == MROBE100_PAD) { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE}, { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE}, { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE}, @@ -286,7 +288,8 @@ const struct button_mapping generic_actions[] = {PLA_MENU, BUTTON_DOWN, BUTTON_NONE}, {PLA_FIRE, BUTTON_SELECT, BUTTON_NONE}, {PLA_FIRE_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, -#elif CONFIG_KEYPAD == IRIVER_H10_PAD +#elif CONFIG_KEYPAD == IRIVER_H10_PAD \ + || (CONFIG_KEYPAD == MROBE100_PAD) {PLA_QUIT, BUTTON_POWER, BUTTON_NONE}, {PLA_START, BUTTON_PLAY, BUTTON_NONE}, {PLA_MENU, BUTTON_FF, BUTTON_NONE}, diff --git a/firmware/export/config-mrobe100.h b/firmware/export/config-mrobe100.h index 3e0093446e..f0c82a5c48 100644 --- a/firmware/export/config-mrobe100.h +++ b/firmware/export/config-mrobe100.h @@ -7,6 +7,8 @@ /* until voltages are sorted out */ #define NO_LOW_BATTERY_SHUTDOWN +#define OLYMPUS_MROBE_100 1 + /* For Rolo and boot loader */ #define MODEL_NUMBER 23 #define MODEL_NAME "Olympus m:robe MR-100" diff --git a/firmware/target/arm/olympus/mrobe-100/lcd-mr100.c b/firmware/target/arm/olympus/mrobe-100/lcd-mr100.c index bf751f47a9..c7977e63fc 100644 --- a/firmware/target/arm/olympus/mrobe-100/lcd-mr100.c +++ b/firmware/target/arm/olympus/mrobe-100/lcd-mr100.c @@ -132,11 +132,12 @@ void lcd_blit(const unsigned char* data, int x, int by, int width, /* Performance function that works with an external buffer note that by and bheight are in 4-pixel units! */ -void lcd_grey_phase_blit(const struct grey_data *data, int x, int by, - int width, int bheight, int stride) +void lcd_grey_phase_blit(unsigned char *values, unsigned char *phases, + int x, int by, int width, int bheight, int stride) { /* TODO: Implement lcd_grey_phase_blit() */ - (void)data; + (void)values; + (void)phases; (void)x; (void)by; (void)width; diff --git a/firmware/target/arm/olympus/mrobe-100/power-mr100.c b/firmware/target/arm/olympus/mrobe-100/power-mr100.c index 1fb2ecb958..54b7030646 100644 --- a/firmware/target/arm/olympus/mrobe-100/power-mr100.c +++ b/firmware/target/arm/olympus/mrobe-100/power-mr100.c @@ -37,19 +37,19 @@ void power_init(void) bool charger_inserted(void) { - return false; + return (GPIOB_INPUT_VAL & 0x02) ? false : true ; } void ide_power_enable(bool on) { (void)on; - /* We do nothing on the iPod */ + /* We do nothing */ } bool ide_powered(void) { - /* pretend we are always powered - we don't turn it off on the ipod */ + /* pretend we are always powered - we don't turn it off */ return true; } diff --git a/tools/configure b/tools/configure index 6dc23258dc..89d38b3a66 100755 --- a/tools/configure +++ b/tools/configure @@ -1308,7 +1308,7 @@ EOF appextra="recorder:gui" archosrom="" flash="" - plugins="" + plugins="yes" swcodec="yes" boottool="$rootdir/tools/scramble -mi4v2 -model=m100 -type=RBBL" bootoutput="pp5020.mi4" -- cgit v1.2.3