summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcpldcpu <cpldcpu@gmail.com>2013-11-27 19:56:01 +0100
committercpldcpu <cpldcpu@gmail.com>2013-11-27 19:56:01 +0100
commit6b890afca8dcf7b470dd10a2fd76c5dc97fa6061 (patch)
tree57454454d05fefb3cdd452288598c35900a71662
parent64153397eef3bc5ed0c13435d1cbee5ec022fed9 (diff)
downloadmicronucleus-6b890afca8dcf7b470dd10a2fd76c5dc97fa6061.tar.gz
micronucleus-6b890afca8dcf7b470dd10a2fd76c5dc97fa6061.tar.bz2
micronucleus-6b890afca8dcf7b470dd10a2fd76c5dc97fa6061.zip
Move Usbinit, using wdt now
make micronucleus more similar to littlewire
-rw-r--r--firmware/Makefile2
-rw-r--r--firmware/main.c12
-rw-r--r--firmware/releases/micronucleus-1.10rc3.hex127
3 files changed, 137 insertions, 4 deletions
diff --git a/firmware/Makefile b/firmware/Makefile
index 8213461..95a48e7 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -24,7 +24,7 @@ LOCKOPT = -U lock:w:0x2f:m
# - for the size of your device (8kb = 1024 * 8 = 8192) subtract above value 2124... = 6068
# - How many pages in is that? 6068 / 64 (tiny85 page size in bytes) = 94.8125
# - round that down to 94 - our new bootloader address is 94 * 64 = 6016, in hex = 1780
-BOOTLOADER_ADDRESS = 1840
+BOOTLOADER_ADDRESS = 1800
PROGRAMMER = -c USBasp
# PROGRAMMER contains AVRDUDE options to address your programmer
diff --git a/firmware/main.c b/firmware/main.c
index 57987e1..f03484d 100644
--- a/firmware/main.c
+++ b/firmware/main.c
@@ -325,11 +325,12 @@ void PushMagicWord (void) {
/* ------------------------------------------------------------------------ */
static inline void initForUsbConnectivity(void) {
- usbInit();
+
/* enforce USB re-enumerate: */
usbDeviceDisconnect(); /* do this while interrupts are disabled */
_delay_ms(300); // reduced to 300ms from 500ms to allow faster resetting when no usb connected
usbDeviceConnect();
+ usbInit(); // Initialize INT settings after reconnect
sei();
}
@@ -371,6 +372,8 @@ static inline void leaveBootloader(void) {
bootLoaderExit();
cli();
usbDeviceDisconnect(); /* Disconnect micronucleus */
+
+ wdt_disable(); /* Disable watchdog */
USB_INTR_ENABLE = 0;
USB_INTR_CFG = 0; /* also reset config bits */
@@ -403,7 +406,8 @@ int main(void) {
#endif
// MCUSR=0; /* clean wdt reset bit if reset occured due to wdt */
- wdt_disable(); /* main app may have enabled watchdog */
+ // wdt_disable();
+ wdt_enable(WDTO_1S); /* enable watchdog and set to 500ms. */
tiny85FlashInit();
bootLoaderInit();
@@ -424,10 +428,12 @@ int main(void) {
# endif
initForUsbConnectivity();
-
+
+
do {
usbPoll();
+ wdt_reset();
_delay_us(100);
// these next two freeze the chip for ~ 4.5ms, breaking usb protocol
diff --git a/firmware/releases/micronucleus-1.10rc3.hex b/firmware/releases/micronucleus-1.10rc3.hex
new file mode 100644
index 0000000..8eddd45
--- /dev/null
+++ b/firmware/releases/micronucleus-1.10rc3.hex
@@ -0,0 +1,127 @@
+:1018000022C040C059C03EC03DC03CC03BC03AC0F1
+:1018100039C038C037C036C035C034C033C0090203
+:1018200012000101008032090400000000000000E5
+:1018300012011001FF000008D01653070A01000032
+:1018400000010403090411241FBECFE5D2E0DEBF6E
+:10185000CDBF00EB0F9307E00F9310E0A0E6B0E0E0
+:10186000EEEBFFE102C005900D92A636B107D9F765
+:1018700020E0A6E6B0E001C01D92AB39B207E1F767
+:10188000F0D19BC3BDCFA82FB92F80E090E041E0FD
+:1018900050EA609530E009C02D9182279795879591
+:1018A00010F084279527305EC8F36F5FA8F3089582
+:1018B000EADF8D939D930895CF93CFB7CF93C091D7
+:1018C0005F02C03B21F4C0915E02C73021F0CF918E
+:1018D000CFBFCF9194CFCC27C395B39BE9F7B39BF0
+:1018E0000BC0B39B09C0B39B07C0B39B05C0B39BA0
+:1018F00003C0B39B01C0D3C00F92DF93C0917E00A1
+:10190000DD27CB57DF4F012EB39B03C0DF910F9034
+:10191000E6CF2F930F931F934F932FEF4F6F06B385
+:1019200003FB20F95F933F9350E03BE065C016B3A3
+:101930000126502953FDC89556B3012703FB25F90D
+:101940002F7306B3B1F05027102713FB26F906B208
+:101950002230F0F000C016B3012703FB27F901265F
+:10196000502906B22430E8F54F77206816B30000FE
+:10197000F6CF50274F7D206206B2102F000000C026
+:1019800006B300265029102713FB26F906B2E2CF32
+:101990004F7B06B3206400C0DACF012650291871AE
+:1019A00006B269F14E7F2160012F16B328C00026D0
+:1019B00050294D7F06B22260102F29C001265029E0
+:1019C0004B7F06B22460012F2DC016B3012650298B
+:1019D000477F2860000006B22EC04F7E06B320610C
+:1019E00030C0422706B3499300265029102706B27B
+:1019F0004FEF13FB20F9297F16B379F2187159F1D3
+:101A00000126502906B2012703FB21F9237F06B3E3
+:101A100071F2002650293150D0F006B2102713FB86
+:101A200022F9277E16B351F201265029012703FB24
+:101A300006B223F92F7C49F2000006B3102713FBEE
+:101A400024F90026502906B22F7939F270CF10E21E
+:101A50001ABF002717C03B503195C31BD04010E27E
+:101A60001ABF0881033CF9F00B34E9F020917C00A7
+:101A70001981110F1213EDCF093651F10D3211F00A
+:101A8000013E39F7009383003F915F914F911F9181
+:101A90000F912F91DF910F90CAB7C5FD1DCFCF9148
+:101AA000CFBFCF91189520918300222369F3109125
+:101AB0008100112321F5343022F1309381002093ED
+:101AC0007D0010917E003BE0311B30937E0019C0F9
+:101AD0000091810001309CF40AE53091600034FDF2
+:101AE00011C000936000C1E7D0E010C0052710E0EE
+:101AF00000C021C0052710E0C89508BB14C03AE516
+:101B000001C032ED032EC0E0D0E032E017B318611F
+:101B1000C39A08B317BB58E120E84FEF20FF052711
+:101B200008BB279517951C3F28F700004552B0F7D2
+:101B300020FF0527279508BB17951C3FB8F629916C
+:101B40003A9561F7077E10918200110F08BBC250D1
+:101B5000D04011F010937C0010E21ABF086017B358
+:101B6000177E402F477E54E05A95F1F708BB17BB0C
+:101B700048BB8ACFF8942FEFB0E8A0E44AE0B1BFA9
+:101B8000000081EE9CE0B399FECFB39BFECF01979E
+:101B9000B399FDCF97FF03C0BA1B819501C0BA0F5F
+:101BA000A69529F4281710F031B7282FA1E041504D
+:101BB00031F731BF0000789408958FB7F894E09121
+:101BC0006900F0916A00329795E090935700E8958C
+:101BD0008FBF08952091690030916A002115310569
+:101BE00089F12430310591F12C3F47E1340739F474
+:101BF00080916B0090916C008E5F9B4F10C02E3FC8
+:101C000047E1340739F480916D0090916E008D5F4B
+:101C10009B4F05C02A3F374111F481B790E02FB7A1
+:101C2000F894E0916900F0916A0031E00C01309382
+:101C30005700E89511242FBF3296F0936A00E09385
+:101C40006900089581E180935700E8958FEF9BEC40
+:101C5000E6CF8FEF9FEFBEDF809169008F73C9F7EA
+:101C6000ACCF2EE088E190E00FB6F894A89581BD46
+:101C70000FBE21BDE1E0F0E0E491EF3F09F4E9DFC0
+:101C800010926A0010926900BB9A88EB9BE0ECE925
+:101C9000F1E03197F1F70197D1F7BB98AC9A8BB788
+:101CA00080628BBF789400918100035007FDCFC004
+:101CB00080917E00CCE0D0E0C81BD109CB57DF4F2C
+:101CC00080917D008D3209F090C0083009F0BDC0D0
+:101CD00083EC809371008AE58093600010926F001E
+:101CE0002881922F90768981992329F1109267009B
+:101CF00010926600811108C082E690E09093800007
+:101D000080937F0014E067C0813051F48C819D8105
+:101D100090936A008093690027FD58C01FEF57C059
+:101D200090916800823011F4916001C094609093AA
+:101D3000680010E050C09A8110927A00811106C0AC
+:101D400010927B008AE790E012E03BC0853019F4E6
+:101D5000909382002CC0863009F58B81813019F474
+:101D600080E398E104C0823041F48EE198E19093E1
+:101D7000800080937F0012E10DC0833051F49111F7
+:101D800008C082E498E19093800080937F0014E083
+:101D900001C010E080E480936F001DC0883059F0CE
+:101DA000893019F49093840002C08A3039F08AE7B0
+:101DB00090E010E006C084E890E002C08AE790E07E
+:101DC00011E09093800080937F0005C01E8180E821
+:101DD00080936F0007C08F81811104C08E818117AD
+:101DE00008F4182F1093610030C080916F0087FFB6
+:101DF0002CC08091690090916A00009739F4888125
+:101E0000998190936C0080936B0012C0843091058F
+:101E100039F48881998190936E0080936D0008C099
+:101E20008115984128F0809169008F7339F00DC0B9
+:101E300089919991CFDE0250E1F6F5CF809168004B
+:101E400082608093680010926100109281008091FE
+:101E5000600084FF43C0809161008F3F09F43EC061
+:101E6000082F893008F008E0801B80936100809182
+:101E7000710098E8892780937100002319F1E0919F
+:101E80007F00F091800080916F0086FF0BC0A2E779
+:101E9000B0E084918D93319682E790E0800F8A13B1
+:101EA000F8CF0CC0CF01A2E7B0E0FC012191CF0137
+:101EB0002D9322E730E0200F2A13F7CFF093800014
+:101EC000E0937F00602F82E790E0F2DC0C5F0C3043
+:101ED00019F08FEF809361000093600084E196B366
+:101EE000987131F48150D9F71092820010927C00E1
+:101EF00001E0811100E080917000801739F001113C
+:101F000003C01092670036DE00937000A8958CE93C
+:101F100091E00197F1F78091680080FF11C0F8947B
+:101F2000E0E0F8E1E054F10983E080935700E895A0
+:101F30003097C1F710926A00109269008ADE789497
+:101F40000091680001FF0BC08AE390E20197F1F76E
+:101F5000809169008F7311F07CDE01C02EDE02FFDC
+:101F600018C082E291EA0197F1F7F894BB9A88E1F0
+:101F70000FB6F89481BD11BC0FBE1BBE15BA1092EE
+:101F80005F02EAEFF7E1E4918E2F81508E3F88F0F7
+:101F900012C01092680080916600909167000196CF
+:101FA000909367008093660080369A4E08F47BCE4B
+:0E1FB000D8CFE1BF000022CC0ECFF894FFCFB7
+:061FBE005AFF17FA40086B
+:0400000300001800E1
+:00000001FF