Fix XMEGA architecture not correctly resetting the device address and endpoints in...
[pub/USBasp.git] / LUFA / Drivers / Peripheral / AVR8 / Serial_AVR8.h
index 7f519d3..f7d03fc 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -70,7 +70,7 @@
        /* Includes: */
                #include "../../../Common/Common.h"
                #include "../../Misc/TerminalCodes.h"
        /* Includes: */
                #include "../../../Common/Common.h"
                #include "../../Misc/TerminalCodes.h"
-               
+
                #include <stdio.h>
 
        /* Enable C linkage for C++ Compilers: */
                #include <stdio.h>
 
        /* Enable C linkage for C++ Compilers: */
@@ -87,7 +87,7 @@
        #if !defined(__DOXYGEN__)
                /* External Variables: */
                        extern FILE USARTSerialStream;
        #if !defined(__DOXYGEN__)
                /* External Variables: */
                        extern FILE USARTSerialStream;
-       
+
                /* Function Prototypes: */
                        int Serial_putchar(char DataByte,
                                           FILE *Stream);
                /* Function Prototypes: */
                        int Serial_putchar(char DataByte,
                                           FILE *Stream);
 
        /* Public Interface - May be used in end-application: */
                /* Macros: */
 
        /* Public Interface - May be used in end-application: */
                /* Macros: */
-                       /** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+                       /** Macro for calculating the baud value from a given baud rate when the \c U2X (double speed) bit is
                         *  not set.
                         *  not set.
+                        *
+                        *  \param[in] Baud  Target serial UART baud rate.
+                        *
+                        *  \return Closest UBRR register value for the given UART frequency.
                         */
                         */
-                       #define SERIAL_UBBRVAL(baud)    ((((F_CPU / 16) + (baud / 2)) / (baud)) - 1)
+                       #define SERIAL_UBBRVAL(Baud)    ((((F_CPU / 16) + (Baud / 2)) / (Baud)) - 1)
 
 
-                       /** Macro for calculating the baud value from a given baud rate when the U2X (double speed) bit is
+                       /** Macro for calculating the baud value from a given baud rate when the \c U2X (double speed) bit is
                         *  set.
                         *  set.
+                        *
+                        *  \param[in] Baud  Target serial UART baud rate.
+                        *
+                        *  \return Closest UBRR register value for the given UART frequency.
                         */
                         */
-                       #define SERIAL_2X_UBBRVAL(baud) ((((F_CPU / 8) + (baud / 2)) / (baud)) - 1)
+                       #define SERIAL_2X_UBBRVAL(Baud) ((((F_CPU / 8) + (Baud / 2)) / (Baud)) - 1)
 
                /* Function Prototypes: */
                        /** Transmits a given string located in program space (FLASH) through the USART.
 
                /* Function Prototypes: */
                        /** Transmits a given string located in program space (FLASH) through the USART.
                         *  \param[in] StringPtr  Pointer to a string located in SRAM space.
                         */
                        void Serial_SendString(const char* StringPtr) ATTR_NON_NULL_PTR_ARG(1);
                         *  \param[in] StringPtr  Pointer to a string located in SRAM space.
                         */
                        void Serial_SendString(const char* StringPtr) ATTR_NON_NULL_PTR_ARG(1);
-                       
+
                        /** Transmits a given buffer located in SRAM memory through the USART.
                         *
                         *  \param[in] Buffer  Pointer to a buffer containing the data to send.
                        /** Transmits a given buffer located in SRAM memory through the USART.
                         *
                         *  \param[in] Buffer  Pointer to a buffer containing the data to send.
                         *  be used when the read data is processed byte-per-bye (via \c getc()) or when the user application will implement its own
                         *  line buffering.
                         *
                         *  be used when the read data is processed byte-per-bye (via \c getc()) or when the user application will implement its own
                         *  line buffering.
                         *
-                        *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
-                        *                         and stdin will be configured to use the USART.
+                        *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL, \c stdout
+                        *                         and \c stdin will be configured to use the USART.
                         *
                         *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
                         */
                         *
                         *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
                         */
                                        stdin  = Stream;
                                        stdout = Stream;
                                }
                                        stdin  = Stream;
                                        stdout = Stream;
                                }
-                       
+
                                *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
                        }
 
                        /** Identical to \ref Serial_CreateStream(), except that reads are blocking until the calling stream function terminates
                         *  the transfer.
                         *
                                *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
                        }
 
                        /** Identical to \ref Serial_CreateStream(), except that reads are blocking until the calling stream function terminates
                         *  the transfer.
                         *
-                        *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL stdio
-                        *                         and stdin will be configured to use the USART.
+                        *  \param[in,out] Stream  Pointer to a FILE structure where the created stream should be placed, if \c NULL, \c stdout
+                        *                         and \c stdin will be configured to use the USART.
                         *
                         *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
                         */
                         *
                         *  \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
                         */
                        {
                                if (!(Serial_IsCharReceived()))
                                  return -1;
                        {
                                if (!(Serial_IsCharReceived()))
                                  return -1;
-                               
+
                                return UDR1;
                        }
 
                                return UDR1;
                        }