Documentation improvements - put driver example code into its own section, fix incorr...
[pub/USBasp.git] / Projects / XPLAINBridge / XPLAINBridge.h
index ddb5b0e..38fc200 100644 (file)
@@ -1,21 +1,21 @@
 /*
              LUFA Library
      Copyright (C) Dean Camera, 2010.
-              
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
   Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  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 
+  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 
+  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
                #include <avr/wdt.h>
                #include <avr/power.h>
                #include <avr/interrupt.h>
+               #include <util/delay.h>
 
                #include "AVRISPDescriptors.h"
                #include "USARTDescriptors.h"
 
-               #include "Lib/LightweightRingBuff.h"
                #include "Lib/SoftUART.h"
                #include "Lib/V2Protocol.h"
 
                #include <LUFA/Version.h>
                #include <LUFA/Drivers/Board/LEDs.h>
+               #include <LUFA/Drivers/Misc/RingBuffer.h>
                #include <LUFA/Drivers/USB/USB.h>
-               #include <LUFA/Drivers/USB/Class/CDC.h>
 
        /* Macros: */
                /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
@@ -66,7 +66,7 @@
 
                /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
                #define LEDMASK_USB_ERROR        LEDS_LED1
-               
+
                /** LED mask for the library LED driver, to indicate that the USB interface is busy. */
                #define LEDMASK_BUSY             LEDS_LED1
 
                #define MODE_PDI_PROGRAMMER      true
 
        /* External Variables: */
-               extern bool CurrentFirmwareMode;
-               
+               extern bool       CurrentFirmwareMode;
+               extern RingBuff_t UARTtoUSB_Buffer;
+               extern RingBuff_t USBtoUART_Buffer;
+
        /* Function Prototypes: */
                void SetupHardware(void);
                void AVRISP_Task(void);
-               void USARTBridge_Task(void);
+               void UARTBridge_Task(void);
 
                void EVENT_USB_Device_ConfigurationChanged(void);
-               void EVENT_USB_Device_UnhandledControlRequest(void);
+               void EVENT_USB_Device_ControlRequest(void);
                void EVENT_USB_Device_Connect(void);
-               void EVENT_USB_Device_Disconnect(void);         
+               void EVENT_USB_Device_Disconnect(void);
 
-               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress);
+               void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
+
+               uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+                                                   const uint8_t wIndex,
+                                                   const void** const DescriptorAddress)
+                                                   ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
 
 #endif
+