sanguino/firmwares/arduino-usbdfu/Arduino-usbdfu.h

Thu, 07 Jul 2016 12:23:34 +0200

author
mbayer
date
Thu, 07 Jul 2016 12:23:34 +0200
changeset 2
b373b0288715
permissions
-rw-r--r--

added missing sanguino files

2
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
1 /*
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
2 LUFA Library
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
3 Copyright (C) Dean Camera, 2010.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
4
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
5 dean [at] fourwalledcubicle [dot] com
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
6 www.fourwalledcubicle.com
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
7 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
8
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
9 /*
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
10 Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com)
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
11
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
12 Permission to use, copy, modify, distribute, and sell this
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
13 software and its documentation for any purpose is hereby granted
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
14 without fee, provided that the above copyright notice appear in
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
15 all copies and that both that the copyright notice and this
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
16 permission notice and warranty disclaimer appear in supporting
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
17 documentation, and that the name of the author not be used in
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
18 advertising or publicity pertaining to distribution of the
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
19 software without specific, written prior permission.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
20
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
21 The author disclaim all warranties with regard to this
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
22 software, including all implied warranties of merchantability
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
23 and fitness. In no event shall the author be liable for any
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
24 special, indirect or consequential damages or any damages
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
25 whatsoever resulting from loss of use, data or profits, whether
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
26 in an action of contract, negligence or other tortious action,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
27 arising out of or in connection with the use or performance of
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
28 this software.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
29 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
30
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
31 /** \file
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
32 *
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
33 * Header file for Arduino-usbdfu.c.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
34 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
35
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
36 #ifndef _ARDUINO_USB_DFU_BOOTLOADER_H_
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
37 #define _ARDUINO_USB_DFU_BOOTLOADER_H_
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
38
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
39 /* Includes: */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
40 #include <avr/io.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
41 #include <avr/wdt.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
42 #include <avr/boot.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
43 #include <avr/pgmspace.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
44 #include <avr/eeprom.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
45 #include <avr/power.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
46 #include <avr/interrupt.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
47 #include <stdbool.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
48
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
49 #include "Descriptors.h"
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
50
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
51 #include <LUFA/Drivers/Board/LEDs.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
52 #include <LUFA/Drivers/USB/USB.h>
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
53
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
54 /* Macros: */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
55 /** LED mask for the library LED driver, to indicate TX activity. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
56 #define LEDMASK_TX LEDS_LED1
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
57
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
58 /** LED mask for the library LED driver, to indicate RX activity. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
59 #define LEDMASK_RX LEDS_LED2
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
60
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
61 /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
62 #define LEDMASK_ERROR (LEDS_LED1 | LEDS_LED2)
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
63
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
64 /** LED mask for the library LED driver, to indicate that the USB interface is busy. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
65 #define LEDMASK_BUSY (LEDS_LED1 | LEDS_LED2)
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
66
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
67 /** Configuration define. Define this token to true to case the bootloader to reject all memory commands
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
68 * until a memory erase has been performed. When used in conjunction with the lockbits of the AVR, this
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
69 * can protect the AVR's firmware from being dumped from a secured AVR. When false, memory operations are
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
70 * allowed at any time.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
71 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
72 // #define SECURE_MODE false
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
73
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
74 /** Major bootloader version number. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
75 #define BOOTLOADER_VERSION_MINOR 2
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
76
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
77 /** Minor bootloader version number. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
78 #define BOOTLOADER_VERSION_REV 0
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
79
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
80 /** Complete bootloader version number expressed as a packed byte, constructed from the
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
81 * two individual bootloader version macros.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
82 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
83 #define BOOTLOADER_VERSION ((BOOTLOADER_VERSION_MINOR << 4) | BOOTLOADER_VERSION_REV)
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
84
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
85 /** First byte of the bootloader identification bytes, used to identify a device's bootloader. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
86 #define BOOTLOADER_ID_BYTE1 0xDC
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
87
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
88 /** Second byte of the bootloader identification bytes, used to identify a device's bootloader. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
89 #define BOOTLOADER_ID_BYTE2 0xFB
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
90
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
91 /** Convenience macro, used to determine if the issued command is the given one-byte long command.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
92 *
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
93 * \param[in] dataarr Command byte array to check against
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
94 * \param[in] cb1 First command byte to check
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
95 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
96 #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == (cb1))
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
97
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
98 /** Convenience macro, used to determine if the issued command is the given two-byte long command.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
99 *
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
100 * \param[in] dataarr Command byte array to check against
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
101 * \param[in] cb1 First command byte to check
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
102 * \param[in] cb2 Second command byte to check
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
103 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
104 #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == (cb1)) && (dataarr[1] == (cb2)))
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
105
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
106 /** Length of the DFU file suffix block, appended to the end of each complete memory write command.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
107 * The DFU file suffix is currently unused (but is designed to give extra file information, such as
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
108 * a CRC of the complete firmware for error checking) and so is discarded.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
109 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
110 #define DFU_FILE_SUFFIX_SIZE 16
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
111
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
112 /** Length of the DFU file filler block, appended to the start of each complete memory write command.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
113 * Filler bytes are added to the start of each complete memory write command, and must be discarded.
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
114 */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
115 #define DFU_FILLER_BYTES_SIZE 26
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
116
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
117 /** DFU class command request to detach from the host. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
118 #define DFU_DETATCH 0x00
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
119
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
120 /** DFU class command request to send data from the host to the bootloader. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
121 #define DFU_DNLOAD 0x01
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
122
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
123 /** DFU class command request to send data from the bootloader to the host. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
124 #define DFU_UPLOAD 0x02
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
125
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
126 /** DFU class command request to get the current DFU status and state from the bootloader. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
127 #define DFU_GETSTATUS 0x03
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
128
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
129 /** DFU class command request to reset the current DFU status and state variables to their defaults. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
130 #define DFU_CLRSTATUS 0x04
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
131
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
132 /** DFU class command request to get the current DFU state of the bootloader. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
133 #define DFU_GETSTATE 0x05
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
134
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
135 /** DFU class command request to abort the current multi-request transfer and return to the dfuIDLE state. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
136 #define DFU_ABORT 0x06
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
137
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
138 /** DFU command to begin programming the device's memory. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
139 #define COMMAND_PROG_START 0x01
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
140
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
141 /** DFU command to begin reading the device's memory. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
142 #define COMMAND_DISP_DATA 0x03
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
143
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
144 /** DFU command to issue a write command. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
145 #define COMMAND_WRITE 0x04
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
146
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
147 /** DFU command to issue a read command. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
148 #define COMMAND_READ 0x05
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
149
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
150 /** DFU command to issue a memory base address change command, to set the current 64KB flash page
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
151 * that subsequent flash operations should use. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
152 #define COMMAND_CHANGE_BASE_ADDR 0x06
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
153
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
154 /* Type Defines: */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
155 /** Type define for a non-returning function pointer to the loaded application. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
156 typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
157
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
158 /** Type define for a structure containing a complete DFU command issued by the host. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
159 typedef struct
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
160 {
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
161 uint8_t Command; /**< Single byte command to perform, one of the COMMAND_* macro values */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
162 uint8_t Data[5]; /**< Command parameters */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
163 uint16_t DataSize; /**< Size of the command parameters */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
164 } DFU_Command_t;
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
165
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
166 /* Enums: */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
167 /** DFU bootloader states. Refer to the DFU class specification for information on each state. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
168 enum DFU_State_t
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
169 {
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
170 appIDLE = 0,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
171 appDETACH = 1,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
172 dfuIDLE = 2,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
173 dfuDNLOAD_SYNC = 3,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
174 dfuDNBUSY = 4,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
175 dfuDNLOAD_IDLE = 5,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
176 dfuMANIFEST_SYNC = 6,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
177 dfuMANIFEST = 7,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
178 dfuMANIFEST_WAIT_RESET = 8,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
179 dfuUPLOAD_IDLE = 9,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
180 dfuERROR = 10
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
181 };
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
182
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
183 /** DFU command status error codes. Refer to the DFU class specification for information on each error code. */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
184 enum DFU_Status_t
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
185 {
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
186 OK = 0,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
187 errTARGET = 1,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
188 errFILE = 2,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
189 errWRITE = 3,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
190 errERASE = 4,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
191 errCHECK_ERASED = 5,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
192 errPROG = 6,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
193 errVERIFY = 7,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
194 errADDRESS = 8,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
195 errNOTDONE = 9,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
196 errFIRMWARE = 10,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
197 errVENDOR = 11,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
198 errUSBR = 12,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
199 errPOR = 13,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
200 errUNKNOWN = 14,
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
201 errSTALLEDPKT = 15
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
202 };
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
203
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
204 /* Function Prototypes: */
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
205 void SetupHardware(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
206 void ResetHardware(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
207
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
208 void EVENT_USB_Device_UnhandledControlRequest(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
209
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
210 #if defined(INCLUDE_FROM_BOOTLOADER_C)
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
211 static void DiscardFillerBytes(uint8_t NumberOfBytes);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
212 static void ProcessBootloaderCommand(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
213 static void LoadStartEndAddresses(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
214 static void ProcessMemProgCommand(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
215 static void ProcessMemReadCommand(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
216 static void ProcessWriteCommand(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
217 static void ProcessReadCommand(void);
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
218 #endif
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
219
b373b0288715 added missing sanguino files
mbayer
parents:
diff changeset
220 #endif /* _ARDUINO_USB_DFU_BOOTLOADER_H_ */

mercurial