The CC430's UCS (Unified Clock System) allows for quickly spinning up to a faster CPU frequency, then dropping back down, without changing the rates of the RTC or keypad interrupts. Unfortunately, power consumption scales linearly with CPU frequency, so we need to be DAMNED CAREFUL not to leave it in the high frequency state.
Close this issue when we have a library for convenient reclocking, with the following features:
[ ] ucs_slow() drops the frequency to 32kHz and disables all faster clocks.
[ ] ucs_fast() switches to the DCO at roughly 1MHz.
[ ] ucs_turbo() switches to the DCO or external clock (GW20) at the fastest available speed.
Also,
[ ] clock_init() in the clock application will call ucs_slow().
[x] LCD indicators will display clock warnings, to ensure that a bug doesn't silently screw up battery life.
Close this issue when all the fancy clocking is ready. We might as well use ucs_fast() in the RPN app.
The CC430's UCS (Unified Clock System) allows for quickly spinning up to a faster CPU frequency, then dropping back down, without changing the rates of the RTC or keypad interrupts. Unfortunately, power consumption scales linearly with CPU frequency, so we need to be DAMNED CAREFUL not to leave it in the high frequency state.
Close this issue when we have a library for convenient reclocking, with the following features:
ucs_slow()
drops the frequency to 32kHz and disables all faster clocks.ucs_fast()
switches to the DCO at roughly 1MHz.ucs_turbo()
switches to the DCO or external clock (GW20) at the fastest available speed.Also,
clock_init()
in the clock application will callucs_slow()
.Close this issue when all the fancy clocking is ready. We might as well use
ucs_fast()
in the RPN app.