X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/d38fa49cb6cb3804c9bb17601688a62ba466b535..fc31973daffea3506051ce51a5f79383ce0867d6:/LUFA/Drivers/Peripheral/SerialStream.h diff --git a/LUFA/Drivers/Peripheral/SerialStream.h b/LUFA/Drivers/Peripheral/SerialStream.h index 275313589..85bdf9085 100644 --- a/LUFA/Drivers/Peripheral/SerialStream.h +++ b/LUFA/Drivers/Peripheral/SerialStream.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -29,11 +29,13 @@ */ /** \file + * \brief Standard avr-libc character stream driver for the USART. * * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the - * regular USART driver, but allows the avr-libc standard stream functions (printf, puts, etc.) to work with the + * regular USART driver (see \ref Group_Serial), but allows the avr-libc standard stream functions (printf, + * puts, etc.) to work with the * USART. - **/ + */ /** \ingroup Group_PeripheralDrivers * @defgroup Group_SerialStream Serial Stream Driver - LUFA/Drivers/Peripheral/SerialStream.h @@ -44,7 +46,8 @@ * * \section Module Description * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the - * regular USART driver, but allows the avr-libc standard stream functions (printf, puts, etc.) to work with the + * regular USART driver (see \ref Group_Serial), but allows the avr-libc standard stream functions (printf, + * puts, etc.) to work with the * USART. * * @{ @@ -70,8 +73,10 @@ extern FILE USARTStream; /* Function Prototypes: */ - int SerialStream_TxByte(char DataByte, FILE *Stream) ATTR_NON_NULL_PTR_ARG(2); - int SerialStream_RxByte(FILE *Stream) ATTR_NON_NULL_PTR_ARG(1); + #if defined(__INCLUDE_FROM_SERIALSTREAM_C) + static int SerialStream_TxByte(char DataByte, FILE *Stream) ATTR_NON_NULL_PTR_ARG(2); + static int SerialStream_RxByte(FILE *Stream) ATTR_NON_NULL_PTR_ARG(1); + #endif #endif /* Public Interface - May be used in end-application: */ @@ -79,15 +84,24 @@ /** Initializes the serial stream (and regular USART driver) so that both the stream and regular * USART driver functions can be used. Must be called before any stream or regular USART functions. * - * \param BaudRate Baud rate to configure the USART to - * \param DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate + * \param[in] BaudRate Baud rate to configure the USART to + * \param[in] DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate */ static inline void SerialStream_Init(const uint32_t BaudRate, const bool DoubleSpeed) { Serial_Init(BaudRate, DoubleSpeed); stdout = &USARTStream; + stdin = &USARTStream; } + + /** Turns off the serial stream (and regular USART driver), disabling and returning used hardware to + * their default configuration. + */ + static inline void SerialStream_ShutDown(void) + { + Serial_ShutDown(); + } /* Disable C linkage for C++ Compilers: */ #if defined(__cplusplus)