From b7511eacdb055dc54f5833f3a95808584a5de03d Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 4 Nov 2009 14:54:12 +0000 Subject: [PATCH] USB serial update git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2219 42af7a65-404d-4744-a932-0658087f49c3 --- examples/README.txt | 83 +++++++++++++++++++++++++-------------- examples/usbserial/host.c | 2 +- 2 files changed, 55 insertions(+), 30 deletions(-) diff --git a/examples/README.txt b/examples/README.txt index 78d5ca764b..20e64b47b0 100644 --- a/examples/README.txt +++ b/examples/README.txt @@ -332,48 +332,73 @@ examples/uip examples/usbserial ^^^^^^^^^^^^^^^^^^ - This is another implementation of "Hello, World" but this one uses - a USB serial driver. Configuration options can be used to simply - the test. These options include: + TARGET CONFIGURATION: - CONFIG_EXAMPLES_USBSERIAL_INONLY - Only verify IN (device-to-host) data transfers. Default: both - CONFIG_EXAMPLES_USBSERIAL_OUTONLY - Only verify OUT (host-to-device) data transfers. Default: both - CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL - Send only small, single packet messages. Default: Send large and small. - CONFIG_EXAMPLES_USBSERIAL_ONLYBIG - Send only large, multi-packet messages. Default: Send large and small. + This is another implementation of "Hello, World" but this one uses + a USB serial driver. Configuration options can be used to simply + the test. These options include: - In additional to the target device-side example, there is also - a host-side application in this directory. It can be compiled under - Linux or Cygwin as follows: + CONFIG_EXAMPLES_USBSERIAL_INONLY + Only verify IN (device-to-host) data transfers. Default: both + CONFIG_EXAMPLES_USBSERIAL_OUTONLY + Only verify OUT (host-to-device) data transfers. Default: both + CONFIG_EXAMPLES_USBSERIAL_ONLYSMALL + Send only small, single packet messages. Default: Send large and small. + CONFIG_EXAMPLES_USBSERIAL_ONLYBIG + Send only large, multi-packet messages. Default: Send large and small. - cd examples/usbserial - make -f Makefile.host TOPDIR=../../. + If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB), then + the example code will also manage the USB trace output. The amount of trace output + can be controlled using: - This will generate a small program called 'host'. Usage: + CONFIG_EXAMPLES_USBSERIAL_TRACEINIT + Show initialization events + CONFIG_EXAMPLES_USBSERIAL_TRACECLASS + Show class driver events + CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS + Show data transfer events + CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER + Show controller events + CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS + Show interrupt-related events. - 1. Build the examples/usbserial target program and start the target. + Error results are always shown in the trace output - 2. Wait a bit, then do enter: + HOST-SIDE TEST PROGRAM - dmesg + In additional to the target device-side example, there is also a + host-side application in this directory. This host side application + must be executed on a Linux host in order to perform the USBSERIAL + test. The host application can be compiled under Linux (or Cygwin?) + as follows: - At the end of the dmesg output, you should see the serial - device was successfully idenfied and assigned to a tty device, - probably /dev/ttyUSB0. + cd examples/usbserial + make -f Makefile.host TOPDIR=../../. - 3. Then start the host application: + RUNNING THE TEST - ./host [] + This will generate a small program called 'host'. Usage: - Where: + 1. Build the examples/usbserial target program and start the target. - is the USB TTY device to use. The default is /dev/ttyUSB0. + 2. Wait a bit, then do enter: - The host and target will exchange are variety of very small and very large - serial messages. + dmesg + + At the end of the dmesg output, you should see the serial + device was successfully idenfied and assigned to a tty device, + probably /dev/ttyUSB0. + + 3. Then start the host application: + + ./host [] + + Where: + + is the USB TTY device to use. The default is /dev/ttyUSB0. + + The host and target will exchange are variety of very small and very large + serial messages. examples/usbstorage ^^^^^^^^^^^^^^^^^^^ diff --git a/examples/usbserial/host.c b/examples/usbserial/host.c index 90cb85ed7b..235d1f4021 100644 --- a/examples/usbserial/host.c +++ b/examples/usbserial/host.c @@ -159,7 +159,7 @@ static void show_usage(const char *progname, int exitcode) int main(int argc, char **argv, char **envp) { struct termios tty; -#ifndef CONFIG_EXAMPLES_USBSERIAL_INONLY +#ifndef CONFIG_EXAMPLES_USBSERIAL_OUTONLY ssize_t nbytes; #endif #ifdef COUNTER_NEEDED