Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: usb-as3525.c
- ===================================================================
- --- usb-as3525.c (revision 24590)
- +++ usb-as3525.c (working copy)
- @@ -28,6 +28,8 @@
- #include "usb-target.h"
- #include "power.h"
- #include "as3525.h"
- +#include "ascodec.h"
- +#include "thread.h"
- #if defined(SANSA_CLIP)
- #define USB_DETECT_PIN 6
- @@ -39,6 +41,11 @@
- #define USB_DETECT_PIN 1
- #endif
- +static long detect_stack[DEFAULT_STACK_SIZE/sizeof(long)];
- +static const char detect_thread_name[] = "usbdetect";
- +static unsigned int detect_thread_entry = 0;
- +static int detect_state = USB_EXTRACTED;
- +
- void usb_enable(bool on)
- {
- #ifdef HAVE_USBSTACK
- @@ -51,19 +58,26 @@
- #endif
- }
- +static void detect_thread(void)
- +{
- + while(1)
- + {
- + if (ascodec_read(AS3514_IRQ_ENRD0) & (1<<3))
- + detect_state = USB_INSERTED;
- + else
- + detect_state = USB_EXTRACTED;
- + sleep(HZ/10);
- + }
- +}
- +
- void usb_init_device(void)
- {
- -#ifdef USB_DETECT_PIN
- - GPIOA_DIR &= ~(1 << USB_DETECT_PIN); /* set as input */
- -#endif
- + detect_thread_entry = create_thread(detect_thread, detect_stack,
- + sizeof(detect_stack), 0, detect_thread_name
- + IF_PRIO(, PRIORITY_SYSTEM) IF_COP(, CPU));
- }
- int usb_detect(void)
- {
- -#ifdef USB_DETECT_PIN
- - if (GPIOA_PIN( USB_DETECT_PIN ))
- - return USB_INSERTED;
- - else
- -#endif
- - return USB_EXTRACTED;
- + return detect_state;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement