| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
(just moved files, didn't change the contents yet,
and nothing will work without updating #includes and build scripts and stuff)
|
| |
|
|
|
| |
(oops, it has no "ADC Noise Reduction" mode... needs different setup code)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(also reduced avg standby power by about 15 uA)
(also fixed oscillating voltage mode colors, I think)
The bug happened because sometimes sleep LVP would get triggered, because the
ADC would read zero under some conditions.
This in turn happened because the ADC needs the MCU to be at least partially
awake in order to finish a measurement. So in standby mode, with the MCU only
waking up very briefly to send a sleep tick and go back to sleep, the ADC
required several cycles (like 375ms to 625ms) to finish a single measurement.
This varied depending on how many instructions the MCU executed while it was
awake. In the single-color mode, so few instructions were being executed that
the ADC seemed to time out and abort its measurement, returning a zero. Then a
low voltage warning was sent, which knocked the light back into "Off" mode.
Adding no-op instructions inside the single-color clause was sufficient to
prevent the ADC from timing out, because it kept the MCU awake just barely long
enough. But it was a kludge, and it still took like half a second to finish a
measurement, and the measurements were noisy. It also used more power, because
it required keeping the ADC powered on far too long.
This fix puts the MCU into "ADC Noise Reduction" mode instead, when a voltage
measurement is needed during sleep. It reduces noise to make measurements more
stable... but more importantly, it lets the measurement finish in like 0.5ms
instead of 500ms. So it uses less power and isn't dependent on the number of
calculations the MCU does during each "sleep tick".
As a bonus, this can also measure voltage much more often, while still using
less total energy than before. It was once every 8 seconds, and now it's once
per second.
Avg power use in aux low mode, on a D4Sv2: (avg of 30k samples each)
- before: 101 uA
- after: 86 uA
|
| |
|
|
|
|
|
| |
instead of full GPL headers (or all too often, nothing at all)
There are a few "FIXME" entries where I'm not sure about the correct copyright.
|
| |
|
|
|
| |
(this also made some parts of the code cleaner)
|
| |
|
|
|
|
|
|
| |
3.3V and up: normal aux LED modes
2.9V to 3.3V: fast blink
under 2.9V: off
(only on lights with no RGB aux)
|
| |\
| |
| |
| |
| | |
(and other build targets which don't use sleep ticks during standby)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
(with no sleep ticks, the voltage value never gets reset to the raw value,
and instead only goes through the lowpass filter)
(this fix is not yet tested... will test before uploading)
(also carries a risk of messing up thermal values after being asleep,
so that needs to be tested too)
|
| | |
| |
| |
| | |
configure
|
| |/
|
|
|
| |
(because they don't need to be volatile any more)
|
| |
|
|
| |
symbols
|
| |
|
|
|
|
|
|
| |
count any more...
... just a boolean flag for whether this is the first sample or a later sample
(so I changed it and reduced the ROM size by ~28 bytes)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
samples
(because, for some reason, even though 64 samples is plenty in a test program,
it ends up being extremely erratic when used inside Anduril... and I'm not sure why)
also, use 15-bit ADC values instead of 16 bits, in the temperature logic
(to help protect against integer overflows)
... but this code still doesn't work well. It regulates down *very* fast, and then
gradually rises until the next extra-fast drop-down. :(
... also, tempcheck mode sometimes changes by 4-5 C between readouts, which is worrisome.
... and factory reset is still broken.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
eliminate noise and maybe increase precision
(thermal code still needs to be rewritten though)
|
| |
|
|
|
|
| |
... 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
------------------------------------------------------------
revno: 457
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-07-18 22:42:50 -0600
message:
make sure no thermal events are handled while off
(even though it shouldn't be possible, since it only happens after 15 minutes,
and the light is only awake in muggle-off mode for 1 second)
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 456
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-07-18 20:09:58 -0600
message:
don't measure temperature while asleep
(fixes bug on D4 V2, where it would start flashing after 15 minutes turned off in muggle mode)
(also should speed up response to battery voltage changes while asleep)
modified:
ToyKeeper/spaghetti-monster/fsm-adc.c
------------------------------------------------------------
revno: 455
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-07-18 20:05:56 -0600
message:
made strobe brightness configurable per build target
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 454
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Wed 2019-07-10 10:22:44 -0600
message:
made the "therm faster" code only affect ramping down,
and fixed a couple minor logic issues in the thermal regulation code
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/fsm-adc.c
------------------------------------------------------------
revno: 452
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 08:18:25 -0600
message:
fixed spelling error in D4 / D4V2 files
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4.h
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 451
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 08:16:57 -0600
message:
fixed placement of #ifdefs on reboot loop prevention
modified:
ToyKeeper/spaghetti-monster/fsm-main.c
------------------------------------------------------------
revno: 450
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 08:15:59 -0600
message:
made level_calc.py also find and show the channel transition points,
so I won't have to do this manually all the time
modified:
bin/level_calc.py
------------------------------------------------------------
revno: 449 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 05:31:37 -0600
message:
merged from fsm branch to get factory reset function
modified:
ToyKeeper/spaghetti-monster/anduril/anduril-manual.txt
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/anduril/anduril.txt
ToyKeeper/spaghetti-monster/anduril/cfg-fw3a.h
ToyKeeper/spaghetti-monster/fsm-main.c
ToyKeeper/spaghetti-monster/fsm-misc.c
ToyKeeper/spaghetti-monster/fsm-misc.h
------------------------------------------------------------
revno: 448
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 05:13:40 -0600
message:
started adding some ideas for later (maybe), but not currently used...
... may remove again later
modified:
ToyKeeper/spaghetti-monster/fsm-adc.c
------------------------------------------------------------
revno: 447
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-07-06 05:13:11 -0600
message:
adjusted D4 / D4v2 thermal response again; it really doesn't want to behave
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4.h
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 446
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Mon 2019-06-17 03:18:06 -0600
message:
made d4 ramp slightly smoother at clock speed change
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4.h
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 445
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Mon 2019-06-17 03:17:40 -0600
message:
improved D4S thermal response; less prone to overshooting and oscillation
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4s.h
------------------------------------------------------------
revno: 444
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-06-06 23:12:26 -0600
message:
adjusted Emisar D4 thermal response values...
(this light really doesn't want to behave thermally,
so the values here don't quite get an ideal response,
but they're a lot better than they were)
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4.h
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 443
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-06-06 23:11:08 -0600
message:
made anduril raise brightness slower when doing thermal regulation,
made hard turbo drop only activate when it's actually at turbo
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 442
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-06-06 23:09:54 -0600
message:
made more thermal parameters configurable...
- the speed of thermal history rotation (every 1s, 2s, or 4s)
- prediction strength
also made minimum time between temperature warnings factor in the lowpass, so the default is 5s again instead of 7s
modified:
ToyKeeper/spaghetti-monster/fsm-adc.c
------------------------------------------------------------
revno: 441
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Wed 2019-06-05 03:39:34 -0600
message:
adjusted d4v2 ramp to hit 1x7135 exactly at level 4/7, turned off hard turbo drop because it doesn't seem to be needed any more
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 440 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Wed 2019-06-05 03:33:21 -0600
message:
merged updates from fsm branch
added:
ToyKeeper/spaghetti-monster/anduril/cfg-ff-e01.h
ToyKeeper/spaghetti-monster/fireflies-ui/cfg-ff-e07-2.h
renamed:
ToyKeeper/spaghetti-monster/fireflies-ui/cfg-ff-edc-thrower.h => ToyKeeper/spaghetti-monster/fireflies-ui/cfg-ff-e01.h
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/fireflies-ui/Makefile
ToyKeeper/spaghetti-monster/fireflies-ui/build-all.sh
ToyKeeper/spaghetti-monster/fireflies-ui/fireflies-ui.c
ToyKeeper/spaghetti-monster/fireflies-ui/meta
ToyKeeper/spaghetti-monster/fsm-events.h
ToyKeeper/spaghetti-monster/fireflies-ui/cfg-ff-e01.h
------------------------------------------------------------
revno: 439
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-31 02:10:02 -0600
message:
added D4v2-219 build for reduced power (only 75% FET)
added:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2-219.h
------------------------------------------------------------
revno: 438
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-31 01:57:14 -0600
message:
made MCU stay awake at boot long enough to get accurate voltage reading, sped up return-to-sleep delays, made RGB "voltage" preview mode last twice as long
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 437
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-31 01:56:18 -0600
message:
sped up button release timeout slightly to reduce lag when turning off light
modified:
ToyKeeper/spaghetti-monster/fsm-events.h
------------------------------------------------------------
revno: 436 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2019-05-23 00:43:14 -0600
message:
merged from fsm branch to get a bunch of recent updates
modified:
... a lot of files
------------------------------------------------------------
revno: 435
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Tue 2019-05-21 14:25:28 -0600
message:
no muggle mode on D4v2, by request
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 434
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Mon 2019-05-20 00:16:26 -0600
message:
improved RGB aux LED previews for voltage mode and blinking mode
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 433
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-10 23:53:47 -0600
message:
fixed D4v2 ramp shape and thermal limit
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 432 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-10 23:39:48 -0600
message:
merged from lantern branch, to get newer candle mode
added:
ToyKeeper/spaghetti-monster/anduril/cfg-blf-lantern.h
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/fsm-ramping.c
ToyKeeper/spaghetti-monster/fsm-ramping.h
------------------------------------------------------------
revno: 431 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-10 23:29:28 -0600
message:
merged from upstream fsm branch
added:
ToyKeeper/spaghetti-monster/anduril/cfg-fw3a-219.h
modified:
ToyKeeper/spaghetti-monster/anduril/anduril-manual.txt
------------------------------------------------------------
revno: 430
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-10 23:27:55 -0600
message:
use only red, green, and blue for voltage display... don't do color mixes
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 429
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-10 23:27:30 -0600
message:
flash-tiny1634-fuses had a typo
modified:
bin/flash-tiny1634-fuses.sh
------------------------------------------------------------
revno: 428
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 18:03:28 -0600
message:
fixed builds without sleep ticks enabled
modified:
ToyKeeper/spaghetti-monster/fsm-wdt.c
------------------------------------------------------------
revno: 427
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 18:01:17 -0600
message:
made aux LEDs turn on at boot time, instead of waiting until sleep LVP measures the battery
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 426
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 18:00:34 -0600
message:
implemented LVP in standby mode
(which allows LVP to turn off high-drain aux LEDs while asleep,
and allows RGB readout to change with battery charge)
modified:
ToyKeeper/spaghetti-monster/fsm-adc.c
ToyKeeper/spaghetti-monster/fsm-adc.h
ToyKeeper/spaghetti-monster/fsm-wdt.c
------------------------------------------------------------
revno: 425
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 03:14:33 -0600
message:
enable tenclick thermal config in D4v2 target
modified:
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 424
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 03:14:16 -0600
message:
added RGB support to lockout mode, improved RGB behavior, set defaults to low because the high mode is way too bright
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 423
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sat 2019-05-04 02:36:55 -0600
message:
got RGB aux LED modes working -- (off, low, high, blinking) and (7 colors + rainbow + voltage)
(off mode only, for now, no lockout)
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 422
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 18:25:23 -0600
message:
Turn off aux LEDs when voltage is low. They use too much power on high mode.
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
------------------------------------------------------------
revno: 421
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 18:24:15 -0600
message:
Calibrated D4v2 voltage.
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
------------------------------------------------------------
revno: 420
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 17:48:51 -0600
message:
fixed RGB aux LED low mode
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
ToyKeeper/spaghetti-monster/fsm-misc.c
------------------------------------------------------------
revno: 419
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 17:35:47 -0600
message:
started on RGB aux LED support in Anduril, but it's just an early test right now
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 418
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 17:35:05 -0600
message:
adjust ramping auto-aux-LED code to include RGB version (shut off when main LEDs are on)
modified:
ToyKeeper/spaghetti-monster/fsm-ramping.c
------------------------------------------------------------
revno: 417
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 17:33:08 -0600
message:
started on tiny1634 RGB aux LED support
(seems to work except for the "low" output mode)
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
ToyKeeper/spaghetti-monster/fsm-misc.c
ToyKeeper/spaghetti-monster/fsm-misc.h
------------------------------------------------------------
revno: 416
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 16:22:15 -0600
message:
fixed D4v2 PWM speed and delay speed, fixed hardware setup reference comments
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
------------------------------------------------------------
revno: 415
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 16:20:50 -0600
message:
fixed attiny1634 clock speed adjustments
modified:
ToyKeeper/tk-attiny.h
------------------------------------------------------------
revno: 414
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 15:38:52 -0600
message:
renamed SWITCH_PIN_D (pin data) to SWITCH_PORT, to match AVR manual terminology
(even though the value should be PINA or PINB or PINC)
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
ToyKeeper/spaghetti-monster/fsm-pcint.c
ToyKeeper/tk-attiny.h
------------------------------------------------------------
revno: 413
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 01:48:10 -0600
message:
added tiny1634 flashing scripts
added:
bin/flash-tiny1634-fuses.sh
bin/flash-tiny1634.sh
------------------------------------------------------------
revno: 411
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 01:42:35 -0600
message:
started adding tiny1634 support to FSM ... so much kludge, such need clean
modified:
ToyKeeper/spaghetti-monster/fsm-adc.c
ToyKeeper/spaghetti-monster/fsm-main.c
ToyKeeper/spaghetti-monster/fsm-pcint.c
ToyKeeper/spaghetti-monster/fsm-wdt.c
ToyKeeper/tk-attiny.h
------------------------------------------------------------
revno: 410
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 01:40:15 -0600
message:
added D4v2-1634 config and hwdef files
modified:
ToyKeeper/hwdef-Emisar_D4v2.h
ToyKeeper/spaghetti-monster/anduril/cfg-emisar-d4v2.h
------------------------------------------------------------
revno: 409
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Fri 2019-05-03 01:39:24 -0600
message:
made build-all.sh detect attiny type from cfg file, and use it
modified:
ToyKeeper/spaghetti-monster/anduril/build-all.sh
------------------------------------------------------------
revno: 403 [merge]
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sun 2019-04-14 18:14:51 -0600
message:
merged updates from upstream
added/modified:
... lots of files
------------------------------------------------------------
revno: 402
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Sun 2019-04-14 18:08:08 -0600
message:
merged in some aux LED code updates from anduril
modified:
ToyKeeper/spaghetti-monster/rampingios/rampingiosv3.c
------------------------------------------------------------
revno: 401
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2018-12-27 16:23:09 -0700
message:
tk-attiny.h: started adding other MCU support
also removed redundant eeprom size hints
modified:
ToyKeeper/tk-attiny.h
------------------------------------------------------------
revno: 400
committer: Selene ToyKeeper <git@toykeeper.net>
branch nick: emisar-d4v2
timestamp: Thu 2018-12-27 16:21:59 -0700
message:
made dynamic clocking safer and more portable
(uses library function instead of direct register access)
(lib disables interrupts properly, which I wasn't doing)
modified:
ToyKeeper/spaghetti-monster/anduril/anduril.c
ToyKeeper/spaghetti-monster/fsm-events.c
ToyKeeper/spaghetti-monster/fsm-misc.c
ToyKeeper/spaghetti-monster/spaghetti-monster.h
|
| | |
|
| |
|
|
| |
therm_cal_offset var).
|
| |
|
|
|
|
| |
(was firing off 1000 times faster than desired, causing several issues)
(now only executes when explicitly requested by the WDT)
|
| |
|
|
|
|
| |
My lights seemed to measure just a bit low, so hopefully this will help.
It bumps up reported values by 0.05V.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now actually works on turbo (was previously emitting "temp low" instead of "temp high" while in direct-drive, probably due to an overflow).
Made stepdown work based on an average of the last few temperature predictions instead of just the most recent one. (reduced noise sensitivity)
Made each temperature sample based on 8 measurements instead of 4, to reduce noise.
Made standby mode re-init thermal measurement arrays, to avoid weird behavior next time light is used.
Reduced fixed-point precision to avoid overflows.
Reduced prediction strength to encourage stepping down faster while hot.
(unfortunately also steps down later, I think, if it wasn't already hot)
Not totally happy with new algorithm, but it's the least crappy of a whole bunch of things I tried.
(for example, a PID approach with correction based mostly on I... didn't work very well)
(taking an average of the last few predictions is very similar though, and works)
(but the result is still kind of meh)
Saving this so I'll have a functional base next time I try to improve it.
|
| |
|
|
|
|
|
| |
So far, UI1 and battcheck both work. UI2 and UI3 and other blinkies aren't implement yet.
Added 6-bar battcheck style to match Meteor (ish).
Increased maximum number of clicks to 12, because WTF. If your UI needs 12 clicks, what are you even doing in life?
|
| |
|
|
| |
or not.
|
| |
|
|
|
| |
Added LVP handling for other modes, including battcheck.
|
| |
|
|
|
|
| |
Added fsm-misc.*, which currently only has interruptible blink functions in it.
(for blinking out numbers and such)
|
| |
|
|
|
|
| |
Made some LVP values configurable.
Removed high_temperature() / low_temperature() shortcuts for now.
|
|
|
fsm-*.c and fsm-*.h.
|