diff options
author | Jens Arnold <amiconn@rockbox.org> | 2004-10-12 00:02:51 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2004-10-12 00:02:51 +0000 |
commit | 7f6b640b1e47583ba451a46263053a0803ff862e (patch) | |
tree | 75c60009f8619d34e9bc7e2f7762f66478fed920 /apps | |
parent | 1acc38f9d9186ba32f54cdf5d124586d0d2b628c (diff) | |
download | rockbox-7f6b640b1e47583ba451a46263053a0803ff862e.tar.gz rockbox-7f6b640b1e47583ba451a46263053a0803ff862e.zip |
Request to remove MMC before acknowledging USB (Ondio)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5254 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/lang/deutsch.lang | 6 | ||||
-rw-r--r-- | apps/lang/english.lang | 6 | ||||
-rw-r--r-- | apps/misc.c | 8 | ||||
-rw-r--r-- | apps/screens.c | 27 | ||||
-rw-r--r-- | apps/screens.h | 4 |
5 files changed, 49 insertions, 2 deletions
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang index f4cfa864af..0ff4778721 100644 --- a/apps/lang/deutsch.lang +++ b/apps/lang/deutsch.lang | |||
@@ -2827,3 +2827,9 @@ desc: in browse root | |||
2827 | eng: "Installation incomplete" | 2827 | eng: "Installation incomplete" |
2828 | voice: "" | 2828 | voice: "" |
2829 | new: "Installation unvollständig" | 2829 | new: "Installation unvollständig" |
2830 | |||
2831 | id: LANG_REMOVE_MMC | ||
2832 | desc: before acknowledging usb in case an MMC is inserted (Ondio) | ||
2833 | eng: "Please remove inserted MMC" | ||
2834 | voice: "Bitte Multimediakarte entfernen" | ||
2835 | new: "Bitte eingelegte MMC entfernen" | ||
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index facbe7eaf9..fd3d4d297a 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -2841,3 +2841,9 @@ desc: in browse root | |||
2841 | eng: "Installation incomplete" | 2841 | eng: "Installation incomplete" |
2842 | voice: "" | 2842 | voice: "" |
2843 | new: | 2843 | new: |
2844 | |||
2845 | id: LANG_REMOVE_MMC | ||
2846 | desc: before acknowledging usb in case an MMC is inserted (Ondio) | ||
2847 | eng: "Please remove inserted MMC" | ||
2848 | voice: "Please remove multimedia card" | ||
2849 | new: | ||
diff --git a/apps/misc.c b/apps/misc.c index ced0668ae6..96d23a8388 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -34,6 +34,9 @@ | |||
34 | #include "ata.h" | 34 | #include "ata.h" |
35 | #include "kernel.h" | 35 | #include "kernel.h" |
36 | #include "power.h" | 36 | #include "power.h" |
37 | #ifdef HAVE_MMC | ||
38 | #include "ata_mmc.h" | ||
39 | #endif | ||
37 | 40 | ||
38 | #define ONE_KILOBYTE 1024 | 41 | #define ONE_KILOBYTE 1024 |
39 | #define ONE_MEGABYTE (1024*1024) | 42 | #define ONE_MEGABYTE (1024*1024) |
@@ -231,7 +234,10 @@ int default_event_handler(int event) | |||
231 | switch(event) | 234 | switch(event) |
232 | { | 235 | { |
233 | case SYS_USB_CONNECTED: | 236 | case SYS_USB_CONNECTED: |
234 | usb_screen(); | 237 | #ifdef HAVE_MMC |
238 | if (!mmc_detect() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) | ||
239 | #endif | ||
240 | usb_screen(); | ||
235 | return SYS_USB_CONNECTED; | 241 | return SYS_USB_CONNECTED; |
236 | } | 242 | } |
237 | return 0; | 243 | return 0; |
diff --git a/apps/screens.c b/apps/screens.c index b31067ad27..ac8dea1c24 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -40,7 +40,8 @@ | |||
40 | #include "action.h" | 40 | #include "action.h" |
41 | #include "talk.h" | 41 | #include "talk.h" |
42 | #include "misc.h" | 42 | #include "misc.h" |
43 | #include "id3.h" | 43 | #include "id3.h" |
44 | #include "screens.h" | ||
44 | 45 | ||
45 | #ifdef HAVE_LCD_BITMAP | 46 | #ifdef HAVE_LCD_BITMAP |
46 | #define BMPHEIGHT_usb_logo 32 | 47 | #define BMPHEIGHT_usb_logo 32 |
@@ -121,6 +122,30 @@ void usb_screen(void) | |||
121 | #endif /* USB_NONE */ | 122 | #endif /* USB_NONE */ |
122 | } | 123 | } |
123 | 124 | ||
125 | #ifdef HAVE_MMC | ||
126 | int mmc_remove_request(void) | ||
127 | { | ||
128 | struct event ev; | ||
129 | |||
130 | lcd_clear_display(); | ||
131 | splash(1, true, str(LANG_REMOVE_MMC)); | ||
132 | talk_id(LANG_REMOVE_MMC, false); | ||
133 | |||
134 | while (1) | ||
135 | { | ||
136 | queue_wait_w_tmo(&button_queue, &ev, HZ/2); | ||
137 | switch (ev.id) | ||
138 | { | ||
139 | case SYS_MMC_EXTRACTED: | ||
140 | return SYS_MMC_EXTRACTED; | ||
141 | |||
142 | case SYS_USB_DISCONNECTED: | ||
143 | return SYS_USB_DISCONNECTED; | ||
144 | } | ||
145 | } | ||
146 | } | ||
147 | #endif | ||
148 | |||
124 | 149 | ||
125 | /* some simulator dummies */ | 150 | /* some simulator dummies */ |
126 | #ifdef SIMULATOR | 151 | #ifdef SIMULATOR |
diff --git a/apps/screens.h b/apps/screens.h index 47b85af821..8940bb590c 100644 --- a/apps/screens.h +++ b/apps/screens.h | |||
@@ -26,6 +26,10 @@ void usb_screen(void); | |||
26 | int charging_screen(void); | 26 | int charging_screen(void); |
27 | void charging_splash(void); | 27 | void charging_splash(void); |
28 | 28 | ||
29 | #ifdef HAVE_MMC | ||
30 | int mmc_remove_request(void); | ||
31 | #endif | ||
32 | |||
29 | #if CONFIG_KEYPAD == RECORDER_PAD | 33 | #if CONFIG_KEYPAD == RECORDER_PAD |
30 | int pitch_screen(void); | 34 | int pitch_screen(void); |
31 | bool quick_screen(const int, const int); | 35 | bool quick_screen(const int, const int); |