aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/fsm-standby.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rearranged some build options and made sure the build still works if some ↵Selene ToyKeeper2017-09-281-0/+2
| | | | are turned off.
* Added idle_mode() for slightly lower power use without turning off any ↵Selene ToyKeeper2017-09-241-0/+17
| | | | | | | | regular functions. (PWM, ADC, WDT all still enabled; only useful in moon mode) Changed default ceilings in Anduril FW3A config.
* Reworked thermal regulation.Selene ToyKeeper2017-09-091-0/+5
| | | | | | | | | | | | | | | | 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.
* Made event handling a bit more reliable while asleep.Selene ToyKeeper2017-08-301-1/+3
| | | | | (was sometimes having difficulty getting out of soft lockout mode)
* Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper2017-08-191-0/+53
fsm-*.c and fsm-*.h.