| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | |
| | |
| | |
| | | |
... doesn't work well, but I'm saving it so I can experiment with other methods and maybe revert back later.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
| | |
| | |
| | | |
back to 64
|
| | | |
| | |
| | |
| | | |
sum-of-discrete-window method
|
| | | |
| | |
| | |
| | |
| | | |
(keeps stable values within ~0.46 to ~0.54 range, so truncated result has no noise)
|
| | | |
| | |
| | |
| | |
| | |
| | | |
eliminate noise and maybe increase precision
(thermal code still needs to be rewritten though)
|
| |/ / |
|
| | |\
| |/
|/| |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
- beacon mode off (suggested by Agro)
- tenclick shortcut on with thermal regulation off
|
| | | |
|
| | |
| |
| |
| | |
of the previous attempt
|
| | |
| |
| |
| |
| |
| |
| | |
match production units
(also made the factor configurable per build target)
|
| | | |
|
| | | |
|
| | |\
| |/
|/| |
|
| | | |
|
| |\ \ |
|
| | |\ \
| |/ /
|/| |
| | | |
improvements
|
| | | |
| | |
| | |
| | | |
size! :)
|
| | |\ \ |
|
| | | | |
| | | |
| | | |
| | | | |
purposes
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
(in a way which doesn't break backward compatibility...
... but it really needs some refactoring to reduce code duplication)
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
(was 8-bit before)
|
| | | | | |
|
| | | | |\
| |_|_|/
|/| | |
| | | | |
changes
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(by enabling the PCINT slightly sooner, before setting its "handled" flag)
|
| |\| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- 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
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
potential crashes
(even though I just fixed the only known bug which could trigger an unintentional reboot)
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(by turning off PCINT when the light is awake)
|
| | | | | | |
|
| | | | | |\
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
(and otherwise get recent bugfixes)
|
| | |_|_|_|/|
|/| | | |/
| | | |/|
| | |/| |
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- occasional missed button events while asleep
- occasional short/aborted frames in aux LED sleep animation
- 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
Also does some other things:
- cleans up the ADC code significantly
- 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
- turned off muggle mode on a couple builds which were too big
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(but only on attiny1634 devices, since it costs a bit of space and isn't strictly necessary)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(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)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
... but factory reset's auto-calibrate still doesn't get the right values for some reason
(manual calibration works, but not auto)
|
| | | | | |
| | | | |
| | | | |
| | | | | |
functions
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|