Update Studio Integration DLL, to include package logging.
[pub/USBasp.git] / Bootloaders / Printer / BootloaderPrinter.h
index fcbd8d7..b8d421e 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2013.
+     Copyright (C) Dean Camera, 2015.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2015  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
 
                #include "Descriptors.h"
 
-               #include <LUFA/Drivers/USB/USB.h>
                #include <LUFA/Drivers/Board/LEDs.h>
+               #include <LUFA/Drivers/USB/USB.h>
+               #include <LUFA/Platform/Platform.h>
+
+       /* Preprocessor Checks: */
+               #if !defined(__OPTIMIZE_SIZE__)
+                       #error This bootloader requires that it be optimized for size, not speed, to fit into the target device. Change optimization settings and try again.
+               #endif
 
        /* Macros: */
                /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
@@ -63,6 +69,9 @@
                /** LED mask for the library LED driver, to indicate that the USB interface is busy. */
                #define LEDMASK_USB_BUSY           LEDS_LED2
 
+               /** Magic bootloader key to unlock forced application start mode. */
+               #define MAGIC_BOOT_KEY             0xDC42
+
        /* Enums: */
                /** Intel HEX parser state machine states. */
                enum HEX_Parser_States_t
@@ -88,7 +97,7 @@
                };
 
        /* Function Prototypes: */
-               void SetupHardware(void);
+               static void SetupHardware(void);
 
                void EVENT_USB_Device_Connect(void);
                void EVENT_USB_Device_Disconnect(void);