micronucleus/micronucleus — pull request #32 by cpldcpu (2013-11-24 23:46:30+00:00)
Title: 1.10 Release Candidate!

I cleaned up all the changes that accumulated in the testing branch which includes the size optimization from this pull request: https://github.com/micronucleus/micronucleus/pull/30

Besides the side optimization I also made some optimizations to the functionality, see release notes below. I would propose to release this as 1.10 as there were major changes.

I included a hex file here:

https://github.com/micronucleus/micronucleus/blob/testing/firmware/releases/micronucleus-1.10rc1.hex

@Bluebie and @Digistump, would be great if you got around testing this version. Apart from the behavioral changes below, it should be fully compatible with the remaining ecosystem.

== 1.10rc1 - 2013-11-25 ==

firmware:
Version jump to 1.10 due to major changes in firmware by @cpldcpu.
* Reduced code size to below 2kb (1974 with standard configuration) by implementing oscillator
calibration in assembler and various local code tweaking. See Github commit history for full details.
This version has 6208 bytes programmable code space.
* Micronucleus will now simulate an USB-disconnect when exiting the bootloader. This prevents various
issues with having a non-responsive USB device, including crashing the host tool. It is now possible
to enter the bootloader again by resetting the device using the watchdog timer or the reset input without
physically disconnecting from USB.
* Cleaned up bootloaderconfig.h
* Introduced a second time-out (AUTO_EXIT_NO_USB_MS) if the no USB activity is detected. This can be used
to quit the bootloader early if the device is not connected to USB. The bootloader will enter the user
program after ~0.8s with the default settings instead of 6s when USB is connected.
* Introduced optional code to flash a LED. See LED_PRESENT in bootloaderconfig.h for details.
Careful: Right now enabling the LED-code requires setting the bootloader base address to 0x1800 due
to increased code size.