Minor cleanup of the CDC bootloader.
authorDean Camera <dean@fourwalledcubicle.com>
Sat, 20 Oct 2012 11:27:18 +0000 (11:27 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sat, 20 Oct 2012 11:27:18 +0000 (11:27 +0000)
Bootloaders/CDC/BootloaderCDC.c
Bootloaders/CDC/BootloaderCDC.h

index 9830ba7..656f1e0 100644 (file)
@@ -96,7 +96,7 @@ void Application_Jump_Check(void)
        {
                /* Turn off the watchdog */
                MCUSR &= ~(1<<WDRF);
        {
                /* Turn off the watchdog */
                MCUSR &= ~(1<<WDRF);
-               wdt_disable(); 
+               wdt_disable();
 
                /* Clear the boot key and jump to the user application */
                MagicBootKey = 0;
 
                /* Clear the boot key and jump to the user application */
                MagicBootKey = 0;
@@ -129,7 +129,7 @@ int main(void)
 
        /* Disconnect from the host - USB interface will be reset later along with the AVR */
        USB_Detach();
 
        /* Disconnect from the host - USB interface will be reset later along with the AVR */
        USB_Detach();
-       
+
        /* Unlock the forced application start mode of the bootloader if it is restarted */
        MagicBootKey = MAGIC_BOOT_KEY;
 
        /* Unlock the forced application start mode of the bootloader if it is restarted */
        MagicBootKey = MAGIC_BOOT_KEY;
 
@@ -442,7 +442,7 @@ static void CDC_Task(void)
        }
        else if (Command == AVR109_COMMAND_SetCurrentAddress)
        {
        }
        else if (Command == AVR109_COMMAND_SetCurrentAddress)
        {
-               /* Set the current address to that given by the host */
+               /* Set the current address to that given by the host (translate 16-bit word address to byte address) */
                CurrAddress   = (FetchNextCommandByte() << 9);
                CurrAddress  |= (FetchNextCommandByte() << 1);
 
                CurrAddress   = (FetchNextCommandByte() << 9);
                CurrAddress  |= (FetchNextCommandByte() << 1);
 
@@ -460,7 +460,7 @@ static void CDC_Task(void)
                for (uint8_t CurrByte = 0; CurrByte < 7; CurrByte++)
                  WriteNextResponseByte(SOFTWARE_IDENTIFIER[CurrByte]);
        }
                for (uint8_t CurrByte = 0; CurrByte < 7; CurrByte++)
                  WriteNextResponseByte(SOFTWARE_IDENTIFIER[CurrByte]);
        }
-       else if (Command == AVR109_COMMAND_ReadBootloaderVersion)
+       else if (Command == AVR109_COMMAND_ReadBootloaderSWVersion)
        {
                WriteNextResponseByte('0' + BOOTLOADER_VERSION_MAJOR);
                WriteNextResponseByte('0' + BOOTLOADER_VERSION_MINOR);
        {
                WriteNextResponseByte('0' + BOOTLOADER_VERSION_MAJOR);
                WriteNextResponseByte('0' + BOOTLOADER_VERSION_MINOR);
index 832cc8b..c82101c 100644 (file)
@@ -70,7 +70,7 @@
 
                /** Magic bootloader key to unlock forced application start mode. */
                #define MAGIC_BOOT_KEY               0xDC42
 
                /** Magic bootloader key to unlock forced application start mode. */
                #define MAGIC_BOOT_KEY               0xDC42
-       
+
        /* Enums: */
                /** Possible memory types that can be addressed via the bootloader. */
                enum AVR109_Memories
        /* Enums: */
                /** Possible memory types that can be addressed via the bootloader. */
                enum AVR109_Memories
@@ -78,7 +78,7 @@
                        MEMORY_TYPE_FLASH  = 'F',
                        MEMORY_TYPE_EEPROM = 'E',
                };
                        MEMORY_TYPE_FLASH  = 'F',
                        MEMORY_TYPE_EEPROM = 'E',
                };
-               
+
                /** Possible commands that can be issued to the bootloader. */
                enum AVR109_Commands
                {
                /** Possible commands that can be issued to the bootloader. */
                enum AVR109_Commands
                {
@@ -99,7 +99,8 @@
                        AVR109_COMMAND_WriteLockbits            = 'l',
                        AVR109_COMMAND_EraseFLASH               = 'e',
                        AVR109_COMMAND_ReadSignature            = 's',
                        AVR109_COMMAND_WriteLockbits            = 'l',
                        AVR109_COMMAND_EraseFLASH               = 'e',
                        AVR109_COMMAND_ReadSignature            = 's',
-                       AVR109_COMMAND_ReadBootloaderVersion    = 'V',
+                       AVR109_COMMAND_ReadBootloaderSWVersion  = 'V',
+                       AVR109_COMMAND_ReadBootloaderHWVersion  = 'v',
                        AVR109_COMMAND_ReadBootloaderIdentifier = 'S',
                        AVR109_COMMAND_ReadBootloaderInterface  = 'p',
                        AVR109_COMMAND_SetCurrentAddress        = 'A',
                        AVR109_COMMAND_ReadBootloaderIdentifier = 'S',
                        AVR109_COMMAND_ReadBootloaderInterface  = 'p',
                        AVR109_COMMAND_SetCurrentAddress        = 'A',
                        AVR109_COMMAND_ClearLED                 = 'y',
                        AVR109_COMMAND_ExitBootloader           = 'E',
                };
                        AVR109_COMMAND_ClearLED                 = 'y',
                        AVR109_COMMAND_ExitBootloader           = 'E',
                };
-               
+
        /* Type Defines: */
                /** Type define for a non-returning pointer to the start of the loaded application in flash memory. */
                typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;
        /* Type Defines: */
                /** Type define for a non-returning pointer to the start of the loaded application in flash memory. */
                typedef void (*AppPtr_t)(void) ATTR_NO_RETURN;