projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
The ATPROGRAM LUFA build system module now defaults to the Atmel ICE debuger tool...
[pub/USBasp.git]
/
Bootloaders
/
CDC
/
BootloaderCDC.c
diff --git
a/Bootloaders/CDC/BootloaderCDC.c
b/Bootloaders/CDC/BootloaderCDC.c
index
acdcde3
..
c7eeb92
100644
(file)
--- a/
Bootloaders/CDC/BootloaderCDC.c
+++ b/
Bootloaders/CDC/BootloaderCDC.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
3
.
+ Copyright (C) Dean Camera, 201
4
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 201
3
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
4
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
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-91,6
+91,10
@@
void Application_Jump_Check(void)
if ((MCUSR & (1 << WDRF)) && (MagicBootKey == MAGIC_BOOT_KEY))
JumpToApplication |= true;
if ((MCUSR & (1 << WDRF)) && (MagicBootKey == MAGIC_BOOT_KEY))
JumpToApplication |= true;
+ /* Don't run the user application if the reset vector is blank (no app loaded) */
+ if (pgm_read_word_near(0) == 0xFFFF)
+ JumpToApplication = false;
+
/* If a request has been made to jump to the user application, honor it */
if (JumpToApplication)
{
/* If a request has been made to jump to the user application, honor it */
if (JumpToApplication)
{
@@
-223,14
+227,22
@@
void EVENT_USB_Device_ControlRequest(void)
}
break;
}
break;
+ case CDC_REQ_SetControlLineState:
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ {
+ Endpoint_ClearSETUP();
+ Endpoint_ClearStatusStage();
+ }
+
+ break;
}
}
#if !defined(NO_BLOCK_SUPPORT)
/** Reads or writes a block of EEPROM or FLASH memory to or from the appropriate CDC data endpoint, depending
}
}
#if !defined(NO_BLOCK_SUPPORT)
/** Reads or writes a block of EEPROM or FLASH memory to or from the appropriate CDC data endpoint, depending
- * on the AVR
910
protocol command issued.
+ * on the AVR
109
protocol command issued.
*
*
- * \param[in] Command Single character AVR
910
protocol command indicating what memory operation to perform
+ * \param[in] Command Single character AVR
109
protocol command indicating what memory operation to perform
*/
static void ReadWriteMemoryBlock(const uint8_t Command)
{
*/
static void ReadWriteMemoryBlock(const uint8_t Command)
{
@@
-394,7
+406,7
@@
static void WriteNextResponseByte(const uint8_t Response)
Endpoint_Write_8(Response);
}
Endpoint_Write_8(Response);
}
-/** Task to read in AVR
910
commands from the CDC data OUT endpoint, process them, perform the required actions
+/** Task to read in AVR
109
commands from the CDC data OUT endpoint, process them, perform the required actions
* and send the appropriate response back to the host.
*/
static void CDC_Task(void)
* and send the appropriate response back to the host.
*/
static void CDC_Task(void)