X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/8ecdc2b1441417bf97661a3d3edd17a5afd707bf..a9e0935a90346beb0c981924becc1f55d969a08b:/Projects/AVRISP-MKII/Lib/V2Protocol.h?ds=sidebyside diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.h b/Projects/AVRISP-MKII/Lib/V2Protocol.h index 3535c6ecb..7ad896da8 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, 2009. + Copyright (C) Dean Camera, 2010. dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ /* - Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, 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 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 + 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 software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -33,18 +33,20 @@ * Header file for V2Protocol.c. */ -#ifndef _V2_PROTOCOL_ -#define _V2_PROTOCOL_ - - /* Includes: */ - #include - #include - - #include "../Descriptors.h" - #include "V2ProtocolConstants.h" - #include "V2ProtocolParams.h" - #include "ISP/ISPProtocol.h" - #include "XPROG/XPROGProtocol.h" +#ifndef _V2_PROTOCOL_ +#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 /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) @@ -54,31 +56,50 @@ #define ENABLE_XPROG_PROTOCOL #endif #endif - + /* Macros: */ - /** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing */ - #define PROGRAMMER_ID "AVRISP_MK2" + #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 */ + #define PROGRAMMER_ID "AVRISP_MK2" /** Timeout period for each issued command from the host before it is aborted */ - #define COMMAND_TIMEOUT_MS 200 + #define COMMAND_TIMEOUT_MS 200 /** Command timeout counter register, GPIOR for speed */ - #define TimeoutMSRemaining GPIOR0 + #define TimeoutMSRemaining GPIOR0 + + /** 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: */ - extern uint32_t CurrentAddress; - extern bool MustSetAddress; + #if !defined(__ASSEMBLER__) + extern uint32_t CurrentAddress; + extern bool MustSetAddress; + #endif /* Function Prototypes: */ - void V2Protocol_ProcessCommand(void); - - #if defined(INCLUDE_FROM_V2PROTOCOL_C) - static void V2Protocol_UnknownCommand(uint8_t V2Command); - static void V2Protocol_SignOn(void); - static void V2Protocol_GetSetParam(uint8_t V2Command); - static void V2Protocol_ResetProtection(void); - static void V2Protocol_LoadAddress(void); - #endif - -#endif - + #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 + #endif + +#endif +