X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/ceb68a06408ca31d41cfb57eb3cd20268c1aed15..d26a9ed5fd6fc60a0dfa61d04f5ae2bd7163a85d:/Bootloaders/DFU/BootloaderDFU.h?ds=inline diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index 5a83403df..ca53266bf 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.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) - - 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 + Copyright 2010 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 + 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 @@ -47,15 +47,15 @@ #include "Descriptors.h" - #include // USB Functionality - + #include + /* Macros: */ /** Configuration define. Define this token to true to case the bootloader to reject all memory commands * until a memory erase has been performed. When used in conjunction with the lockbits of the AVR, this * can protect the AVR's firmware from being dumped from a secured AVR. When false, memory operations are * allowed at any time. */ - #define SECURE_MODE false + #define SECURE_MODE false /** Major bootloader version number. */ #define BOOTLOADER_VERSION_MINOR 2 @@ -63,7 +63,7 @@ /** Minor bootloader version number. */ #define BOOTLOADER_VERSION_REV 0 - /** Complete bootloder version number expressed as a packed byte, constructed from the + /** Complete bootloader version number expressed as a packed byte, constructed from the * two individual bootloader version macros. */ #define BOOTLOADER_VERSION ((BOOTLOADER_VERSION_MINOR << 4) | BOOTLOADER_VERSION_REV) @@ -76,18 +76,18 @@ /** Convenience macro, used to determine if the issued command is the given one-byte long command. * - * \param dataarr Command byte array to check against - * \param cb1 First command byte to check + * \param[in] dataarr Command byte array to check against + * \param[in] cb1 First command byte to check */ - #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == cb1) + #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == (cb1)) /** Convenience macro, used to determine if the issued command is the given two-byte long command. * - * \param dataarr Command byte array to check against - * \param cb1 First command byte to check - * \param cb2 Second command byte to check + * \param[in] dataarr Command byte array to check against + * \param[in] cb1 First command byte to check + * \param[in] cb2 Second command byte to check */ - #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == cb1) && (dataarr[1] == cb2)) + #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == (cb1)) && (dataarr[1] == (cb2))) /** Length of the DFU file suffix block, appended to the end of each complete memory write command. * The DFU file suffix is currently unused (but is designed to give extra file information, such as @@ -100,7 +100,7 @@ */ #define DFU_FILLER_BYTES_SIZE 26 - /** DFU class command request to detatch from the host. */ + /** DFU class command request to detach from the host. */ #define DFU_DETATCH 0x00 /** DFU class command request to send data from the host to the bootloader. */ @@ -141,7 +141,7 @@ /** Type define for a non-returning function pointer to the loaded application. */ typedef void (*AppPtr_t)(void) ATTR_NO_RETURN; - /** Type define for a strucuture containing a complete DFU command issued by the host. */ + /** Type define for a structure containing a complete DFU command issued by the host. */ typedef struct { uint8_t Command; /**< Single byte command to perform, one of the COMMAND_* macro values */ @@ -186,15 +186,13 @@ errUNKNOWN = 14, errSTALLEDPKT = 15 }; - - /* Event Handlers: */ - /** Indicates that this module will catch the USB_Disconnect event when thrown by the library. */ - HANDLES_EVENT(USB_Disconnect); - - /** Indicates that this module will catch the USB_UnhandledControlPacket event when thrown by the library. */ - HANDLES_EVENT(USB_UnhandledControlPacket); - + /* Function Prototypes: */ + void SetupHardware(void); + void ResetHardware(void); + + void EVENT_USB_Device_UnhandledControlRequest(void); + #if defined(INCLUDE_FROM_BOOTLOADER_C) static void DiscardFillerBytes(uint8_t NumberOfBytes); static void ProcessBootloaderCommand(void);