forked from len0rd/rockbox
Enable status bar in usb mode.
Moved usb_display_info() to screens.c Added functions queue_wait_w_tmo() and usb_wait_for_disconnect_w_tmo(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2574 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8232306d80
commit
88098be7e3
9 changed files with 122 additions and 67 deletions
|
|
@ -28,14 +28,83 @@
|
||||||
#include "mpeg.h"
|
#include "mpeg.h"
|
||||||
#include "usb.h"
|
#include "usb.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
#include "status.h"
|
||||||
#include "playlist.h"
|
#include "playlist.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
#define BMPHEIGHT_usb_logo 32
|
||||||
|
#define BMPWIDTH_usb_logo 100
|
||||||
|
static unsigned char usb_logo[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08,
|
||||||
|
0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x81,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0xf1, 0x4f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0,
|
||||||
|
0x00, 0x00, 0xe0, 0x1c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||||
|
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||||
|
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x81, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
|
0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x1c,
|
||||||
|
0x0c, 0x0e, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f,
|
||||||
|
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xe0, 0x1f, 0x00, 0xf8, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
|
||||||
|
0x02, 0x02, 0x02, 0x82, 0x7e, 0x00, 0xc0, 0x3e, 0x01,
|
||||||
|
0x70, 0x4f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f,
|
||||||
|
0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x0f,
|
||||||
|
0x1f, 0x3f, 0x7b, 0xf3, 0xe3, 0xc3, 0x83, 0x83, 0x83, 0x83, 0xe3, 0xe3, 0xe3,
|
||||||
|
0xe3, 0xe3, 0xe3, 0x03, 0x03, 0x03, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x02,
|
||||||
|
0xc0, 0x3e, 0x01, 0xe0, 0x9f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x10, 0x20, 0x40, 0x40, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x87, 0x87, 0x87,
|
||||||
|
0x87, 0x87, 0x87, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0,
|
||||||
|
0x0f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||||
|
0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void usb_display_info(void)
|
||||||
|
{
|
||||||
|
lcd_stop_scroll();
|
||||||
|
lcd_clear_display();
|
||||||
|
|
||||||
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
/* lcd_bitmap() only supports 16 pixels height! */
|
||||||
|
lcd_bitmap(usb_logo, 6, 16,
|
||||||
|
BMPWIDTH_usb_logo, 8, false);
|
||||||
|
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo, 6, 24,
|
||||||
|
BMPWIDTH_usb_logo, 8, false);
|
||||||
|
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo*2, 6, 32,
|
||||||
|
BMPWIDTH_usb_logo, 8, false);
|
||||||
|
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo*3, 6, 40,
|
||||||
|
BMPWIDTH_usb_logo, 8, false);
|
||||||
|
status_draw();
|
||||||
|
lcd_update();
|
||||||
|
#else
|
||||||
|
lcd_puts(0, 0, "[USB Mode]");
|
||||||
|
lcd_icon(ICON_PARAM, false);
|
||||||
|
lcd_icon(ICON_AUDIO, false);
|
||||||
|
lcd_icon(ICON_USB, true);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void usb_screen(void)
|
void usb_screen(void)
|
||||||
{
|
{
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
backlight_on();
|
backlight_on();
|
||||||
usb_acknowledge(SYS_USB_CONNECTED_ACK);
|
usb_acknowledge(SYS_USB_CONNECTED_ACK);
|
||||||
usb_wait_for_disconnect(&button_queue);
|
while(usb_wait_for_disconnect_w_tmo(&button_queue, HZ)) {
|
||||||
|
if(usb_inserted()) {
|
||||||
|
usb_display_info();
|
||||||
|
}
|
||||||
|
}
|
||||||
backlight_on();
|
backlight_on();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
#ifndef _SCREENS_H_
|
#ifndef _SCREENS_H_
|
||||||
#define _SCREENS_H_
|
#define _SCREENS_H_
|
||||||
|
|
||||||
|
void usb_display_info(void);
|
||||||
void usb_screen(void);
|
void usb_screen(void);
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
|
|
|
||||||
|
|
@ -1047,6 +1047,7 @@ bool dirbrowse(char *root)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
reload_root = true;
|
reload_root = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -284,6 +284,7 @@ static int browse_id3(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
return SYS_USB_CONNECTED;
|
return SYS_USB_CONNECTED;
|
||||||
break;
|
break;
|
||||||
|
|
@ -397,6 +398,7 @@ static bool ffwd_rew(int button)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
usb = true;
|
usb = true;
|
||||||
exit = true;
|
exit = true;
|
||||||
|
|
@ -482,6 +484,7 @@ static bool keylock(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
@ -603,6 +606,7 @@ static bool menu(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -852,6 +856,7 @@ int wps_show(void)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
|
status_set_playmode(STATUS_STOP);
|
||||||
usb_screen();
|
usb_screen();
|
||||||
return SYS_USB_CONNECTED;
|
return SYS_USB_CONNECTED;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,25 @@ void queue_wait(struct event_queue *q, struct event *ev)
|
||||||
*ev = q->events[(q->read++) & QUEUE_LENGTH_MASK];
|
*ev = q->events[(q->read++) & QUEUE_LENGTH_MASK];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks)
|
||||||
|
{
|
||||||
|
unsigned int timeout = current_tick + ticks;
|
||||||
|
|
||||||
|
while(q->read == q->write && TIME_BEFORE( current_tick, timeout ))
|
||||||
|
{
|
||||||
|
switch_thread();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(q->read != q->write)
|
||||||
|
{
|
||||||
|
*ev = q->events[(q->read++) & QUEUE_LENGTH_MASK];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ev->id = SYS_TIMEOUT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void queue_post(struct event_queue *q, int id, void *data)
|
void queue_post(struct event_queue *q, int id, void *data)
|
||||||
{
|
{
|
||||||
int wr;
|
int wr;
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@
|
||||||
#define SYS_USB_CONNECTED_ACK -2
|
#define SYS_USB_CONNECTED_ACK -2
|
||||||
#define SYS_USB_DISCONNECTED -3
|
#define SYS_USB_DISCONNECTED -3
|
||||||
#define SYS_USB_DISCONNECTED_ACK -4
|
#define SYS_USB_DISCONNECTED_ACK -4
|
||||||
|
#define SYS_TIMEOUT -5
|
||||||
|
|
||||||
struct event
|
struct event
|
||||||
{
|
{
|
||||||
|
|
@ -69,6 +70,7 @@ int tick_remove_task(void (*f)(void));
|
||||||
|
|
||||||
extern void queue_init(struct event_queue *q);
|
extern void queue_init(struct event_queue *q);
|
||||||
extern void queue_wait(struct event_queue *q, struct event *ev);
|
extern void queue_wait(struct event_queue *q, struct event *ev);
|
||||||
|
extern void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks);
|
||||||
extern void queue_post(struct event_queue *q, int id, void *data);
|
extern void queue_post(struct event_queue *q, int id, void *data);
|
||||||
extern bool queue_empty(struct event_queue* q);
|
extern bool queue_empty(struct event_queue* q);
|
||||||
extern int queue_broadcast(int id, void *data);
|
extern int queue_broadcast(int id, void *data);
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,6 @@ static void usb_thread(void)
|
||||||
#ifdef USB_REALLY_BRAVE
|
#ifdef USB_REALLY_BRAVE
|
||||||
usb_slave_mode(true);
|
usb_slave_mode(true);
|
||||||
usb_state = USB_INSERTED;
|
usb_state = USB_INSERTED;
|
||||||
usb_display_info();
|
|
||||||
#else
|
#else
|
||||||
system_reboot();
|
system_reboot();
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -292,6 +291,27 @@ void usb_wait_for_disconnect(struct event_queue *q)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int usb_wait_for_disconnect_w_tmo(struct event_queue *q, int ticks)
|
||||||
|
{
|
||||||
|
struct event ev;
|
||||||
|
|
||||||
|
/* Don't return until we get SYS_USB_DISCONNECTED or SYS_TIMEOUT */
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
queue_wait_w_tmo(q, &ev, ticks);
|
||||||
|
switch(ev.id)
|
||||||
|
{
|
||||||
|
case SYS_USB_DISCONNECTED:
|
||||||
|
usb_acknowledge(SYS_USB_DISCONNECTED_ACK);
|
||||||
|
return 0;
|
||||||
|
break;
|
||||||
|
case SYS_TIMEOUT:
|
||||||
|
return 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void usb_start_monitoring(void)
|
void usb_start_monitoring(void)
|
||||||
{
|
{
|
||||||
usb_monitor_enabled = true;
|
usb_monitor_enabled = true;
|
||||||
|
|
@ -319,66 +339,3 @@ void usb_start_monitoring(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
#define BMPHEIGHT_usb_logo 32
|
|
||||||
#define BMPWIDTH_usb_logo 100
|
|
||||||
static unsigned char usb_logo[] = {
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08,
|
|
||||||
0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x81,
|
|
||||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0x01, 0x01, 0x01, 0xf1, 0x4f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
||||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0,
|
|
||||||
0x00, 0x00, 0xe0, 0x1c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
|
||||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
|
||||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x81, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0,
|
|
||||||
0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x1c,
|
|
||||||
0x0c, 0x0e, 0x0e, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f,
|
|
||||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0xe0, 0x1f, 0x00, 0xf8, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
|
|
||||||
0x02, 0x02, 0x02, 0x82, 0x7e, 0x00, 0xc0, 0x3e, 0x01,
|
|
||||||
0x70, 0x4f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
||||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
|
|
||||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x07, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f,
|
|
||||||
0x0f, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x0f,
|
|
||||||
0x1f, 0x3f, 0x7b, 0xf3, 0xe3, 0xc3, 0x83, 0x83, 0x83, 0x83, 0xe3, 0xe3, 0xe3,
|
|
||||||
0xe3, 0xe3, 0xe3, 0x03, 0x03, 0x03, 0x3f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x02,
|
|
||||||
0xc0, 0x3e, 0x01, 0xe0, 0x9f, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
|
||||||
0x80, 0x80, 0xf0, 0x0f, 0x80, 0x78, 0x07, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x10, 0x20, 0x40, 0x40, 0x80, 0x80,
|
|
||||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
|
||||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x87, 0x87, 0x87,
|
|
||||||
0x87, 0x87, 0x87, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0,
|
|
||||||
0x0f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
|
||||||
0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
void usb_display_info(void)
|
|
||||||
{
|
|
||||||
lcd_stop_scroll();
|
|
||||||
lcd_clear_display();
|
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
/* lcd_bitmap() only supports 16 pixels height! */
|
|
||||||
lcd_bitmap(usb_logo, 6, 16,
|
|
||||||
BMPWIDTH_usb_logo, 8, false);
|
|
||||||
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo, 6, 24,
|
|
||||||
BMPWIDTH_usb_logo, 8, false);
|
|
||||||
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo*2, 6, 32,
|
|
||||||
BMPWIDTH_usb_logo, 8, false);
|
|
||||||
lcd_bitmap(usb_logo+BMPWIDTH_usb_logo*3, 6, 40,
|
|
||||||
BMPWIDTH_usb_logo, 8, false);
|
|
||||||
lcd_update();
|
|
||||||
#else
|
|
||||||
lcd_puts(0, 0, "[USB Mode]");
|
|
||||||
lcd_icon(ICON_PARAM, false);
|
|
||||||
lcd_icon(ICON_AUDIO, false);
|
|
||||||
lcd_icon(ICON_USB, true);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ void usb_init(void);
|
||||||
void usb_start_monitoring(void);
|
void usb_start_monitoring(void);
|
||||||
void usb_acknowledge(int id);
|
void usb_acknowledge(int id);
|
||||||
void usb_wait_for_disconnect(struct event_queue *q);
|
void usb_wait_for_disconnect(struct event_queue *q);
|
||||||
void usb_display_info(void);
|
int usb_wait_for_disconnect_w_tmo(struct event_queue *q, int ticks);
|
||||||
bool usb_inserted(void);
|
bool usb_inserted(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,10 @@
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
#include "usb.h"
|
#include "screens.h"
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue