STM32 F4 patches from Petteri Aimonen (mostly USB)

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5652 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2013-02-15 14:37:37 +00:00
parent 35a73c2f2c
commit d932e56dca
9 changed files with 419 additions and 104 deletions
+39 -1
View File
@@ -1,7 +1,7 @@
/****************************************************************************
* drivers/usbdev/usbdev_trprintf.c
*
* Copyright (C) 2008-2010, 2012 Gregory Nutt. All rights reserved.
* Copyright (C) 2008-2010, 2012-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -65,6 +65,32 @@
* Private Functions
****************************************************************************/
/*******************************************************************************
* Name: get_string
*
* Description:
* Search the driver string data to find the string matching the provided ID.
*
*******************************************************************************/
#ifdef CONFIG_USBDEV_TRACE_STRINGS
static FAR const char *get_string(FAR const struct trace_msg_t *array, int id)
{
FAR const struct trace_msg_t *p = array;
while (p->str != NULL)
{
if (p->id == id)
{
return p->str;
}
p++;
}
return "???";
}
#endif
/****************************************************************************
* Public Functions
****************************************************************************/
@@ -209,7 +235,13 @@ void usbtrace_trprintf(trprintf_t trprintf, uint16_t event, uint16_t value)
break;
case TRACE_INTDECODE_ID: /* Decoded interrupt event */
#ifdef CONFIG_USBDEV_TRACE_STRINGS
trprintf("Interrupt decode %3d: %-40s %04x\n", TRACE_DATA(event),
get_string(g_usb_trace_strings_intdecode, TRACE_DATA(event)),
value);
#else
trprintf("Interrupt decode %d: %04x\n", TRACE_DATA(event), value);
#endif
break;
case TRACE_INTEXIT_ID: /* Interrupt handler exit */
@@ -237,7 +269,13 @@ void usbtrace_trprintf(trprintf_t trprintf, uint16_t event, uint16_t value)
break;
case TRACE_DEVERROR_ID: /* USB controller driver error event */
#ifdef CONFIG_USBDEV_TRACE_STRINGS
trprintf("Controller error: %02x: %-40s %04x\n", TRACE_DATA(event),
get_string(g_usb_trace_strings_deverror, TRACE_DATA(event)),
value);
#else
trprintf("Controller error: %02x:%04x\n", TRACE_DATA(event), value);
#endif
break;
case TRACE_CLSERROR_ID: /* USB class driver error event */