CCID: Add support for PC-to-Reader XfrBlock message
[pub/USBasp.git] / LUFA / Drivers / Peripheral / XMEGA / Serial_XMEGA.c
index 261e6ca..38f9fcb 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2012.
+     Copyright (C) Dean Camera, 2018.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2018  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
@@ -88,26 +88,29 @@ void Serial_SendString(USART_t* const USART,
 }
 
 void Serial_SendData(USART_t* const USART,
-                     const uint8_t* Buffer,
+                     const void* Buffer,
                      uint16_t Length)
 {
+       uint8_t* CurrByte = (uint8_t*)Buffer;
+
        while (Length--)
-         Serial_SendByte(USART, *(Buffer++));
+         Serial_SendByte(USART, *(CurrByte++));
 }
 
-void Serial_CreateStream(FILE* Stream)
+void Serial_CreateStream(USART_t* USART, FILE* Stream)
 {
        if (!(Stream))
        {
                Stream = &USARTSerialStream;
                stdin  = Stream;
                stdout = Stream;
-       }
+    }
 
-       *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
+    *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar, _FDEV_SETUP_RW);
+    fdev_set_udata(Stream, USART);
 }
 
-void Serial_CreateBlockingStream(FILE* Stream)
+void Serial_CreateBlockingStream(USART_t* USART, FILE* Stream)
 {
        if (!(Stream))
        {
@@ -116,7 +119,8 @@ void Serial_CreateBlockingStream(FILE* Stream)
                stdout = Stream;
        }
 
-       *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
+    *Stream = (FILE)FDEV_SETUP_STREAM(Serial_putchar, Serial_getchar_Blocking, _FDEV_SETUP_RW);
+    fdev_set_udata(Stream, USART);
 }
 
 #endif