summaryrefslogtreecommitdiffstats
path: root/firmware/releases/release notes.txt
blob: 1091b253b3e66a1dddd865e82c77f2bd97606dea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
== 1.04 - not yet released ==

firmware:
 o Further reduction in code size - not enough to gain another page yet
 o Reduced default configuration's timeout from 5ms to 2.5ms - seems to work on Mac, Windows 7, and Linux
 o Timeout mechanism now more robust - any usb requests reset timeout
 o You can poll info requests once every half second or so to keep bootloader captive, so it doesn't launch user program
  -- this is useful for programs which are likely to do strange things to the USB data lines - less freaking out usb
  -- root hubs in specialist applications where that can be predicted
 o Added warning when bootloader configured with idle timeout below duration of erase request (the longest running request)

commandline:
 o Added percentage progress logging
 o New --dump-progress option outputs computer readable JSON lines, for driving GUIs, including raw progress bar data
 o Can pass "-" as filename to upload via stdin, for GUI apps
 o Exit code is more reliably not zero when an error occurs, and zero when upload succeeds flawlessly
 o Detect and refuse to upload to unknown newer versions of firmware
 o Adjusted some delays - uploads now take about a quarter to half of a second less time
 o `make install` works and installs to /usr/local/bin (anyone know how to make this smarter?)

commandline's c library:
 o progress argument to eraseFlash and writeFlash functions - a function to call frequently with progress data
  -- eraseFlash: library currently simulates progress, by providing the erase_sleep progress in steps of 1%
  -- writeFlash: provides real progress, at about one update every write_sleep milliseconds (usually about 8-10ms)


== 1.03 - released 2012-9-30 ==

 o Reduced bootloader size by one page, expanding memory for user program by 64 bytes
 o Adjusted tinyvector table to correct size (four bytes) - giving user program two more bytes
 o Changed upload protocol in an incompatible way to enable smaller bootloaders in the future
 o Now we have a command line tool (which detects 1.02 and works around upload protocol differences)
 o Now requires all pages be written
 o 'Finish' command repurposed as 'run' command for bootloader configs where running user program maybe optional


== 1.02 - released 2012-9-30 ==

 o Most recent build before next release where some subtle protocol changes took place