summaryrefslogtreecommitdiffstats
path: root/firmware/main.c
Commit message (Collapse)AuthorAgeFilesLines
...
* firmware: code clean up, consolidated wait loops to save 4 bytescpldcpu2013-12-281-35/+30
|
* firmware: More robut WDT handlingcpldcpu2013-12-281-9/+13
| | | | backported optimization by @gblargg
* firmware: fix tabscpldcpu2013-12-281-124/+122
|
* firmware: removed low power code - was dysfunctionalcpldcpu2013-12-281-31/+9
|
* firmware: default is entry_always, kill warningcpldcpu2013-12-281-1/+1
|
* firmware: clean up entrymodecpldcpu2013-12-281-4/+3
|
* firmware: clean up LED codecpldcpu2013-12-281-34/+29
|
* firmware: move increment idlePolls to main againcpldcpu2013-12-281-1/+2
|
* firmware: clean up nopcpldcpu2013-12-271-4/+5
|
* firmware: bootloader will only exit when program was loadedcpldcpu2013-12-171-26/+30
|
* firmware: Clean buffer at begin of writecpldcpu2013-12-161-4/+4
| | | | improve robustness
* firmware: fix condition for EXECUTEcpldcpu2013-12-161-1/+1
| | | | read high byte of user programm reset vector
* don't exit bootloader with clean memorycpldcpu2013-12-151-20/+17
|
* C99 typescpldcpu2013-12-151-8/+8
|
* restructure, optimizations by shay #1cpldcpu2013-12-151-24/+31
| | | | -> use register for events
* Release notes, hex files and readmecpldcpu2013-12-151-2/+3
|
* more cleaning upcpldcpu2013-12-151-29/+8
|
* Source clean upcpldcpu2013-12-071-140/+40
| | | | | | -inlining all function that are only called once -sei/cli without memory barrier - size optimizations
* custom crt, remove tiny85flashinit, UNTESTEDcpldcpu2013-12-061-4/+5
|
* removed redundant code - untestedcpldcpu2013-12-011-34/+20
|
* Move Usbinit, using wdt nowcpldcpu2013-11-271-3/+9
| | | | make micronucleus more similar to littlewire
* update version numbercpldcpu2013-11-251-3/+3
|
* clean up, added LED, NO USB exit delaycpldcpu2013-11-251-34/+32
| | | | | | | Work towards v1.10 - Clean up bootloaderconfig.h - Included option for LED - Included second timout if no USB connected
* minorcpldcpu2013-11-181-6/+8
|
* Dont wait for writes - CPU is halted anyways.cpldcpu2013-11-181-2/+3
|
* Freebie: Removed unused code for 6 byte gaincpldcpu2013-11-041-19/+1
|
* Updated USB Driver, nanite, oscalcpldcpu2013-11-041-14/+21
|
* Bugfixes to make micronucleus reentrantcpldcpu2013-10-251-0/+3
|
* Revert changes to writeFlashPage()cpldcpu2013-10-251-24/+28
| | | | | | Revert changes to writeFlashPage() - the changes introduced some inconsistency and only saved 4 bytes anyways. This version is verified and works.
* tiny85FlashInit(); only checks on byte nowcpldcpu2013-10-091-5/+2
| | | | 20 bytes less
* moved vector functions to writeFlashPage(), fixed RESTORE_OSCCALcpldcpu2013-10-091-22/+25
|
* Reduce accesses to global variable idlePollscpldcpu2013-10-071-1/+0
| | | | saves 8 bytes
* Do modulo only on lower byte - saves 24 bytescpldcpu2013-10-071-3/+28
| | | | | | | | | | | | | | | | | | | | GCC generated some quite weird code from the module operations. Although highly optimized, most of the instructions are redundant. Is this a bug? The current solution is a bit hacky, but should also work when the pages size is changed in future devices. uchar isLast = (((currentAddress&0xff) % SPM_PAGESIZE) == 0); 1e02: 80 91 69 00 lds r24, 0x0069 1e06: 90 91 6a 00 lds r25, 0x006A 1e0a: 8f 73 andi r24, 0x3F ; 63 1e0c: 99 27 eor r25, r25 // 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 1e0e: 89 2b or r24, r25 1e10: 39 f0 breq .+14 ; 0x1e20 <main+0x1ee> 1e12: 0d c0 rjmp .+26 ; 0x1e2e <main+0x1fc>
* Use delay routines without NOP padding. this saves 16 bytescpldcpu2013-10-071-0/+3
|
* A single write is sufficient to invalidate magic word - saves 4 bytescpldcpu2013-10-071-2/+2
|
* Use a local pointer in eraseApplicatoin() - saves 18 Bytescpldcpu2013-10-071-9/+8
|
* some small mistakes I noticed while going through the code with a ↵Louis Beaudoin2013-06-061-1/+1
| | | | | | | | | | fine-toothed comb: main.c - POSTSCRIPT_SIZE should be 6, not 4, now that there's a word to store OSCCAL micronucleus_lib.c - bcdUSB referring to USB Spec 1.1 is used, instead of bcdDevice, referring to the device release number
* fix interrupt enable during application erase (via andihofmeister)Bluebie2013-05-261-3/+7
|
* Firmware & Upgrade: Released 1.06! yet to add -jumper release tho. Fixes ↵Bluebie2013-03-041-6/+12
| | | | clock speed thing - always starts at 16.5mhz now!
* firmware: added osccal store and retrieve code, untestedBluebie2013-03-041-6/+11
|
* remove a little pointless code..Bluebie2013-02-081-1/+1
|
* revert timing to be like 1.02 - 5 sec wait, 8ms write delayBluebie2013-02-081-2/+2
|
* Firmware Release! 1.04 is now out.Bluebie2012-10-051-1/+1
|
* Reduced default WRITE_SLEEP value from 8 to 6, for 25% faster writing and ↵Bluebie2012-10-051-1/+1
| | | | erasing
* Added low power mode, for chips which need to start with clkdiv8 and only ↵Bluebie2012-10-041-1/+30
| | | | switch to 16.5mhz when usb connection is detected somehow.
* idle polls now resets on any usb request, so you can hold on to the ↵Jenna Fox2012-10-031-8/+12
| | | | bootloader by polling it with info requests. a couple times per second.
* Cleaning up some comments and old references to previous µBoot name.Jenna Fox2012-09-301-12/+14
|
* simplified some code, shaving off a few bytesJenna Fox2012-09-301-7/+12
|
* Remove finish flash writes method, brings code down to 2090 bytes = 33 pages ↵Jenna Fox2012-09-301-25/+16
| | | | = 2.062kb in avr-gcc 4.3.3
* remove writeLengthJenna Fox2012-09-301-4/+5
|