X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/de5b16909a7d9cdedc5194cf74de9ec2e59b4d60..77a9df36a77d2523dd2bc24fa17f9f04c6c175c5:/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h index 967849abd..3bfa07171 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h @@ -1,21 +1,21 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. - + Copyright (C) Dean Camera, 2011. + dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2011 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 @@ -43,13 +43,13 @@ #include #include - + #include "../V2ProtocolParams.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 @@ -58,16 +58,21 @@ /* Macros: */ /** Low level device command to issue an extended FLASH address, for devices with other 128KB of FLASH. */ #define LOAD_EXTENDED_ADDRESS_CMD 0x4D - - /** Macro to convert an ISP frequency to a number of timer clock cycles for the software SPI driver */ - #define TIMER_COMP(freq) ((((F_CPU / 8) / freq) / 2) - 1) + + /** Macro to convert an ISP frequency to a number of timer clock cycles for the software SPI driver. */ + #define TIMER_COMP(freq) (((F_CPU / 8) / 2 / freq) - 1) + + /** ISP rescue clock speed in Hz, for clocking targets with incorrectly set fuses. */ + #define ISP_RESCUE_CLOCK_SPEED 4000000 /* External Variables: */ extern bool HardwareSPIMode; /* Function Prototypes: */ - void ISPTarget_Init(void); - void ISPTarget_ShutDown(void); + void ISPTarget_EnableTargetISP(void); + void ISPTarget_DisableTargetISP(void); + void ISPTarget_ConfigureRescueClock(void); + void ISPTarget_ConfigureSoftwareSPI(const uint8_t SCKDuration); uint8_t ISPTarget_TransferSoftSPIByte(const uint8_t Byte); void ISPTarget_ChangeTargetResetLine(const bool ResetTarget); uint8_t ISPTarget_WaitWhileTargetBusy(void); @@ -121,3 +126,4 @@ } #endif +