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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
|
# ChangeLog
Items should be sorted roughly in order of most to least important, with
model-specific changes at the bottom. Most items should use one of these
formats:
- Breaking change:
- Added
- Fixed
- Removed
- Changed
- Documented
- &brand-model: Hardware-specific change (NNNN, NNNN, ...)
# Next
# 2023-12-03
This release is somewhat higher risk than usual, because so many large things
changed deep in the code. I did major restructuring and refactoring across the
entire project. It should work fine, but be on the lookout for any weird
problems.
General:
- Moved from Bzr + Launchpad to **Git + GitHub**, by popular request.
- **Completely reorganized the project** files. Really, a *massive* amount of
restructuring. The flashlight end-user interface is still the same, but
expect to have to learn the code layout from scratch. Read the [README.md]
for info about getting started with the new project layout.
- Added support for AVR DD MCUs like **avr32dd20**. This is the recommended
MCU to use in new flashlights.
- Added ability to use turbo in momentary mode.
- Upgraded **battery voltage resolution** from 0.1V steps to **0.025V** steps.
Battery check has an extra digit which can be 0, 2, 5, or 7 (for example, for
3.70V, 3.725V, .3.75V, and 3.775V).
- Re-calibrated timing on each MCU type, so a 1-second beacon flasher should be
closer to 1 actual second now... mostly. Timing still varies significantly
from one light to another.
- Fixed default bike flasher brightness on some builds. It was sometimes way
too high.
- Fixed RGB aux turning on during momentary mode sometimes.
- Converted documentation to markdown format, and rewrote a lot of it.
- Fixed some build issues with specific compile-time options.
- Changed the format of **version numbers**. It now uses the most recent
release tag instead of the build date, and **may have additional numbers at
the end** to indicate distance from the last official release, and whether
the repo was clean or dirty. Today's release is `MODEL-2023-12-03`. A
derivative built 52 commits later in a dirty repo would look like
`MODEL-2023-12-03-52-1`.
New lights:
- Added &thefreeman-avr32dd20-devkit. It's only used for development purposes,
but otherwise it's pretty neat. It'll be the basis for many new lights in
the future. (model 1632dd20)
Hardware-specific changes:
- Improved idle efficiency on attiny1616, which was spending entirely too much
time doing math it didn't actually need.
- &hank-\*-boost: Fixed flicker while holding button at moon level. Reduced
ripple on low modes. (0216, 0253, 0273)
- &lumintop-blf-gt: Added smooth steps. Removed a couple other things to make
room. (0321)
- &lumintop-fw3x: Multiple fixes and upgrades... (0314, 0315)
- Fixed thermal regulation. Also fixed the external temperature sensor.
- Made moon much lower, and made ramp much smoother, by upgrading to DSM.
- Fixed the aux RGB pinouts because Lumintop got the wiring backward.
- Added a second build target for people who fixed the wires manually.
- Added red/blue police color strobe.
- Made low modes more efficient with underclocking. Moon should run at least
4X as long as it did before.
- Fixed party strobe being blurry.
- Added documentation for the FW3X's multiple, uh, quirks.
- &sofirn-lt1s-pro: Disabled manual memory, memory timer, and extended simple
UI by default. Simple mode is simpler, and the factory settings should be
more consistent with other lights now. (0623)
# 2023-10-31
General:
- Finally finished converting all lights to the multi-channel API.
(but a few are untested due to hardware being unavailable)
- Enabled smooth steps on almost all supported lights, including old ones.
(in some cases, on old t85 lights, some other things may have been removed
to make room)
- Made smooth steps work better, and fixed several bugs.
- Added/fixed RGB aux voltage on dual-fuel AA/li-ion drivers.
- Fixed delay timing on all supported MCUs, so 1 "second" is closer to an
actual second (like in beacon mode or biking mode).
(especially attiny1616, which was 17% too slow)
- Raised default thermal limit to 50C on attiny1616-based lights, since
it doesn't need as big an error margin as older MCUs.
- Fixed missing item in globals menu on some lights.
- Misc internal improvements and per-light tweaks.
- Added a ChangeLog.md, to periodically summarize changes in a format which is
more readable than the raw commit logs.
New lights:
- &thefreeman-boost21-6a: Added. (1631)
(very nice HDR boost driver which fits into a FW3A)
- &thefreeman-boost-fwaa: Added. (1632)
(very nice AA/li-ion HDR boost driver which fits into a FWAA)
Hardware-specific changes:
- Upgraded several builds to use delta-sigma modulation (DSM), for
lower lows and smoother ramping with less flicker or ripple:
- &blf-lt1 (0621)
- &blf-lt1-t1616 (0622)
- &emisar-d4k-3ch (0151)
(**dramatically** improves resolution and low modes on its 8-bit channel)
- &noctigon-dm11-boost (0273)
- &noctigon-kr4-boost (0216)
- &noctigon-k1-boost (0253)
- &noctigon-m44 (0143)
- Upgraded some builds to use dynamic PWM, for lower lows and smoother ramping:
- &blf-q8-t1616, &sofirn-sp36-t1616 (0613, 0614)
- &gchart-fet1-t1616 (1618)
- &noctigon-k1-sbt90 (0252)
- &wurkkos-ts10, &wurkkos-ts10-rgbaux: Fixed too-high default ceiling. (0713, 0714)
# 2023-10-01
General:
- Updated a bunch of lights to work with the new multi-channel API.
- Added "smooth steps" a.k.a. "soft start", to make on/off and step changes
smooth. (enabled by default, can be turned off in Ramp Extras menu)
- User can save a different channel mode for each strobe-group mode.
- Made strobes/blinkies more responsive in Tactical Mode.
- Fixed bug: Tactical Mode clobbers strobe group memory.
- Fixed some minor post-off voltage display bugs.
- Made RGB button brightness update faster in blinky modes.
- Fixed bug: Wrong channel after colored factory reset.
- &attiny1616, &attiny1634: Partially fixed oscillating aux LED voltage
colors while off. Better than before, but can still happen in some cases.
- &attiny1616: Fixed spurious voltage warnings in sleep mode. (it could
sometimes go from Lockout mode to Off mode by itself)
- Lots of internal refactoring.
New lights:
- &emisar-2ch-fet: Added. (0136)
- &emisar-d4k-3ch: Added. (0151)
- &noctigon-m44: Added. (0143)
- &wurkkos-ts10-rgbaux: Added. (0713)
Hardware-specific changes:
- &ff-e01, &ff-pl47, &ff-pl47g2: Enabled smooth steps instead of SOS mode.
(0421, 0422, 0423, 0441)
- &emisar-2ch, &noctigon-m44: Added RGB aux channel modes. (0135, 0143)
- &emisar-2ch-fet, &noctigon-k9.3: New ramps with better-calibrated shape.
(0136, 0261)
- &emisar-d4v2-nofet: New ramp table. (0115)
- &emisar-d4sv2-tintramp: Removed / renamed. (0135, 0136)
- &noctigon-k9.3: Fixed years-old mess. Merged builds, converted to
multi-channel, removed old builds, generally got K9.3 working quite a bit
better. (0261, 0262, 0263, 0265, 0266, 0267)
- &noctigon-m44: Lower moon, and greatly reduced flicker. (0143)
- &sofirn-lt1s-pro: Allow configuring the blink channel. (0623)
- &wurkkos: Raised default temperature limit to 50 C. (07xx)
- &wurkkos-ts10: Better / smoother ramp. (0713, 0714)
# 2023-06-29
- Fixed red aux blink on 1st frame of post-off voltage display
- Removed Harry Potter references because its author (J.K. Rowling) spreads
hate
- &noctigon-kr4: Fixed thermal regulation (0211, 0212, 0213, 0214, 0215, 0216)
# 2023-05-30
- Breaking change: Changed version check from YYYYMMDDXXXX to XXXX.YYYY-MM-DD,
where the punctuation makes a "buzz" instead of number blinks.
- Fixed issue where some lights always thought they were overheating (when
cold, or after a factory reset)
- Fixed aux pre-flash
- Fixed a rare corner case where gradual brightness adjustments stopped at 99%
power instead of 100% power while going up from level 149/150 to 150/150 on
some lights
- Changed "0" digit readout to use the same timing as other short blinks, to
help ensure it works on all lights.
- Minor code changes with no runtime impact
- Documented new version check format
- &wurkkos: Added red+blue police strobe (0715, 0716, 0717)
- &noctigon-kr4: Broke thermal regulation (oops) (0211, 0212, 0213, 0214,
0215, 0216)
- &noctigon-kr4: Use 7 aux channel modes instead of 3 (0211, 0212, 0213, 0214,
0215, 0216)
- &emisar-d4v2: Changed number blinks from aux to main LEDs by default (0113,
0114, 0115, 0123)
# 2023-05-17
- &noctigon-dm11-12v: Renamed to noctigon-dm11-boost (0273)
- &noctigon-dm11-boost: Now supported in multi-channel branch (0273)
# 2023-05-02
- Added ability to set channel mode for number readouts (batt check, temp
check, version check). Press 3C in batt check mode to change the blink
channel.
- Changed post-off voltage display:
- Display for 4s by default, not 5s
- Made timing user-configurable in battcheck 7H menu item 2
(1 click per second the display should last)
- Use low brightness when torch was at moon level before
- Skip the voltage display after UI actions which didn't change the mode
(like "Off -> 7C" to change aux LED settings)
- Changed RGB button behavior: While torch is on, use low mode below a
configured level for real-time voltage color display, instead of always
using high mode
- Fixed bug: Channel change could stick when activating a config menu from
battcheck (the blink function changed the channel, then the config menu
saved it, then the blink function restored it, then the config menu restored
it to the value it saved, which was wrong)
- Documented ramp 6C, ramp 4C, ramp 4H, lockout 3H, battcheck 3C, and post-off
voltage display config
- &emisar-d4v2: Added the rest of the aux RGB colors as channel modes, and set
aux "white" as the mode it uses to blink out numbers (0113, 0114, 0115,
0123)
- &wurkkos-ts10: Converted to multi-channel, and gave it a new ramp with
better low modes (0714)
- &wurkkos-ts25: Converted to multi-channel, and gave it a smoother ramp
(0715)
- &wurkkos: Added Wurkkos FC13 and TS11 (0716, 0717)
# 2023-04-29
- Changed lockout mode:
- Fixed manual memory timer and tint
- Added 3H for next channel (to change channels without unlocking, was
possible before but needed to be updated for the new channel system)
- Made 3H+ use mem level instead of lowest moon (this is needed for
making the channel discernible, and also helps make aux LED controls
stand out more)
- &emisar, &noctigon: Added Extended Simple UI to Hank's config, so a few more
features are allowed in simple mode
- &emisar-d4v2, &noctigon-kr4: Slightly smaller ROM size
- &emisar-d4sv2: Converted to multi-channel, and updated it to use dynamic PWM
for a smoother ramp with lower lows (0133, 0134)
- &noctigon-kr4: Converted to multi-channel (0211, 0212, 0213, 0214)
- &noctigon-kr4: Don't blink at top of regulated power (0211, 0213, 0214)
# 2023-04-28
- Added voltage display (by color) on RGB aux LEDs after turning the main LEDs
off
- Changed RGB aux: Always preview in high mode while changing color or pattern
- Changed default RGB aux color in lockout mode: Uses blinking voltage,
instead of blinking disco (unless model-specific config defines a different
default)
- Changed tactical mode default config: only use 2-color strobe if it's on
main LEDs, not aux LEDs
- &emisar-d4v2: Smoother ramp (0113, 0114)
- &emisar-d4v2: Added hidden channel modes for RGB aux LEDs (0113, 0114, 0115)
# 2023-04-27
- Changed channel mode menu to preview channels during configuration
- Changed tactical mode default config: use 2-color police strobe if it
exists, instead of single-color strobe
- Fixed unnecessary flickering when changing channel modes from/to the same
value
- Fixed sleep voltage measurement on attiny1616
- &noctigon-kr4-tintramp: Converted to multi-channel, renamed to
noctigon-kr4-2ch (0215)
# 2023-04-25
- Fixed old old bug(s) with voltage measurement while asleep, while also
adding other improvements:
- Fixed oscillating RGB aux colors while asleep in voltage mode, mostly.
Some much smaller oscillations are still possible, but the primary issue
has been fixed, I think.
- Fixed old old bug which could cause spurious low-voltage warnings while
asleep (previously required a messy code workaround).
- Reduced avg standby power by ~15uA.
- Now measures voltage every 1s instead of 8s while asleep.
- Changed RGB aux behavior: Puts aux LEDs in high mode for 3 seconds after
light goes to sleep (much easier to see the voltage this way)
(this change was obsoleted soon by a better post-off voltage display)
- Broke sleep voltage measurement on attiny1616 (oops)
- Changed internal details for how gradual ramping works
- &emisar-d4sv2-tintramp: Converted to multi-channel, renamed to emisar-2ch.
(0135)
- &sofirn-lt1s-pro: Updated to use today's new code internals (0623)
# 2023-04-19
- Added stepped tint ramping
- Documented new channel modes system
- &sofirn-lt1s-pro: Added white-only auto-tint mode (0623)
# Older: TODO
- Need to import old commit logs as changelog items
<!-- vim: set textwidth=78 shiftwidth=2 -->
|