Lower bulk endpoint polling rate in the descriptors to the lowest possible value...
[pub/USBasp.git] / Projects / AVRISP-MKII / Lib / XPROG / XPROGTarget.c
index f6fff1c..ae292a0 100644 (file)
@@ -39,7 +39,7 @@
 #if defined(ENABLE_XPROG_PROTOCOL) || defined(__DOXYGEN__)
 
 /** Flag to indicate if the USART is currently in Tx or Rx mode. */
 #if defined(ENABLE_XPROG_PROTOCOL) || defined(__DOXYGEN__)
 
 /** Flag to indicate if the USART is currently in Tx or Rx mode. */
-volatile bool IsSending;
+bool IsSending;
 
 /** Enables the target's PDI interface, holding the target in reset until PDI mode is exited. */
 void XPROGTarget_EnableTargetPDI(void)
 
 /** Enables the target's PDI interface, holding the target in reset until PDI mode is exited. */
 void XPROGTarget_EnableTargetPDI(void)
@@ -59,9 +59,9 @@ void XPROGTarget_EnableTargetPDI(void)
        UCSR1B = (1 << TXEN1);
        UCSR1C = (1 << UMSEL10) | (1 << UPM11) | (1 << USBS1) | (1 << UCSZ11) | (1 << UCSZ10) | (1 << UCPOL1);
 
        UCSR1B = (1 << TXEN1);
        UCSR1C = (1 << UMSEL10) | (1 << UPM11) | (1 << USBS1) | (1 << UCSZ11) | (1 << UCSZ10) | (1 << UCPOL1);
 
-       /* Send two BREAKs of 12 bits each to enable PDI interface (need at least 16 idle bits) */
-       XPROGTarget_SendBreak();
-       XPROGTarget_SendBreak();
+       /* Send two IDLEs of 12 bits each to enable PDI interface (need at least 16 idle bits) */
+       XPROGTarget_SendIdle();
+       XPROGTarget_SendIdle();
 }
 
 /** Enables the target's TPI interface, holding the target in reset until TPI mode is exited. */
 }
 
 /** Enables the target's TPI interface, holding the target in reset until TPI mode is exited. */
@@ -83,9 +83,9 @@ void XPROGTarget_EnableTargetTPI(void)
        UCSR1B = (1 << TXEN1);
        UCSR1C = (1 << UMSEL10) | (1 << UPM11) | (1 << USBS1) | (1 << UCSZ11) | (1 << UCSZ10) | (1 << UCPOL1);
 
        UCSR1B = (1 << TXEN1);
        UCSR1C = (1 << UMSEL10) | (1 << UPM11) | (1 << USBS1) | (1 << UCSZ11) | (1 << UCSZ10) | (1 << UCPOL1);
 
-       /* Send two BREAKs of 12 bits each to enable TPI interface (need at least 16 idle bits) */
-       XPROGTarget_SendBreak();
-       XPROGTarget_SendBreak();
+       /* Send two IDLEs of 12 bits each to enable TPI interface (need at least 16 idle bits) */
+       XPROGTarget_SendIdle();
+       XPROGTarget_SendIdle();
 }
 
 /** Disables the target's PDI interface, exits programming mode and starts the target's application. */
 }
 
 /** Disables the target's PDI interface, exits programming mode and starts the target's application. */
@@ -115,7 +115,7 @@ void XPROGTarget_DisableTargetTPI(void)
        UCSR1B  = 0;
        UCSR1C  = 0;
 
        UCSR1B  = 0;
        UCSR1C  = 0;
 
-       /* Set all USART lines as input, tristate */
+       /* Set all USART lines as inputs, tristate */
        DDRD  &= ~((1 << 5) | (1 << 3));
        PORTD &= ~((1 << 5) | (1 << 3) | (1 << 2));
        
        DDRD  &= ~((1 << 5) | (1 << 3));
        PORTD &= ~((1 << 5) | (1 << 3) | (1 << 2));
        
@@ -156,14 +156,14 @@ uint8_t XPROGTarget_ReceiveByte(void)
        return UDR1;
 }
 
        return UDR1;
 }
 
-/** Sends a BREAK via the USART to the attached target, consisting of a full frame of idle bits. */
-void XPROGTarget_SendBreak(void)
+/** Sends an IDLE via the USART to the attached target, consisting of a full frame of idle bits. */
+void XPROGTarget_SendIdle(void)
 {
        /* Switch to Tx mode if currently in Rx mode */
        if (!(IsSending))
          XPROGTarget_SetTxMode();
 {
        /* Switch to Tx mode if currently in Rx mode */
        if (!(IsSending))
          XPROGTarget_SetTxMode();
-
-       /* Need to do nothing for a full frame to send a BREAK */
+       
+       /* Need to do nothing for a full frame to send an IDLE */
        for (uint8_t i = 0; i < BITS_IN_USART_FRAME; i++)
        {
                /* Wait for a full cycle of the clock */
        for (uint8_t i = 0; i < BITS_IN_USART_FRAME; i++)
        {
                /* Wait for a full cycle of the clock */