Added additional bootloader API data to expose the bootloader start address and class...
[pub/USBasp.git] / Projects / Benito / Benito.c
index 9db6a3f..8d9ac53 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   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
@@ -51,9 +51,6 @@ volatile struct
        uint8_t PingPongLEDPulse; /**< Milliseconds remaining for enumeration Tx/Rx ping-pong LED pulse */
 } PulseMSRemaining;
 
-/** Previous state of the virtual DTR control line from the host */
-bool PreviousDTRState = false;
-
 /** Milliseconds remaining until the receive buffer is flushed to the USB host */
 uint8_t FlushPeriodRemaining = RECEIVE_BUFFER_FLUSH_MS;
 
@@ -153,7 +150,7 @@ int main(void)
                                        {
                                                break;
                                        }
-                                       
+
                                        /* Dequeue the already sent byte from the buffer now we have confirmed that no transmission error occurred */
                                        RingBuffer_Remove(&USARTtoUSB_Buffer);
                                }
@@ -286,7 +283,8 @@ ISR(USART1_RX_vect, ISR_BLOCK)
  */
 void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
 {
-       bool CurrentDTRState = (CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR);
+       static bool PreviousDTRState = false;
+       bool        CurrentDTRState  = (CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR);
 
        /* Check if the DTR line has been asserted - if so, start the target AVR's reset pulse */
        if (!(PreviousDTRState) && CurrentDTRState)