forked from len0rd/rockbox
Added non-blocking get/put_byte routines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8556 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
507120c1b3
commit
c4d24a07ab
2 changed files with 25 additions and 0 deletions
|
|
@ -22,5 +22,7 @@
|
||||||
void usb_serial_init(void);
|
void usb_serial_init(void);
|
||||||
void usb_serial_put_byte(int b);
|
void usb_serial_put_byte(int b);
|
||||||
int usb_serial_get_byte(void);
|
int usb_serial_get_byte(void);
|
||||||
|
int usb_serial_try_put_byte(int b);
|
||||||
|
int usb_serial_try_get_byte(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1081,6 +1081,17 @@ int usb_serial_get_byte(void)
|
||||||
return fifo_get_byte(&serial_in_fifo);
|
return fifo_get_byte(&serial_in_fifo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int usb_serial_try_get_byte(void)
|
||||||
|
{
|
||||||
|
int r;
|
||||||
|
if (fifo_empty(&serial_in_fifo))
|
||||||
|
r = -1;
|
||||||
|
else
|
||||||
|
r = fifo_get_byte(&serial_in_fifo);
|
||||||
|
usb_serial_handle();
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Not used:
|
Not used:
|
||||||
static int usb_serial_out_full(void)
|
static int usb_serial_out_full(void)
|
||||||
|
|
@ -1097,6 +1108,18 @@ void usb_serial_put_byte(int b)
|
||||||
usb_serial_handle();
|
usb_serial_handle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int usb_serial_try_put_byte(int b)
|
||||||
|
{
|
||||||
|
int r = -1;
|
||||||
|
if (!fifo_full(&serial_out_fifo))
|
||||||
|
{
|
||||||
|
fifo_put_byte(&serial_out_fifo, b);
|
||||||
|
r = 0;
|
||||||
|
}
|
||||||
|
usb_serial_handle();
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
void usb_serial_init(void)
|
void usb_serial_init(void)
|
||||||
{
|
{
|
||||||
fifo_init(&serial_in_fifo);
|
fifo_init(&serial_in_fifo);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue