From b3aa316f2e4affe5e17c50a178e6c25c08be30c5 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 30 Dec 2011 14:54:43 +0000 Subject: STM32 GPIO fix; Fixes for PIC32 USB term example git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4241 42af7a65-404d-4744-a932-0658087f49c3 --- apps/examples/usbterm/usbterm_main.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'apps/examples/usbterm/usbterm_main.c') diff --git a/apps/examples/usbterm/usbterm_main.c b/apps/examples/usbterm/usbterm_main.c index 092fd7a6f..cb8435788 100644 --- a/apps/examples/usbterm/usbterm_main.c +++ b/apps/examples/usbterm/usbterm_main.c @@ -2,7 +2,7 @@ * examples/usbterm/usbterm_main.c * * Copyright (C) 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -167,7 +167,7 @@ FAR void *usbterm_listener(FAR void *parameter) ****************************************************************************/ #ifdef CONFIG_EXAMPLES_USBTERM_BUILTIN -# define MAIN_NAME term_main +# define MAIN_NAME usbterm_main # define MAIN_STRING "usbterm_main: " #else # define MAIN_NAME user_start @@ -179,6 +179,20 @@ int MAIN_NAME(int argc, char *argv[]) pthread_attr_t attr; int ret; + /* Initialization of the USB hardware may be performed by logic external to + * this test. + */ + +#ifdef CONFIG_EXAMPLES_USBTERM_DEVINIT + message(MAIN_STRING "Performing external device initialization\n"); + ret = usbterm_devinit(); + if (ret != OK) + { + message(MAIN_STRING "usbterm_devinit failed: %d\n", ret); + goto errout; + } +#endif + /* Initialize the USB serial driver */ message(MAIN_STRING "Registering USB serial driver\n"); @@ -190,7 +204,7 @@ int MAIN_NAME(int argc, char *argv[]) if (ret < 0) { message(MAIN_STRING "ERROR: Failed to create the USB serial device: %d\n", -ret); - goto errout; + goto errout_with_devinit; } message(MAIN_STRING "Successfully registered the serial driver\n"); @@ -231,7 +245,7 @@ int MAIN_NAME(int argc, char *argv[]) { /* Give up on other errors */ - goto errout; + goto errout_with_devinit; } } @@ -308,7 +322,11 @@ errout_with_streams: fclose(g_usbterm.instream); errout_with_outstream: fclose(g_usbterm.outstream); +errout_with_devinit: +#ifdef CONFIG_EXAMPLES_USBTERM_DEVINIT + usbterm_devuninit(); errout: +#endif message(MAIN_STRING " Aborting\n"); return 1; } -- cgit v1.2.3