From 54cd9689cccad1949c067f40d500491851799221 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 25 Sep 2013 17:23:03 -0600 Subject: Move apps/examples/cdcacm to apps/system/cdcacm --- apps/examples/Kconfig | 1 - apps/examples/Make.defs | 4 - apps/examples/Makefile | 4 +- apps/examples/README.txt | 44 ---------- apps/examples/cdcacm/.gitignore | 11 --- apps/examples/cdcacm/Kconfig | 74 ----------------- apps/examples/cdcacm/Makefile | 117 -------------------------- apps/examples/cdcacm/cdcacm.h | 165 ------------------------------------- apps/examples/cdcacm/cdcacm_main.c | 147 --------------------------------- 9 files changed, 2 insertions(+), 565 deletions(-) delete mode 100644 apps/examples/cdcacm/.gitignore delete mode 100644 apps/examples/cdcacm/Kconfig delete mode 100644 apps/examples/cdcacm/Makefile delete mode 100644 apps/examples/cdcacm/cdcacm.h delete mode 100644 apps/examples/cdcacm/cdcacm_main.c (limited to 'apps/examples') diff --git a/apps/examples/Kconfig b/apps/examples/Kconfig index adbb54a7e..3f699148d 100644 --- a/apps/examples/Kconfig +++ b/apps/examples/Kconfig @@ -7,7 +7,6 @@ source "$APPSDIR/examples/adc/Kconfig" source "$APPSDIR/examples/buttons/Kconfig" source "$APPSDIR/examples/can/Kconfig" source "$APPSDIR/examples/cc3000/Kconfig" -source "$APPSDIR/examples/cdcacm/Kconfig" source "$APPSDIR/examples/composite/Kconfig" source "$APPSDIR/examples/cxxtest/Kconfig" source "$APPSDIR/examples/dhcpd/Kconfig" diff --git a/apps/examples/Make.defs b/apps/examples/Make.defs index a5e4dc087..944739a12 100644 --- a/apps/examples/Make.defs +++ b/apps/examples/Make.defs @@ -50,10 +50,6 @@ ifeq ($(CONFIG_EXAMPLES_CC3000BASIC),y) CONFIGURED_APPS += examples/cc3000 endif -ifeq ($(CONFIG_EXAMPLES_CDCACM),y) -CONFIGURED_APPS += examples/cdcacm -endif - ifeq ($(CONFIG_EXAMPLES_COMPOSITE),y) CONFIGURED_APPS += examples/composite endif diff --git a/apps/examples/Makefile b/apps/examples/Makefile index 584531ddf..daa944e89 100644 --- a/apps/examples/Makefile +++ b/apps/examples/Makefile @@ -37,7 +37,7 @@ # Sub-directories -SUBDIRS = adc buttons can cc3000 cdcacm composite cxxtest dhcpd discover elf +SUBDIRS = adc buttons can cc3000 composite cxxtest dhcpd discover elf SUBDIRS += flash_test ftpc ftpd hello helloxx hidkbd igmp json keypadtest SUBDIRS += lcdrw mm modbus mount mtdpart nettest nrf24l01_term nsh null SUBDIRS += nx nxconsole nxffs nxflat nxhello nximage nxlines nxtext ostest @@ -53,7 +53,7 @@ SUBDIRS += xmlrpc CNTXTDIRS = pwm ifeq ($(CONFIG_NSH_BUILTIN_APPS),y) -CNTXTDIRS += adc can cc3000 cdcacm composite cxxtest dhcpd discover flash_test +CNTXTDIRS += adc can cc3000 composite cxxtest dhcpd discover flash_test CNTXTDIRS += ftpd hello helloxx json keypadtestmodbus lcdrw mtdpart nettest CNTXTDIRS += nx nxhello nximage nxlines nxtext nrf24l01_term ostest relays CNTXTDIRS += qencoder slcd smart_test tcpecho telnetd tiff touchscreen diff --git a/apps/examples/README.txt b/apps/examples/README.txt index 02e38061c..29dd6fa7d 100644 --- a/apps/examples/README.txt +++ b/apps/examples/README.txt @@ -131,50 +131,6 @@ examples/cc3000 This is a test for the TI CC3000 wireless networking module. -examples/cdcacm -^^^^^^^^^^^^^^^ - - This very simple example shows how a USB CDC/ACM serial can be dynamically - connected and disconnected from a host. This example can only be used as - an NSH built-int command. If built-in, then two new NSH commands will be - supported: - - 1. sercon - Connect the CDC/ACM serial device - 2. serdis - Disconnect the CDC/ACM serial device - - Configuration prequisites (not complete): - - CONFIG_USBDEV=y : USB device support must be enabled - CONFIG_CDCACM=y : The CDC/ACM driver must be built - CONFIG_NSH_BUILTIN_APPS : NSH built-in application support must be enabled - - Configuration options specific to this example: - - CONFIG_EXAMPLES_CDCACM_DEVMINOR : The minor number of the CDC/ACM device. - : i.e., the 'x' in /dev/ttyACMx - - If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or - CONFIG_USBDEV_TRACE), then the example code will also initialize the USB trace - output. The amount of trace output can be controlled using: - - CONFIG_EXAMPLES_CDCACM_TRACEINIT - Show initialization events - CONFIG_EXAMPLES_CDCACM_TRACECLASS - Show class driver events - CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS - Show data transfer events - CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER - Show controller events - CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS - Show interrupt-related events. - - Note: This example is only enables or disable USB CDC/ACM via the NSH - 'sercon' and 'serdis' command. It will enable and disable tracing per - the settings before enabling and after disabling the CDC/ACM device. It - will not, however, monitor buffered trace data in the interim. If - CONFIG_USBDEV_TRACE is defined (and the debug options are not), other - application logic will need to monitor the buffered trace data. - examples/composite ^^^^^^^^^^^^^^^^^^ diff --git a/apps/examples/cdcacm/.gitignore b/apps/examples/cdcacm/.gitignore deleted file mode 100644 index fa1ec7579..000000000 --- a/apps/examples/cdcacm/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -/Make.dep -/.depend -/.built -/*.asm -/*.obj -/*.rel -/*.lst -/*.sym -/*.adb -/*.lib -/*.src diff --git a/apps/examples/cdcacm/Kconfig b/apps/examples/cdcacm/Kconfig deleted file mode 100644 index fcb7a1e01..000000000 --- a/apps/examples/cdcacm/Kconfig +++ /dev/null @@ -1,74 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see misc/tools/kconfig-language.txt. -# - -config EXAMPLES_CDCACM - bool "CDC/ACM example" - default n - depends on CDCACM - ---help--- - Enable the USB CDC/ACM class driver example - -if EXAMPLES_CDCACM - -config EXAMPLES_CDCACM_DEVMINOR - int "CDC/ACM Minor Device Number" - default 0 - ---help--- - The minor device number of the serial driver for the CDC/ACM device. - For example, N in /dev/ttyACMN. Used for registering the serial - driver. Default is zero. - -config EXAMPLES_CDCACM_TRACEINIT - bool "USB Trace Initialization" - default n - depends on USBDEV_TRACE || DEBUG_USB - ---help--- - If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The - amount of trace output can be controlled this configuration value: - This setting will show USB initialization events - -config EXAMPLES_CDCACM_TRACECLASS - bool "USB Trace Class" - default n - depends on USBDEV_TRACE || DEBUG_USB - ---help--- - If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The - amount of trace output can be controlled this configuration value: - This setting will show USB class driver events - -config EXAMPLES_CDCACM_TRACETRANSFERS - bool "USB Trace Transfers" - default n - depends on USBDEV_TRACE || DEBUG_USB - ---help--- - If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The - amount of trace output can be controlled this configuration value: - This setting will show USB data transfer events - -config EXAMPLES_CDCACM_TRACECONTROLLER - bool "USB Trace Device Controller Events" - default n - depends on USBDEV_TRACE || DEBUG_USB - ---help--- - If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The - amount of trace output can be controlled this configuration value: - This setting will show USB device controller events - -config EXAMPLES_CDCACM_TRACEINTERRUPTS - bool "USB Trace Device Controller Interrupt Events" - default n - depends on USBDEV_TRACE || DEBUG_USB - ---help--- - If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB), - then the example code will also manage the USB trace output. The - amount of trace output can be controlled this configuration value: - This setting will show USB device controller interrupt-related events. - -endif - diff --git a/apps/examples/cdcacm/Makefile b/apps/examples/cdcacm/Makefile deleted file mode 100644 index 2cf3a107f..000000000 --- a/apps/examples/cdcacm/Makefile +++ /dev/null @@ -1,117 +0,0 @@ -############################################################################ -# apps/examples/cdcacm/Makefile -# -# Copyright (C) 2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################ - --include $(TOPDIR)/.config --include $(TOPDIR)/Make.defs -include $(APPDIR)/Make.defs - -# USB CDC/ACM serial mass storage example - -ASRCS = -CSRCS = cdcacm_main.c - -AOBJS = $(ASRCS:.S=$(OBJEXT)) -COBJS = $(CSRCS:.c=$(OBJEXT)) - -SRCS = $(ASRCS) $(CSRCS) -OBJS = $(AOBJS) $(COBJS) - -ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BIN = ..\..\libapps$(LIBEXT) -else -ifeq ($(WINTOOL),y) - BIN = ..\\..\\libapps$(LIBEXT) -else - BIN = ../../libapps$(LIBEXT) -endif -endif - -ROOTDEPPATH = --dep-path . - -# USB CDC/ACM built-in application info - -APPNAME1 = sercon -PRIORITY1 = SCHED_PRIORITY_DEFAULT -STACKSIZE1 = 2048 - -APPNAME2 = serdis -PRIORITY2 = SCHED_PRIORITY_DEFAULT -STACKSIZE2 = 2048 - -# Common build - -VPATH = - -all: .built -.PHONY: context clean depend distclean - -$(AOBJS): %$(OBJEXT): %.S - $(call ASSEMBLE, $<, $@) - -$(COBJS): %$(OBJEXT): %.c - $(call COMPILE, $<, $@) - -.built: $(OBJS) - $(call ARCHIVE, $(BIN), $(OBJS)) - @touch .built - -ifeq ($(CONFIG_NSH_BUILTIN_APPS),y) -$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME1)_main.bdat: $(DEPCONFIG) Makefile - $(call REGISTER,$(APPNAME1),$(PRIORITY1),$(STACKSIZE1),$(APPNAME1)_main) - -$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME2)_main.bdat: $(DEPCONFIG) Makefile - $(call REGISTER,$(APPNAME2),$(PRIORITY2),$(STACKSIZE2),$(APPNAME2)_main) - -context: $(BUILTIN_REGISTRY)$(DELIM)$(APPNAME1)_main.bdat $(BUILTIN_REGISTRY)$(DELIM)$(APPNAME2)_main.bdat -else -context: -endif - -.depend: Makefile $(SRCS) - @$(MKDEP) $(ROOTDEPPATH) "$(CC)" -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ - -depend: .depend - -clean: - $(call DELFILE, .built) - $(call CLEAN) - -distclean: clean - $(call DELFILE, Make.dep) - $(call DELFILE, .depend) - --include Make.dep - diff --git a/apps/examples/cdcacm/cdcacm.h b/apps/examples/cdcacm/cdcacm.h deleted file mode 100644 index 1b3b2511c..000000000 --- a/apps/examples/cdcacm/cdcacm.h +++ /dev/null @@ -1,165 +0,0 @@ -/**************************************************************************** - * examples/cdcacm/cdcacm.h - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -#ifndef __EXAMPLES_CDCACM_CDCACM_H -#define __EXAMPLES_CDCACM_CDCACM_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include - -#include - -/**************************************************************************** - * Pre-Processor Definitions - ****************************************************************************/ -/* Configuration ************************************************************/ -/* Prerequisites */ - -#ifndef CONFIG_USBDEV -# error "CONFIG_USBDEV is not defined" -#endif - -#ifndef CONFIG_CDCACM -# error "CONFIG_CDCACM is not defined" -#endif - -#ifndef CONFIG_NSH_BUILTIN_APPS -# error "This example can only be built as an NSH built-in application" -#endif - -/* Default configuration values */ - -#ifndef CONFIG_EXAMPLES_CDCACM_DEVMINOR -# define CONFIG_EXAMPLES_CDCACM_DEVMINOR 0 -#endif - -/* Trace Configuration ******************************************************/ - -#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINIT -# define TRACE_INIT_BITS (TRACE_INIT_BIT) -#else -# define TRACE_INIT_BITS (0) -#endif - -#define TRACE_ERROR_BITS (TRACE_DEVERROR_BIT|TRACE_CLSERROR_BIT) - -#ifdef CONFIG_EXAMPLES_CDCACM_TRACECLASS -# define TRACE_CLASS_BITS (TRACE_CLASS_BIT|TRACE_CLASSAPI_BIT|TRACE_CLASSSTATE_BIT) -#else -# define TRACE_CLASS_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS -# define TRACE_TRANSFER_BITS (TRACE_OUTREQQUEUED_BIT|TRACE_INREQQUEUED_BIT|TRACE_READ_BIT|\ - TRACE_WRITE_BIT|TRACE_COMPLETE_BIT) -#else -# define TRACE_TRANSFER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER -# define TRACE_CONTROLLER_BITS (TRACE_EP_BIT|TRACE_DEV_BIT) -#else -# define TRACE_CONTROLLER_BITS (0) -#endif - -#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS -# define TRACE_INTERRUPT_BITS (TRACE_INTENTRY_BIT|TRACE_INTDECODE_BIT|TRACE_INTEXIT_BIT) -#else -# define TRACE_INTERRUPT_BITS (0) -#endif - -#define TRACE_BITSET (TRACE_INIT_BITS|TRACE_ERROR_BITS|TRACE_CLASS_BITS|\ - TRACE_TRANSFER_BITS|TRACE_CONTROLLER_BITS|TRACE_INTERRUPT_BITS) - -/* Debug ********************************************************************/ - -#ifdef CONFIG_CPP_HAVE_VARARGS -# ifdef CONFIG_DEBUG -# define message(...) lowsyslog(__VA_ARGS__) -# define msgflush() -# else -# define message(...) printf(__VA_ARGS__) -# define msgflush() fflush(stdout) -# endif -#else -# ifdef CONFIG_DEBUG -# define message lowsyslog -# define msgflush() -# else -# define message printf -# define msgflush() fflush(stdout) -# endif -#endif - -/**************************************************************************** - * Public Types - ****************************************************************************/ - -/* All global variables used by this example are packed into a structure in - * order to avoid name collisions. - */ - -struct cdcacm_state_s -{ - /* This is the handle that references to this particular USB storage driver - * instance. It is only needed if the USB mass storage device example is - * built using CONFIG_NSH_BUILTIN_APPS. In this case, the value - * of the driver handle must be remembered between the 'sercon' and 'msdis' - * commands. - */ - - FAR void *handle; -}; - -/**************************************************************************** - * Public Data - ****************************************************************************/ - -/* All global variables used by this example are packed into a structure in - * order to avoid name collisions. - */ - -extern struct cdcacm_state_s g_cdcacm; - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -#endif /* __EXAMPLES_CDCACM_CDCACM_H */ diff --git a/apps/examples/cdcacm/cdcacm_main.c b/apps/examples/cdcacm/cdcacm_main.c deleted file mode 100644 index aeb7a9e74..000000000 --- a/apps/examples/cdcacm/cdcacm_main.c +++ /dev/null @@ -1,147 +0,0 @@ -/**************************************************************************** - * examples/cdcacm/cdcacm_main.c - * - * Copyright (C) 2012 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -#include - -#include -#include - -#include -#include - -#include "cdcacm.h" - -/**************************************************************************** - * Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/* All global variables used by this example are packed into a structure in - * order to avoid name collisions. - */ - -struct cdcacm_state_s g_cdcacm; - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * sercon_main - * - * Description: - * This is the main program that configures the CDC/ACM serial device. - * - ****************************************************************************/ - -int sercon_main(int argc, char *argv[]) -{ - int ret; - - /* Check if there is a non-NULL USB mass storage device handle (meaning that the - * USB mass storage device is already configured). - */ - - if (g_cdcacm.handle) - { - message("sercon:: ERROR: Already connected\n"); - return EXIT_FAILURE; - } - - /* Then, in any event, enable trace data collection as configured BEFORE - * enabling the CDC/ACM device. - */ - - usbtrace_enable(TRACE_BITSET); - - /* Initialize the USB CDC/ACM serial driver */ - - message("sercon: Registering CDC/ACM serial driver\n"); - ret = cdcacm_initialize(CONFIG_EXAMPLES_CDCACM_DEVMINOR, &g_cdcacm.handle); - if (ret < 0) - { - message("sercon: ERROR: Failed to create the CDC/ACM serial device: %d\n", -ret); - return EXIT_FAILURE; - } - - message("sercon: Successfully registered the CDC/ACM serial driver\n"); - return EXIT_SUCCESS; -} - -/**************************************************************************** - * serdis_main - * - * Description: - * This is a program entry point that will disconnect the CDC/ACM serial - * device. - * - ****************************************************************************/ - -int serdis_main(int argc, char *argv[]) -{ - /* First check if the USB mass storage device is already connected */ - - if (!g_cdcacm.handle) - { - message("serdis: ERROR: Not connected\n"); - return EXIT_FAILURE; - } - - /* Then, in any event, disable trace data collection as configured BEFORE - * enabling the CDC/ACM device. - */ - - usbtrace_enable(0); - - /* Then disconnect the device and uninitialize the USB mass storage driver */ - - cdcacm_uninitialize(g_cdcacm.handle); - g_cdcacm.handle = NULL; - message("serdis: Disconnected\n"); - return EXIT_SUCCESS; -} -- cgit v1.2.3