| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | still doesn't work, but at least it's a bit less broken than before... | Selene ToyKeeper | 2020-02-05 | 1 | -8/+12 |
| | | | | | | | (ceiling value was all wrong, and the response magnitude was way too big) (also, temperatures here are unsigned, since freezing is about 270 in ADC units) | ||||
| * | first pass at a smaller simpler thermal regulation algorithm... | Selene ToyKeeper | 2020-02-05 | 1 | -75/+52 |
| | | | | | ... doesn't work well, but I'm saving it so I can experiment with other methods and maybe revert back later. | ||||
| * | replaced Anduril's gradual adjustment speed code with a smaller simpler version | Selene ToyKeeper | 2020-02-05 | 1 | -43/+17 |
| | | |||||
| * | saving state of ADC / WDT refactoring before doing more changes... what ↵ | Selene ToyKeeper | 2020-01-30 | 5 | -76/+59 |
| | | | | | | | | | | | | | | | | changed so far: - removed LVP lowpass and thermal regulation lowpass logic; it's probably redundant now - slowed ADC deferred logic timing to 4X per second instead of 16X, because there doesn't seem to be much reason to do it any faster - reduced thermal event rate-limit to just 1 second, for more responsive regulation - added "EV_temperature_okay" signal, to help stop adjustments at an appropriate time instead of going to far - sped up sleep LVP to one measurement every 8 seconds instead of 16, to help the aux LEDs respond to voltage changes faster (effect on standby time is negligible) - make sure the WDT doesn't set the ADC channel or counter... except in standby mode | ||||
| * | switched to a pseudo-rolling-average method to reduce noise, set prescaler ↵ | Selene ToyKeeper | 2020-01-30 | 10 | -17/+22 |
| | | | | | back to 64 | ||||
| * | increased effective ADC resolution by switching from continuous-lowpass to ↵ | Selene ToyKeeper | 2020-01-29 | 1 | -64/+43 |
| | | | | | sum-of-discrete-window method | ||||
| * | remove truncation noise by adding 0.5 to each result | Selene ToyKeeper | 2020-01-29 | 1 | -24/+22 |
| | | | | | | (keeps stable values within ~0.46 to ~0.54 range, so truncated result has no noise) | ||||
| * | rewrote ADC code to use a continuous lowpass system on all measurements, to ↵ | Selene ToyKeeper | 2020-01-29 | 14 | -139/+203 |
| | | | | | | | eliminate noise and maybe increase precision (thermal code still needs to be rewritten though) | ||||
| * | fixed too-slow thermal response (was introduced in the irq-refactor branch) | Selene ToyKeeper | 2019-12-17 | 1 | -5/+8 |
| | | |||||
| * | added support for Fireflies ROT66 G2 and PL47 G2 | Selene ToyKeeper | 2019-12-11 | 2 | -0/+109 |
| | | |||||
| * | added a compile-time flag to enable/disable momentary mode (suggested by Agro) | Selene ToyKeeper | 2019-12-04 | 1 | -1/+18 |
| | | |||||
| * | fixed compile errors to handle a couple USE_ flags better: | Selene ToyKeeper | 2019-12-04 | 1 | -2/+8 |
| | | | | | | | - beacon mode off (suggested by Agro) - tenclick shortcut on with thermal regulation off | ||||
| * | added a FW3A build with the FET turned off completely | Selene ToyKeeper | 2019-12-03 | 1 | -0/+36 |
| | | |||||
| * | adjusted lantern tint ramping power correction again, based on measurements ↵ | Selene ToyKeeper | 2019-12-03 | 1 | -1/+1 |
| | | | | | of the previous attempt | ||||
| * | adjusted BLF Lantern (Sofirn LT1) tint ramping power correction factor to ↵ | Selene ToyKeeper | 2019-11-29 | 2 | -1/+8 |
| | | | | | | | | match production units (also made the factor configurable per build target) | ||||
| * | enabled muggle mode again in all build targets, since it fits now | Selene ToyKeeper | 2019-11-24 | 4 | -23/+0 |
| | | |||||
| * | merged d4v2-buttonled branch, which makes the D4V2's lighted button work | Selene ToyKeeper | 2019-11-24 | 6 | -8/+75 |
| |\ | |||||
| | * | merged from upstream fsm branch to get a whole bunch of kernel-level ↵ | Selene ToyKeeper | 2019-11-24 | 21 | -318/+446 |
| | |\ | |/ |/| | | | improvements | ||||
| * | | added -fwhole-program gcc flag, suggested by Agro. Signficantly reduces ROM ↵ | Selene ToyKeeper | 2019-11-22 | 1 | -1/+1 |
| | | | | | | | | | size! :) | ||||
| * | | merged tiny fix from irq-refactor branch (fixed spurious wakeup) | Selene ToyKeeper | 2019-11-20 | 1 | -2/+2 |
| |\ \ | |||||
| | * | | fixed unintentional wakeup right after going to sleep | Selene ToyKeeper | 2019-11-20 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | (by enabling the PCINT slightly sooner, before setting its "handled" flag) | ||||
| * | | | merged irq-refactor branch, which fixes some small but long-standing issues: | Selene ToyKeeper | 2019-11-19 | 16 | -310/+399 |
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fixed occasional short/aborted frames in aux LED sleep animation - fixed rare case of bogus voltage and/or temperature values - fixed issue where nice_delay_ms() didn't work in setup() - fixed theoretical possibility of extra-noisy buttons causing a hang - fixed reboot loop which happened after any crashes - fixed issue where button press in sleep mode could occasionally crash (but the issue may have been created by this branch before being fixed by it) - reduced occasional missed button events while asleep (still seems to happen but not nearly as much) Also does some other things: - cleans up the ADC code significantly - cleans up the WDT code - adds a voltage stabilizer/lowpass option (enabled on t1634 builds) - greatly reduces time spent per interrupt, which might make a future PWM-DSM technique possible - moves most interrupt-handling logic to a non-critical code path, deferring that code until timing doesn't matter as much - sped up button state measurements - very slightly reduces power used in sleep mode | ||||
| | * | | Mateminco MF01S can fit muggle mode again, barely | Selene ToyKeeper | 2019-11-19 | 1 | -3/+3 |
| | | | | |||||
| | * | | reduced build size by a few bytes | Selene ToyKeeper | 2019-11-19 | 2 | -3/+3 |
| | | | | |||||
| | * | | the Q8 can just barely fit muggle mode again | Selene ToyKeeper | 2019-11-19 | 1 | -3/+3 |
| | | | | |||||
| | * | | enabled prevent_reboot_loop() on all builds, to reduce the impact of any ↵ | Selene ToyKeeper | 2019-11-19 | 1 | -5/+7 |
| | | | | | | | | | | | | | | | | | | | | | | potential crashes (even though I just fixed the only known bug which could trigger an unintentional reboot) | ||||
| | * | | fixed ADC cycles running 2X as fast as intended | Selene ToyKeeper | 2019-11-19 | 1 | -8/+8 |
| | | | | |||||
| | * | | cleaned up WDT code a bit, reduced total size, | Selene ToyKeeper | 2019-11-19 | 2 | -29/+25 |
| | | | | | | | | | | | | | | | | | | | fixed bug where ticks_since_last could have the wrong value sometimes, reduced power use in sleep mode very slightly by skipping button-handling code while asleep | ||||
| | * | | fixed issue where button-press-during-sleep could occasionally cause a reboot | Selene ToyKeeper | 2019-11-18 | 1 | -3/+7 |
| | | | | | | | | | | | | | | | | (by turning off PCINT when the light is awake) | ||||
| | * | | turned off muggle mode on Q8 and MF01S, to make builds small enough again | Selene ToyKeeper | 2019-11-14 | 2 | -0/+11 |
| | | | | |||||
| | * | | oops, put voltage lowpass on the wrong D4S | Selene ToyKeeper | 2019-11-14 | 2 | -3/+4 |
| | | | | |||||
| | * | | added a lowpass filter for battery voltage measurements | Selene ToyKeeper | 2019-11-14 | 3 | -37/+29 |
| | | | | | | | | | | | | | | | | (but only on attiny1634 devices, since it costs a bit of space and isn't strictly necessary) | ||||
| | * | | fixed factory reset (wasn't running interrupt logic since it's deferred now) | Selene ToyKeeper | 2019-11-14 | 3 | -12/+11 |
| | | | | | | | | | | | | | | | | | | | (also fixed issue where nice_delay_ms() was aborted during setup()) (and adjusted the timing to make factory reset similar to the speed it was before this change) | ||||
| | * | | fixed ADC code; measures and behaves correctly now, and is easier to read... | Selene ToyKeeper | 2019-11-14 | 3 | -41/+41 |
| | | | | | | | | | | | | | | | | | | | ... but factory reset's auto-calibrate still doesn't get the right values for some reason (manual calibration works, but not auto) | ||||
| | * | | started refactoring ADC code to split voltage and temperature into their own ↵ | Selene ToyKeeper | 2019-11-14 | 2 | -212/+226 |
| | | | | | | | | | | | | | functions | ||||
| | * | | refactored how interrupts work... | Selene ToyKeeper | 2019-11-14 | 10 | -38/+108 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set a flag and return immediately, then handle the actual logic later during a less-critical code path Enables smarter responses to standby wakeups. Seems to fix missed button presses during standby, and most of the too-fast sleep ticks. Also eliminated waits from button state measurement, so it can happen easier during standby. (also eliminates the chance of an infinite loop on extra-noisy hardware) Also might improve timing-sensitive interrupts like attiny85 PWM channel 4, or a PWM-DSM hybrid technique I'd like to try. BUT this change also appears to break the thermal sensor, so that needs to be fixed. | ||||
| * | | | added SOS mode to the BLF LT1 Lantern build, because people wanted it | Selene ToyKeeper | 2019-11-18 | 2 | -7/+44 |
| |/ / | |||||
| * | | fixed some compile issues related to delay_4ms() | Selene ToyKeeper | 2019-11-13 | 4 | -2/+4 |
| | | | |||||
| | * | merged changes from fsm branch, including version check and stuck-button safety | Selene ToyKeeper | 2019-10-15 | 18 | -58/+596 |
| | |\ | |/ |/| | |||||
| * | | merged Emisar D4S V2 support branch | Selene ToyKeeper | 2019-10-06 | 3 | -0/+197 |
| |\ \ | |||||
| | * | | added Emisar D4S V2 support | Selene ToyKeeper | 2019-08-29 | 3 | -0/+197 |
| | | | | |||||
| | * | | merged updates from fsm branch | Selene ToyKeeper | 2019-08-29 | 4 | -2/+18 |
| | |\ \ | |||||
| * | | | | made lantern's muggle mode brighter (matches default stepped ramp level 4 of 5) | Selene ToyKeeper | 2019-10-02 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and made the floor slightly lower (almost as low as level 1 of 5) because this light doesn't run hot enough for the previous limit to make sense (was roughly step 2.9 of 5) | ||||
| * | | | | added a default version.h for people who don't use the build script | Selene ToyKeeper | 2019-10-02 | 1 | -0/+4 |
| | | | | | |||||
| * | | | | after safety ramp-down, if the button remains stuck, lock the light | Selene ToyKeeper | 2019-09-28 | 1 | -1/+9 |
| | | | | | |||||
| * | | | | added a version check function on 15+ clicks from off, added a safety ↵ | Selene ToyKeeper | 2019-09-24 | 4 | -0/+52 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ramp-down if button is held too long at ceiling (also removed muggle mode from a couple build targets because it doesn't fit, not enough ROM) | ||||
| * | | | | sped up blink_digit() a little bit, because it was annoyingly slow | Selene ToyKeeper | 2019-09-24 | 1 | -3/+4 |
| | | | | | |||||
| * | | | | made the maximum number of clicks 15 instead of 14 | Selene ToyKeeper | 2019-09-24 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | merged updates from trunk, including gcc7/8/9 compatibility | Selene ToyKeeper | 2019-09-18 | 3 | -5/+20 |
| |\ \ \ \ | |||||
| | * | | | | added a compile flag to fix compatibility with GCC 7/8/9's new semantics for ↵ | Selene ToyKeeper | 2019-09-18 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "inline" (should fix builds on newer compilers, I think) | ||||
