X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/80d85090baa9b5c6abf4c3e550a63486d4252839..a8b66f318dda3cc18dfcedaa3af3d01ab68b82e8:/Projects/AVRISP-MKII/Lib/V2Protocol.h diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.h b/Projects/AVRISP-MKII/Lib/V2Protocol.h index d5602a0d4..9af710321 100644 --- a/Projects/AVRISP-MKII/Lib/V2Protocol.h +++ b/Projects/AVRISP-MKII/Lib/V2Protocol.h @@ -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 @@ -37,68 +37,62 @@ #define _V2_PROTOCOL_ /* Includes: */ - #if !defined(__ASSEMBLER__) - #include - #include - - #include "../Descriptors.h" - #include "V2ProtocolConstants.h" - #include "V2ProtocolParams.h" - #include "ISP/ISPProtocol.h" - #include "XPROG/XPROGProtocol.h" - #endif + #include + #include + + #include + + #include "../Descriptors.h" + #include "V2ProtocolConstants.h" + #include "V2ProtocolParams.h" + #include "ISP/ISPProtocol.h" + #include "XPROG/XPROGProtocol.h" /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL - + #if !defined(ENABLE_XPROG_PROTOCOL) #define ENABLE_XPROG_PROTOCOL #endif #endif + #if defined(USB_SERIES_4_AVR) && ((VTARGET_ADC_CHANNEL == 2) || (VTARGET_ADC_CHANNEL == 3)) + #error The U4 AVR chips do not contain ADC channels 2 or 3. Please change VTARGET_ADC_CHANNEL or define NO_VTARGET_DETECT in the makefile. + #endif + /* Macros: */ #if !defined(__DOXYGEN__) #define _GETADCMUXMASK2(x, y) x ## y #define _GETADCMUXMASK(x, y) _GETADCMUXMASK2(x, y) #endif - /** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing */ + /** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing. */ #define PROGRAMMER_ID "AVRISP_MK2" - - /** Timeout period for each issued command from the host before it is aborted */ - #define COMMAND_TIMEOUT_MS 200 - - /** Command timeout counter register, GPIOR for speed */ - #define TimeoutMSRemaining GPIOR0 - - /** MUX mask for the VTARGET ADC channel number */ + + /** Timeout period for each issued command from the host before it is aborted (in 10ms ticks). */ + #define COMMAND_TIMEOUT_TICKS 100 + + /** Command timeout counter register, GPIOR for speed. */ + #define TimeoutTicksRemaining GPIOR1 + + /** MUX mask for the VTARGET ADC channel number. */ #define VTARGET_ADC_CHANNEL_MASK _GETADCMUXMASK(ADC_CHANNEL, VTARGET_ADC_CHANNEL) - - #if !defined(WIN_AVRDUDE_COMPAT) - #define SELECT_DATA_OUT_ENDPOINT() Endpoint_SetEndpointDirection(ENDPOINT_DIR_OUT); - #else - #define SELECT_DATA_OUT_ENDPOINT() Endpoint_SelectEndpoint(); - #endif /* External Variables: */ - #if !defined(__ASSEMBLER__) - extern uint32_t CurrentAddress; - extern bool MustLoadExtendedAddress; - #endif + extern uint32_t CurrentAddress; + extern bool MustLoadExtendedAddress; /* Function Prototypes: */ - #if !defined(__ASSEMBLER__) - void V2Protocol_Init(void); - void V2Protocol_ProcessCommand(void); - - #if defined(INCLUDE_FROM_V2PROTOCOL_C) - static void V2Protocol_UnknownCommand(const uint8_t V2Command); - static void V2Protocol_SignOn(void); - static void V2Protocol_GetSetParam(const uint8_t V2Command); - static void V2Protocol_ResetProtection(void); - static void V2Protocol_LoadAddress(void); - #endif + void V2Protocol_Init(void); + void V2Protocol_ProcessCommand(void); + + #if defined(INCLUDE_FROM_V2PROTOCOL_C) + static void V2Protocol_UnknownCommand(const uint8_t V2Command); + static void V2Protocol_SignOn(void); + static void V2Protocol_GetSetParam(const uint8_t V2Command); + static void V2Protocol_ResetProtection(void); + static void V2Protocol_LoadAddress(void); #endif #endif