aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* added attiny type to the MODELS file, rewrote how MODELS file gets generatedSelene ToyKeeper2021-09-223-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)
* clarified where brightness level comes from in beacon/sos/momentary modesSelene ToyKeeper2021-09-171-6/+6
|
* merged K9.3-tintramp / D4Sv2-tintramp branchSelene ToyKeeper2021-09-1518-87/+764
|\ | | | | | | | | | | (which also changed the way tint ramping is implemented, to make things generally cleaner and more flexible)
| * added Noctigon K9.3-tintramp build targets for FET, reduced FET, and noFETSelene ToyKeeper2021-09-153-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)
| * fixed wrong value on D4Sv2-tintramp ramp calculator (was off by one)Selene ToyKeeper2021-09-151-3/+3
| |
| * fixed builds which failed due to being too big (rot66, mf01-mini)Selene ToyKeeper2021-09-102-0/+4
| | | | | | | | | | | | by turning off one more of the recent extra features (can turn it back on later if the build size goes down)
| * fixed K9.3 builds (oops, new update_tint() needed to be compiled out for K9.3)Selene ToyKeeper2021-09-102-2/+2
| |
| * fixed blf-lantern-t1616 build... I thinkSelene ToyKeeper2021-09-102-16/+109
| | | | | | | | | | (can't test because I have no hardware, but it at least compiles)
| * fixed ancient bug which caused a weird up-spike in thermal regulation during ↵Selene ToyKeeper2021-09-101-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.
| * added D4Sv2-tintramp-FET build, which uses a FET on one set of LEDs for ↵Selene ToyKeeper2021-09-104-15/+86
| | | | | | | | | | | | | | | | | | 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)
| * added -mrelax to build.sh; saves ~330 bytes on t1634 buildsSelene ToyKeeper2021-09-101-1/+1
| | | | | | | | | | | | (suggested by solrize) (doesn't seem to reduce size of t85 builds though)
| * changed D4Sv2-tintramp from 255 to 511 for lowest PWM TOP value,Selene ToyKeeper2021-09-082-5/+5
| | | | | | | | | | | | to make its thermal regulation smoother and generally increase tint ramp resolution in middle modes (also, tried thermal regulation, and it works)
| * got BLF LT1 working again, using new tint-ramping codeSelene ToyKeeper2021-09-083-31/+50
| |
| * fixed D4Sv2-tintramp PWM_TOP (should be set to the value it needs during ↵Selene ToyKeeper2021-09-081-2/+2
| | | | | | | | thermal regulation)
| * copied Q8 hwdef to LT1 so I can improve itSelene ToyKeeper2021-09-081-0/+21
| |
| * fixed outdated comment in KR4 hwdefSelene ToyKeeper2021-09-081-1/+1
| |
| * got D4Sv2 tint ramping to work, with dynamic PWM (PFM)Selene ToyKeeper2021-09-084-80/+121
| | | | | | | | | | | | | | | | | | 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.
| * copied k9.3 config for new d4sv2-tintrampSelene ToyKeeper2021-09-071-0/+85
| |
| * adjusted hwdef settings for tint-ramping D4Sv2Selene ToyKeeper2021-09-071-17/+25
| | | | | | | | | | (initial rev, will almost certainly need changes later)
| * copied hwdef from K9.3 for new tint-ramping D4Sv2Selene ToyKeeper2021-09-071-0/+164
| |
* | documented "hold" action in number entry stateSelene ToyKeeper2021-09-141-0/+5
| |
* | added a hold shortcut in number entry menu: click for +1, hold for +10Selene ToyKeeper2021-09-142-2/+14
|/
* merged in a bunch of new features...Selene ToyKeeper2021-08-3115-95/+320
|\ | | | | | | | | | | | | | | | | + runtime option for smooth ramp speed + runtime option for whether hold-from-off should ramp up or stay at the floor + runtime option to select turbo style / 2C style in Advanced UI + same thing, but for Simple UI * sped up the auto-reverse timing window; it was too slow
| * fixed builds which failed to compile after recent changesSelene ToyKeeper2021-08-314-2/+8
| |
| * reduced length of auto-reverse timing window from ~1000 ms to ~660ms, ↵Selene ToyKeeper2021-08-314-3/+6
| | | | | | | | because it was too fast
| * documented recent changes in the user manualSelene ToyKeeper2021-08-311-20/+64
| |
| * made 2C ceiling/turbo behavior configurable in Simple UISelene ToyKeeper2021-08-316-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 )
| * added third 2C style: 0 = no turbo (but it's still available as momentary)Selene ToyKeeper2021-08-312-2/+10
| | | | | | | | | | (also, adding this reduced the ROM size somehow)
| * added runtime option to choose Anduril 1 or Anduril 2 double-click turbo styleSelene ToyKeeper2021-08-318-17/+55
| | | | | | | | | | | | (2C while on goes to full-power turbo (A1) or ceiling (A2)) also renamed _OPTION defs to _CONFIG for consistency
| * added runtime option to select whether to ramp up after hold-from-off ↵Selene ToyKeeper2021-08-316-11/+49
| | | | | | | | (default) or stay at floor
| * added runtime config option for smooth ramp speedSelene ToyKeeper2021-08-315-21/+61
|/
* made it possible to use autolock in simple UISelene ToyKeeper2021-08-271-7/+1
| | | | | (requires the user to set it up, so it won't happen to new users unless they do it on purpose)
* added documentation for the global config menu and jump start levelSelene ToyKeeper2021-08-231-0/+26
|
* moved jump start into FSM so it'll be more universal and the app won't need ↵Selene ToyKeeper2021-08-2311-40/+39
| | | | | | | special clauses (also adjusted KR4 jump start levels a bit)
* made jump start level configurable at runtime, and made it activate in more ↵Selene ToyKeeper2021-08-237-4/+64
| | | | places
* force reset PWM phase when turning on from zeroSelene ToyKeeper2021-08-231-3/+27
| | | | | | (to make initial response consistent) (otherwise, it can randomly take up to ~16ms to turn on)
* merged digitalcircuit's branch to make autolock timer configurable at build timeSelene ToyKeeper2021-08-191-1/+4
|\
| * add configurable #define DEFAULT_AUTOLOCK_TIMEShane Synan2021-07-121-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.
* | merged digitalcircuit's anduril2_opt_disable_autocal_therm branch,Selene ToyKeeper2021-08-192-2/+14
|\ \ | | | | | | | | | allowing configs to disable the thermal autocalibration feature
| * | added #define USE_THERM_AUTOCALIBRATE to opt outShane Synan2021-07-132-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.
* | fixed spurious warnings in level_calc on multi-channel lightsSelene ToyKeeper2021-08-161-1/+3
| | | | | | | | | | (also fixed reported values being too low by a factor of channel.pwm_min)
* | made dynamic PWM phase-correct; replaced brute-force phase reset to avoid ↵Selene ToyKeeper2021-08-161-19/+22
| | | | | | | | | | | | | | flickering (I didn't see any flickering on my lights, but SammysHP reported it was visible)
* | set KR4 default floor higher at Hank's request,Selene ToyKeeper2021-08-142-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.
* | clarified the new level_calc calculations a bit, experimented to make sure ↵Selene ToyKeeper2021-08-141-26/+32
| | | | | | | | things are right
* | calibrated KR4 jump-start-moon, may be too high on some older hardwareSelene ToyKeeper2021-08-122-2/+2
| |
* | KR4 thermal regulation no longer needs overrides, because dynamic PWM makes ↵Selene ToyKeeper2021-08-121-2/+3
| | | | | | | | | | | | | | the defaults work better (the overrides were mostly needed as a side effect of having 1024 PWM steps instead of 256)
* | got PFM / dynamic PWM actually working on Noctigon KR4Selene ToyKeeper2021-08-128-33/+89
| | | | | | | | | | | | (and also added "jump start moon" to it) (and generally finished adding dynamic PWM support to FSM)
* | changed Noctigon KR4 from fixed to dynamic PWM TOP value, for later useSelene ToyKeeper2021-08-121-2/+9
| |
* | made PWM TOP value configurable at command line in level_calc.py, and added ↵Selene ToyKeeper2021-08-121-9/+70
| | | | | | | | | | | | | | | | a "dynamic PWM" feature (uses a different PWM TOP at each of the first N ramp levels, to increase resolution at bottom end of ramp)
* | added a "jump start moon" option for hold-from-off, for lights with ↵Selene ToyKeeper2021-08-121-0/+13
| | | | | | | | | | | | slow-activating circuits (briefly pulses the light at a higher level to wake up the circuit faster)