diff options
author | cpldcpu <cpldcpu@gmail.com> | 2014-02-21 09:09:03 +0100 |
---|---|---|
committer | cpldcpu <cpldcpu@gmail.com> | 2014-02-21 09:09:03 +0100 |
commit | 2297c1546d74a3cdeed5e3a3c064ca75f122ee4a (patch) | |
tree | 53dd1e5f27d23303ed58ca3af8c1bf9f1ab8a83d /firmware/main.c | |
parent | eef6c9736b07669aee8965533dba963a363b8494 (diff) | |
download | micronucleus-2297c1546d74a3cdeed5e3a3c064ca75f122ee4a.tar.gz micronucleus-2297c1546d74a3cdeed5e3a3c064ca75f122ee4a.tar.bz2 micronucleus-2297c1546d74a3cdeed5e3a3c064ca75f122ee4a.zip |
firmware: clean up configuration file
Diffstat (limited to 'firmware/main.c')
-rw-r--r-- | firmware/main.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/firmware/main.c b/firmware/main.c index cf61d3e..d60798a 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -50,6 +50,11 @@ PROGMEM const uint8_t configurationReply[4] = { MICRONUCLEUS_WRITE_SLEEP }; + typedef union { + uint16_t w; + uint8_t b[2]; + } uint16_union_t; + #if OSCCAL_RESTORE register uint8_t osccal_default asm("r2"); #endif @@ -59,7 +64,7 @@ register uint16_union_t idlePolls asm("r6"); // r6/r7 idlecounter // command system schedules functions to run in the main loop enum { - cmd_local_nop=0, // also: get device info + cmd_local_nop=0, cmd_device_info=0, cmd_transfer_page=1, cmd_erase_application=2, @@ -216,8 +221,7 @@ static inline void leaveBootloader(void) { bootLoaderExit(); - // _delay_ms(10); // Bus needs to see a few more SOFs before it can be disconnected - usbDeviceDisconnect(); /* Disconnect micronucleus */ + usbDeviceDisconnect(); /* Disconnect micronucleus */ USB_INTR_ENABLE = 0; USB_INTR_CFG = 0; /* also reset config bits */ @@ -287,8 +291,7 @@ int main(void) { eraseApplication(); // Attention: eraseApplication will set command=cmd_write_page! if (command==cmd_write_page) - writeFlashPage(); - + writeFlashPage(); if (command==cmd_exit) { if (!fastctr) break; // Only exit after 5 ms timeout } else { |