Update Doxygen configuration files for all projects.
[pub/USBasp.git] / Projects / AVRISP-MKII / Lib / XPROG / XPROGProtocol.c
index 72cc536..d342730 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   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
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
@@ -143,7 +143,7 @@ static void XPROGProtocol_LeaveXPROGMode(void)
          TINYNVM_DisableTPI();
 
        #if defined(XCK_RESCUE_CLOCK_ENABLE) && defined(ENABLE_ISP_PROTOCOL)
          TINYNVM_DisableTPI();
 
        #if defined(XCK_RESCUE_CLOCK_ENABLE) && defined(ENABLE_ISP_PROTOCOL)
-       /* If the XCK rescue clock option is enabled, we need to restart it once the 
+       /* If the XCK rescue clock option is enabled, we need to restart it once the
         * XPROG mode has been exited, since the XPROG protocol stops it after use. */
        ISPTarget_ConfigureRescueClock();
        #endif
         * XPROG mode has been exited, since the XPROG protocol stops it after use. */
        ISPTarget_ConfigureRescueClock();
        #endif
@@ -258,7 +258,7 @@ static void XPROGProtocol_WriteMemory(void)
                Endpoint_ClearOUT();
                Endpoint_WaitUntilReady();
        }
                Endpoint_ClearOUT();
                Endpoint_WaitUntilReady();
        }
-       
+
        Endpoint_ClearOUT();
        Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
        Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
        Endpoint_ClearOUT();
        Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
        Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
@@ -444,10 +444,10 @@ static void XPROGProtocol_SetParam(void)
        switch (XPROGParam)
        {
                case XPRG_PARAM_NVMBASE:
        switch (XPROGParam)
        {
                case XPRG_PARAM_NVMBASE:
-                       XPROG_Param_NVMBase = Endpoint_Read_32_BE();
+                       XPROG_Param_NVMBase       = Endpoint_Read_32_BE();
                        break;
                case XPRG_PARAM_EEPPAGESIZE:
                        break;
                case XPRG_PARAM_EEPPAGESIZE:
-                       XPROG_Param_EEPageSize = Endpoint_Read_16_BE();
+                       XPROG_Param_EEPageSize    = Endpoint_Read_16_BE();
                        break;
                case XPRG_PARAM_NVMCMD_REG:
                        XPROG_Param_NVMCMDRegAddr = Endpoint_Read_8();
                        break;
                case XPRG_PARAM_NVMCMD_REG:
                        XPROG_Param_NVMCMDRegAddr = Endpoint_Read_8();
@@ -455,6 +455,12 @@ static void XPROGProtocol_SetParam(void)
                case XPRG_PARAM_NVMCSR_REG:
                        XPROG_Param_NVMCSRRegAddr = Endpoint_Read_8();
                        break;
                case XPRG_PARAM_NVMCSR_REG:
                        XPROG_Param_NVMCSRRegAddr = Endpoint_Read_8();
                        break;
+               case XPRG_PARAM_UNKNOWN_1:
+                       /* TODO: Undocumented parameter added in AVRStudio 5.1, purpose unknown. Must ACK and discard or
+                                the communication with AVRStudio 5.1 will fail.
+                       */
+                       Endpoint_Discard_16();
+                       break;
                default:
                        ReturnStatus = XPRG_ERR_FAILED;
                        break;
                default:
                        ReturnStatus = XPRG_ERR_FAILED;
                        break;