Commit 871d9bf1 authored by Dean Camera's avatar Dean Camera
Browse files

Fixed DFU bootloader programming not discarding the correct number of filler...

Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming ranges are specified (thanks to Thomas Bleeker).
parent dd995683
...@@ -205,8 +205,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void) ...@@ -205,8 +205,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
/* Throw away the filler bytes before the start of the firmware */ /* Throw away the filler bytes before the start of the firmware */
DiscardFillerBytes(DFU_FILLER_BYTES_SIZE); DiscardFillerBytes(DFU_FILLER_BYTES_SIZE);
/* Throw away the page alignment filler bytes before the start of the firmware */ /* Throw away the packet alignment filler bytes before the start of the firmware */
DiscardFillerBytes(StartAddr % SPM_PAGESIZE); DiscardFillerBytes(StartAddr % FIXED_CONTROL_ENDPOINT_SIZE);
/* Calculate the number of bytes remaining to be written */ /* Calculate the number of bytes remaining to be written */
uint16_t BytesRemaining = ((EndAddr - StartAddr) + 1); uint16_t BytesRemaining = ((EndAddr - StartAddr) + 1);
......
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
* - Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers * - Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
* - Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders * - Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders
* - Fixed Benito project not resetting the target AVR automatically when programming has completed * - Fixed Benito project not resetting the target AVR automatically when programming has completed
* - Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming
* ranges are specified (thanks to Thomas Bleeker)
* *
* \section Sec_ChangeLog091223 Version 091223 * \section Sec_ChangeLog091223 Version 091223
* *
......
...@@ -96,6 +96,7 @@ FATFS DiskFATState; ...@@ -96,6 +96,7 @@ FATFS DiskFATState;
FIL TempLogFile; FIL TempLogFile;
/** ISR to handle the 500ms ticks for sampling and data logging */
ISR(TIMER1_COMPA_vect, ISR_BLOCK) ISR(TIMER1_COMPA_vect, ISR_BLOCK)
{ {
uint8_t LEDMask = LEDs_GetLEDs(); uint8_t LEDMask = LEDs_GetLEDs();
...@@ -157,6 +158,7 @@ int main(void) ...@@ -157,6 +158,7 @@ int main(void)
} }
} }
/** Opens the log file on the Dataflash's FAT formatted partition according to the current date */
void OpenLogFile(void) void OpenLogFile(void)
{ {
char LogFileName[12]; char LogFileName[12];
...@@ -172,6 +174,7 @@ void OpenLogFile(void) ...@@ -172,6 +174,7 @@ void OpenLogFile(void)
f_lseek(&TempLogFile, TempLogFile.fsize); f_lseek(&TempLogFile, TempLogFile.fsize);
} }
/** Closes the open data log file on the Dataflash's FAT formatted partition */
void CloseLogFile(void) void CloseLogFile(void)
{ {
/* Sync any data waiting to be written, unmount the storage device */ /* Sync any data waiting to be written, unmount the storage device */
...@@ -301,6 +304,7 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI ...@@ -301,6 +304,7 @@ void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
DS1307_SetDate(ReportParams->Day, ReportParams->Month, ReportParams->Year); DS1307_SetDate(ReportParams->Day, ReportParams->Month, ReportParams->Year);
DS1307_SetTime(ReportParams->Hour, ReportParams->Minute, ReportParams->Second); DS1307_SetTime(ReportParams->Hour, ReportParams->Minute, ReportParams->Second);
/* If the logging interval has changed from its current value, write it to EEPROM */
if (LoggingInterval500MS_SRAM != ReportParams->LogInterval500MS) if (LoggingInterval500MS_SRAM != ReportParams->LogInterval500MS)
{ {
LoggingInterval500MS_SRAM = ReportParams->LogInterval500MS; LoggingInterval500MS_SRAM = ReportParams->LogInterval500MS;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment