123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- #ifndef _BOOTLOADER_PRINTER_H_
- #define _BOOTLOADER_PRINTER_H_
-
- #include <avr/io.h>
- #include <avr/wdt.h>
- #include <avr/power.h>
- #include <avr/interrupt.h>
- #include "Descriptors.h"
- #include <LUFA/Drivers/Board/LEDs.h>
- #include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Platform/Platform.h>
-
- #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
-
-
- #define LEDMASK_USB_NOTREADY LEDS_LED1
-
- #define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
-
- #define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
-
- #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
-
- #define LEDMASK_USB_BUSY LEDS_LED2
-
- #define MAGIC_BOOT_KEY 0xDC42
-
-
- enum HEX_Parser_States_t
- {
- HEX_PARSE_STATE_WAIT_LINE,
- HEX_PARSE_STATE_BYTE_COUNT,
- HEX_PARSE_STATE_ADDRESS_HIGH,
- HEX_PARSE_STATE_ADDRESS_LOW,
- HEX_PARSE_STATE_RECORD_TYPE,
- HEX_PARSE_STATE_READ_DATA,
- HEX_PARSE_STATE_CHECKSUM,
- };
-
- enum HEX_Record_Types_t
- {
- HEX_RECORD_TYPE_Data = 0,
- HEX_RECORD_TYPE_EndOfFile = 1,
- HEX_RECORD_TYPE_ExtendedSegmentAddress = 2,
- HEX_RECORD_TYPE_StartSegmentAddress = 3,
- HEX_RECORD_TYPE_ExtendedLinearAddress = 4,
- HEX_RECORD_TYPE_StartLinearAddress = 5,
- };
-
- static void SetupHardware(void);
- void EVENT_USB_Device_Connect(void);
- void EVENT_USB_Device_Disconnect(void);
- void EVENT_USB_Device_ConfigurationChanged(void);
- void EVENT_USB_Device_ControlRequest(void);
- #endif
|