aboutsummaryrefslogtreecommitdiff
path: root/bootloaders/caterina_LUFA/Descriptors.c
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2012-02-14 12:17:30 -0500
committerZach Eveland <zeveland@blacklabel-development.com>2012-02-14 12:17:30 -0500
commit79481252081da0bdc4501cf039c060efcdf85c95 (patch)
treead6915f694dbfdcab4196da2ca3b98bbcc0f4365 /bootloaders/caterina_LUFA/Descriptors.c
parent19c44dd5fd671823610f6b6277874c956cced90e (diff)
Leonardo now checks whether bootloader should be run after a WDT event.
Before the sketch initiates an auto-reset for upload it pokes a magic word into a specific RAM address. On starting the bootloader checks this address. If it finds the magic word it knows the bootloader code should run. If not it jumps straight back to sketch. Test in a sketch by adding to setup(): wdt_enable(WDTO_2S); Sketch should upload, start, run for two seconds, WDT, and sketch should restart (not bootloader). Had to cut out unused descriptor code to make the bootloader still fit in 4k.
Diffstat (limited to 'bootloaders/caterina_LUFA/Descriptors.c')
-rwxr-xr-xbootloaders/caterina_LUFA/Descriptors.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/bootloaders/caterina_LUFA/Descriptors.c b/bootloaders/caterina_LUFA/Descriptors.c
index b5b1aee..f1756e2 100755
--- a/bootloaders/caterina_LUFA/Descriptors.c
+++ b/bootloaders/caterina_LUFA/Descriptors.c
@@ -195,14 +195,14 @@ const USB_Descriptor_String_t ProductString =
.UnicodeString = L"Arduino Leonardo"
};
-
+/*
const USB_Descriptor_String_t SerialNumString =
{
.Header = {.Size = USB_STRING_LEN(12), .Type = DTYPE_String},
.UnicodeString = L"000000001452"
};
-
+*/
const USB_Descriptor_String_t ManufNameString =
{
.Header = {.Size = USB_STRING_LEN(11), .Type = DTYPE_String},
@@ -246,10 +246,10 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
{
Address = &ProductString;
Size = ProductString.Header.Size;
- } else if (DescriptorNumber == DeviceDescriptor.SerialNumStrIndex)
- {
- Address = &SerialNumString;
- Size = SerialNumString.Header.Size;
+// } else if (DescriptorNumber == DeviceDescriptor.SerialNumStrIndex)
+// {
+// Address = &SerialNumString;
+// Size = SerialNumString.Header.Size;
} else if (DescriptorNumber == DeviceDescriptor.ManufacturerStrIndex)
{
Address = &ManufNameString;