aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-10-31documented number entry 1H action (add 10) in UI tableSelene ToyKeeper1-0/+1
2021-10-31made d4sv2-tintramp-fet work the same as no-fet version, but with added FET ↵Selene ToyKeeper2-9/+17
from ramp step 141 to 150 (0 to 100% power from 1 to 130, 101% to 200% from 131 to 150, and +DD FET from 141 to 150) also calibrated candle mode a bit better
2021-10-31fixed flicker on inactive tint ramp channel during rampingSelene ToyKeeper1-2/+8
2021-10-31added "200%" turbo on tint-ramping lights: D4S and LT1Selene ToyKeeper4-35/+69
Normal ramp from 0% to 100% power on levels 1 to 130, then 101% to 200% power at levels 131 to 150 using both channels at maximum for turbo. When either channel would go over 100%, the extra spills over to the other channel.
2021-10-28Clarified Ramp->2C behavior a bit more.Selene ToyKeeper1-4/+4
(old wording was confusing people)
2021-10-25fixed too-slow thermal regulation bug introduced in d4sv2-tintramp branchSelene ToyKeeper1-0/+2
(2021-09-10 r619.1.11) The gradual_target var was getting clobbered and causing thermal regulation to stop until the next thermal warning event, every time it reached a new ramp step. So... save/restore it to prevent it from getting clobbered.
2021-10-14don't blink when toggling tintSelene ToyKeeper1-1/+1
2021-10-09don't hardcode 2.9V for aux LED shutoffSelene ToyKeeper1-1/+1
(use the same value as LVP; easier to configure if it's in only one place)
2021-09-22added attiny type to the MODELS file, rewrote how MODELS file gets generatedSelene ToyKeeper3-60/+128
(because it's kind of important to know which MCU each light uses, and because this will be helpful later when the build system is rewritten)
2021-09-17clarified where brightness level comes from in beacon/sos/momentary modesSelene ToyKeeper1-6/+6
2021-09-15added Noctigon K9.3-tintramp build targets for FET, reduced FET, and noFETSelene ToyKeeper3-0/+157
(apparently Hank liked the D4Sv2-tintramp demo/experiment so much that he decided to use it in production for the K9.3... so it need its own builds since it's a pretty different light even if the driver is almost identical)
2021-09-15fixed wrong value on D4Sv2-tintramp ramp calculator (was off by one)Selene ToyKeeper1-3/+3
2021-09-14documented "hold" action in number entry stateSelene ToyKeeper1-0/+5
2021-09-14added a hold shortcut in number entry menu: click for +1, hold for +10Selene ToyKeeper2-2/+14
2021-09-10fixed builds which failed due to being too big (rot66, mf01-mini)Selene ToyKeeper2-0/+4
by turning off one more of the recent extra features (can turn it back on later if the build size goes down)
2021-09-10fixed K9.3 builds (oops, new update_tint() needed to be compiled out for K9.3)Selene ToyKeeper2-2/+2
2021-09-10fixed blf-lantern-t1616 build... I thinkSelene ToyKeeper1-16/+2
(can't test because I have no hardware, but it at least compiles)
2021-09-10fixed ancient bug which caused a weird up-spike in thermal regulation during ↵Selene ToyKeeper1-4/+13
initial turbo drop, on 3-channel drivers like FW3A and ROT66 (as shown here: http://toykeeper.net/torches/fw3a/therm-2019-05-22.1.png ) What happened was... the FET would start to drop, but gradual adjustments noticed that the Nx7135 channel needed to go from 0 to 255, so it would then slowly ramp that up, and then afterward, the FET drop could finally continue... because the code didn't jump straight from 0 to 255 like it was supposed to. Simple, easy fix: Make channel 2 go up immediately just like channel 1 does. This makes the thermal response several seconds faster than it was before, so it doesn't get as hot, and is less likely to overshoot and bounce later.
2021-09-10added D4Sv2-tintramp-FET build, which uses a FET on one set of LEDs for ↵Selene ToyKeeper3-9/+76
turbo modes (it's weird, but Hank wants it) also reworked gradual tint adjustment a bit, so some complex parts go in set_level() instead (probably needs more testing)
2021-09-08changed D4Sv2-tintramp from 255 to 511 for lowest PWM TOP value,Selene ToyKeeper1-3/+3
to make its thermal regulation smoother and generally increase tint ramp resolution in middle modes (also, tried thermal regulation, and it works)
2021-09-08got BLF LT1 working again, using new tint-ramping codeSelene ToyKeeper2-21/+6
2021-09-08got D4Sv2 tint ramping to work, with dynamic PWM (PFM)Selene ToyKeeper3-72/+107
and (maybe) thermal regulation (untested) (also broke BLF LT1 in the process; need to fix that now) Rewrote how tint ramping works, so it provides a virtual "PWM1_LVL" for other code to use, and it translates that internally into actual hardware controls. This should, in theory, allow smooth thermal regulation (gradual_tick) to work on tint-ramp lights.
2021-09-07copied k9.3 config for new d4sv2-tintrampSelene ToyKeeper1-0/+85
2021-08-31fixed builds which failed to compile after recent changesSelene ToyKeeper4-2/+8
2021-08-31reduced length of auto-reverse timing window from ~1000 ms to ~660ms, ↵Selene ToyKeeper4-3/+6
because it was too fast
2021-08-31documented recent changes in the user manualSelene ToyKeeper1-20/+64
2021-08-31made 2C ceiling/turbo behavior configurable in Simple UISelene ToyKeeper6-47/+95
also made it possible to block turbo in Advanced UI (each one has a 2C style: 0 = no turbo, only ceiling 1 = Anduril 1 style, direct to turbo 2 = Anduril 2 style, ceiling unless already there, then turbo )
2021-08-31added third 2C style: 0 = no turbo (but it's still available as momentary)Selene ToyKeeper2-2/+10
(also, adding this reduced the ROM size somehow)
2021-08-31added runtime option to choose Anduril 1 or Anduril 2 double-click turbo styleSelene ToyKeeper8-17/+55
(2C while on goes to full-power turbo (A1) or ceiling (A2)) also renamed _OPTION defs to _CONFIG for consistency
2021-08-31added runtime option to select whether to ramp up after hold-from-off ↵Selene ToyKeeper6-11/+49
(default) or stay at floor
2021-08-31added runtime config option for smooth ramp speedSelene ToyKeeper5-21/+61
2021-08-27made it possible to use autolock in simple UISelene ToyKeeper1-7/+1
(requires the user to set it up, so it won't happen to new users unless they do it on purpose)
2021-08-23added documentation for the global config menu and jump start levelSelene ToyKeeper1-0/+26
2021-08-23moved jump start into FSM so it'll be more universal and the app won't need ↵Selene ToyKeeper11-40/+39
special clauses (also adjusted KR4 jump start levels a bit)
2021-08-23made jump start level configurable at runtime, and made it activate in more ↵Selene ToyKeeper7-4/+64
places
2021-08-23force reset PWM phase when turning on from zeroSelene ToyKeeper1-3/+27
(to make initial response consistent) (otherwise, it can randomly take up to ~16ms to turn on)
2021-08-16made dynamic PWM phase-correct; replaced brute-force phase reset to avoid ↵Selene ToyKeeper1-19/+22
flickering (I didn't see any flickering on my lights, but SammysHP reported it was visible)
2021-08-14set KR4 default floor higher at Hank's request,Selene ToyKeeper2-8/+8
and reduced the jump-start-moon power a bit too (he says both are good now, but I don't have hardware to measure it myself) The higher floor is because, when the driver is really hot from being on turbo, going directly to moon causes the LEDs to turn off for a while until the driver cools. The new floor is the lowest level where post-turbo activation works reliably. However, it should turn on even at the level 1/150 when it's not hot.
2021-08-12calibrated KR4 jump-start-moon, may be too high on some older hardwareSelene ToyKeeper2-2/+2
2021-08-12KR4 thermal regulation no longer needs overrides, because dynamic PWM makes ↵Selene ToyKeeper1-2/+3
the defaults work better (the overrides were mostly needed as a side effect of having 1024 PWM steps instead of 256)
2021-08-12got PFM / dynamic PWM actually working on Noctigon KR4Selene ToyKeeper6-28/+83
(and also added "jump start moon" to it) (and generally finished adding dynamic PWM support to FSM)
2021-08-12added a "jump start moon" option for hold-from-off, for lights with ↵Selene ToyKeeper1-0/+13
slow-activating circuits (briefly pulses the light at a higher level to wake up the circuit faster)
2021-08-12made blink_once() brightness configurable per buildSelene ToyKeeper1-2/+5
2021-08-12document the actual maximum for manual memory timer (~140 minutes, not 255)Selene ToyKeeper2-1/+6
2021-07-25added Nichia 219B build for KR4 and K9.3, adjusted 219C builds, for intl-outdoorSelene ToyKeeper5-5/+38
2021-07-25allow building only some targets, instead of always doing allSelene ToyKeeper1-0/+13
2021-07-22summarize results at end of batch build processSelene ToyKeeper1-1/+30
2021-07-13added #define USE_THERM_AUTOCALIBRATE to opt outShane Synan2-2/+14
Moved factory reset thermal auto-calibration behind a new default-on config #define USE_THERM_AUTOCALIBRATE. Commenting this out or the usual #ifdef/#undef in a cfg-[...].h build file allows for manually calibrating the temperature offset. This may be useful for factory-calibrated temperature sensors or for those who regularly flash custom builds and don't want to recalibrate each time. Determining the correct temperature offset for a given flashlight first requires flashing a build with auto-calibrate disabled, using that to determine the offset, which can then be baked in to future firmware builds.
2021-07-12add configurable #define DEFAULT_AUTOLOCK_TIMEShane Synan1-1/+4
Added a new #define DEFAULT_AUTOLOCK_TIME to simplify compiling firmware with the autolock timer enabled by default. If this is not specified, the autolock timer remains disabled by default. This removes the need to modify lockout-mode.h directly.
2021-07-11rewrote hybrid memory (manual memory timer) to eliminate corner casesSelene ToyKeeper1-15/+14
Old method: - at 1-click power-on, choose a brightness based on off-time (manual level or last-ramped level) New method: - when off longer than the timer, set last-ramped level to manual level This fixes a bug: - turn light off - wait for timer - turn light on with a shortcut to moon - turn light off - turn light on - pre-patch, light went to last-ramped level instead of manual level This change also reduces the ROM size slightly.