forked from mfulz_github/qmk_firmware
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).
This commit is contained in:
parent
dd995683ea
commit
871d9bf1af
|
@ -205,8 +205,8 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
|
|||
/* Throw away the filler bytes before the start of the firmware */
|
||||
DiscardFillerBytes(DFU_FILLER_BYTES_SIZE);
|
||||
|
||||
/* Throw away the page alignment filler bytes before the start of the firmware */
|
||||
DiscardFillerBytes(StartAddr % SPM_PAGESIZE);
|
||||
/* Throw away the packet alignment filler bytes before the start of the firmware */
|
||||
DiscardFillerBytes(StartAddr % FIXED_CONTROL_ENDPOINT_SIZE);
|
||||
|
||||
/* Calculate the number of bytes remaining to be written */
|
||||
uint16_t BytesRemaining = ((EndAddr - StartAddr) + 1);
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
* - 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 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
|
||||
*
|
||||
|
|
|
@ -96,6 +96,7 @@ FATFS DiskFATState;
|
|||
FIL TempLogFile;
|
||||
|
||||
|
||||
/** ISR to handle the 500ms ticks for sampling and data logging */
|
||||
ISR(TIMER1_COMPA_vect, ISR_BLOCK)
|
||||
{
|
||||
uint8_t LEDMask = LEDs_GetLEDs();
|
||||
|
@ -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)
|
||||
{
|
||||
char LogFileName[12];
|
||||
|
@ -172,6 +174,7 @@ void OpenLogFile(void)
|
|||
f_lseek(&TempLogFile, TempLogFile.fsize);
|
||||
}
|
||||
|
||||
/** Closes the open data log file on the Dataflash's FAT formatted partition */
|
||||
void CloseLogFile(void)
|
||||
{
|
||||
/* 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
|
|||
DS1307_SetDate(ReportParams->Day, ReportParams->Month, ReportParams->Year);
|
||||
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)
|
||||
{
|
||||
LoggingInterval500MS_SRAM = ReportParams->LogInterval500MS;
|
||||
|
|
Loading…
Reference in New Issue