
/*
 * Copyright 2017 Oleg Borodin <onborodin@gmail.com>
 */

#include <avr/interrupt.h>
#include <util/delay.h>

#include <tool.h>

void timer0_init(void) {
    /* Disable comparators */
    REG_SETDOWN_BIT(TCCR0A, COM0A1);
    REG_SETDOWN_BIT(TCCR0A, COM0A0);
    REG_SETDOWN_BIT(TCCR0A, COM0B1);
    REG_SETDOWN_BIT(TCCR0A, COM0B0);
    /* Set normal mode */
    REG_SETDOWN_BIT(TCCR0A, WGM01);
    REG_SETDOWN_BIT(TCCR0A, WGM00);
    /* Set clock to 1/64 */
    REG_SETDOWN_BIT(TCCR0B, CS02);
    REG_SETUP_BIT(TCCR0B, CS01);
    REG_SETUP_BIT(TCCR0B, CS00);
    /* Enable timer interrupt */
    REG_SETUP_BIT(TIMSK0, TOIE0);
    //REG_SETUP(TCNT0, TIMER_INITVAL);
}
