diff options
author | Dave Chapman <dave@dchapman.com> | 2007-09-04 08:03:07 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2007-09-04 08:03:07 +0000 |
commit | 1672350378c1eb218db319e35e7bf8fa457b1142 (patch) | |
tree | ccffc78a046ce73aa8f49784d5b2a2d26a2bc4d6 /bootloader/iriver_h300.c | |
parent | 946a815cd4166f8761fac0c9cba0092b871cf900 (diff) | |
download | rockbox-1672350378c1eb218db319e35e7bf8fa457b1142.tar.gz rockbox-1672350378c1eb218db319e35e7bf8fa457b1142.zip |
FS #7691 - improved USB detection on PP devices. This patch modifies the target-tree function usb_detect() on all targets from bool to int, returning USB_INSERTED or USB_EXTRACTED instead of true or false. This was done to enable the PP usb_detect() to check for USB_POWER (either a connection to a USB wall charger, or the user holding "charge mode" button) and return that as a third value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14600 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'bootloader/iriver_h300.c')
-rw-r--r-- | bootloader/iriver_h300.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bootloader/iriver_h300.c b/bootloader/iriver_h300.c index dce178fcec..a3a15bd4b5 100644 --- a/bootloader/iriver_h300.c +++ b/bootloader/iriver_h300.c @@ -169,7 +169,7 @@ void main(void) /* Turn off if we believe the start was accidental */ if(!(rtc_alarm || on_button || rc_on_button || - usb_detect() || charger_inserted())) { + (usb_detect() == USB_INSERTED) || charger_inserted())) { __reset_cookie(); power_off(); } @@ -222,7 +222,8 @@ void main(void) { hold_status = true; } - if (hold_status && !rtc_alarm && !usb_detect() && !charger_inserted()) + if (hold_status && !rtc_alarm && (usb_detect() != USB_INSERTED) && + !charger_inserted()) { if (detect_original_firmware()) { @@ -282,7 +283,7 @@ void main(void) break; } - if(usb_detect()) + if(usb_detect() == USB_INSERTED) request_start = true; } if(!request_start) @@ -297,7 +298,7 @@ void main(void) usb_init(); /* A hack to enter USB mode without using the USB thread */ - if(usb_detect()) + if(usb_detect() == USB_INSERTED) { const char msg[] = "Bootloader USB mode"; int w, h; @@ -314,7 +315,7 @@ void main(void) sleep(HZ/20); usb_enable(true); cpu_idle_mode(true); - while (usb_detect()) + while (usb_detect() == USB_INSERTED) { /* Print the battery status. */ line = 0; |