X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/8a43da6b37ad327833cfde6ae83611d6e53313d3..refs/heads/ProMicro:/Bootloaders/Printer/BootloaderPrinter.h diff --git a/Bootloaders/Printer/BootloaderPrinter.h b/Bootloaders/Printer/BootloaderPrinter.h index b99e76379..661896b03 100644 --- a/Bootloaders/Printer/BootloaderPrinter.h +++ b/Bootloaders/Printer/BootloaderPrinter.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2013. + Copyright (C) Dean Camera, 2021. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2021 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 @@ -30,22 +30,30 @@ /** \file * - * Header file for Printer.c. + * Header file for BootloaderPrinter.c. */ -#ifndef _PRINTER_H_ -#define _PRINTER_H_ +#ifndef _BOOTLOADER_PRINTER_H_ +#define _BOOTLOADER_PRINTER_H_ /* Includes: */ #include #include #include #include + #include #include "Descriptors.h" + #include "BootloaderAPI.h" - #include #include + #include + #include + + /* 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 +71,16 @@ /** 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 + + /* Type Defines: */ + #if (FLASHEND > 0xFFFF) + typedef uint32_t flashaddr_t; + #else + typedef uint16_t flashaddr_t; + #endif + /* Enums: */ /** Intel HEX parser state machine states. */ enum HEX_Parser_States_t @@ -88,7 +106,7 @@ }; /* Function Prototypes: */ - void SetupHardware(void); + static void SetupHardware(void); void EVENT_USB_Device_Connect(void); void EVENT_USB_Device_Disconnect(void);