Commit 3079ccda authored by Jan Kasprzak's avatar Jan Kasprzak
Browse files

Power management - make every module enable power for its own HW.

parent 8ebf32f3
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/power.h>
#include <avr/sleep.h>
#include "lights.h"
......@@ -132,6 +133,9 @@ void init_adc()
current_slow_adc = NUM_ADCS;
current_adc = 0;
power_adc_enable();
ACSR |= _BV(ACD); // but disable the analog comparator
ADCSRA = _BV(ADEN) // enable
| _BV(ADPS1) | _BV(ADPS0) // CLK/8 = 125 kHz
// | _BV(ADPS2) // CLK/16 = 62.5 kHz
......
......@@ -9,6 +9,8 @@
static void hw_setup()
{
power_all_disable();
wdt_enable(WDTO_1S);
//init_battery();
......@@ -67,9 +69,6 @@ int main(void)
{
init_log();
power_usi_disable(); // Once for lifetime
ACSR |= _BV(ACD); // disable analog comparator
log_set_state(3);
hw_setup();
......
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/power.h>
#include <util/delay.h>
#include <util/atomic.h>
......@@ -24,6 +25,8 @@ static void inline enable_pll()
void init_pwm()
{
power_timer1_enable();
enable_pll();
TCCR1 = _BV(CTC1) | _BV(CS10); // no clock prescaling
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment