From c235d1b8cada49a42a0f48379d127937136beeae Mon Sep 17 00:00:00 2001 From: Jenna Fox Date: Thu, 27 Sep 2012 00:15:00 +1000 Subject: More comments --- firmware/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/firmware/main.c b/firmware/main.c index 2f9444f..59498b7 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -274,6 +274,7 @@ static uchar usbFunctionWrite(uchar *data, uchar length) { // TODO: Isn't this always last? // if we have now reached another page boundary, we're done uchar isLast = (writeLength == 0); + // definitely need this if! seems usbFunctionWrite gets called again in future usbPoll's in the runloop! if (isLast) fireEvent(EVENT_WRITE_PAGE); // ask runloop to write our page return isLast; // let vusb know we're done with this request @@ -320,10 +321,10 @@ static inline void tiny85FlashWrites(void) { _delay_us(2000); // TODO: why is this here? - it just adds pointless two level deep loops seems like? // write page to flash, interrupts will be disabled for > 4.5ms including erase - if (currentAddress % SPM_PAGESIZE) { - fillFlashWithVectors(); + if (currentAddress % SPM_PAGESIZE) { // when we aren't perfectly aligned to a flash page boundary + fillFlashWithVectors(); // fill up the rest of the page with 0xFFFF (unprogrammed) bits } else { - writeFlashPage(); + writeFlashPage(); // otherwise just write it } } @@ -363,7 +364,7 @@ int __attribute__((noreturn)) main(void) { bootLoaderInit(); - if (bootLoaderCondition()){ + if (bootLoaderCondition()) { initForUsbConnectivity(); do { usbPoll(); -- cgit v1.2.3