Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / Peripheral / AVR8 / Serial_AVR8.c
index 05d163c..89d75bf 100644 (file)
@@ -7,7 +7,7 @@
 */
 
 /*
 */
 
 /*
-  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
@@ -28,6 +28,9 @@
   this software.
 */
 
   this software.
 */
 
+#include "../../../Common/Common.h"
+#if (ARCH == ARCH_AVR8)
+
 #define  __INCLUDE_FROM_SERIAL_C
 #include "../Serial.h"
 
 #define  __INCLUDE_FROM_SERIAL_C
 #include "../Serial.h"
 
@@ -82,9 +85,35 @@ void Serial_SendString(const char* StringPtr)
        }
 }
 
        }
 }
 
-void Serial_SendData(const uint8_t* Buffer, uint16_t Length)
+void Serial_SendData(const uint8_t* Buffer,
+                     uint16_t Length)
 {
        while (Length--)
          Serial_SendByte(*(Buffer++));
 }
 
 {
        while (Length--)
          Serial_SendByte(*(Buffer++));
 }
 
+void Serial_CreateStream(FILE* Stream)
+{
+       if (!(Stream))
+       {
+               Stream = &USARTSerialStream;
+               stdin  = Stream;
+               stdout = Stream;
+       }
+
+       *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
+}
+
+void Serial_CreateBlockingStream(FILE* Stream)
+{
+       if (!(Stream))
+       {
+               Stream = &USARTSerialStream;
+               stdin  = Stream;
+               stdout = Stream;
+       }
+
+       *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
+}
+
+#endif