X-Git-Url: http://git.droids-corp.org/?p=protos%2Fxbee-avr.git;a=blobdiff_plain;f=main.c;h=8e2aa0ef58618dc97c5a9276bee584ab8373bde5;hp=0e527174acb8da3843fde169eb013addf17f9466;hb=9a43add2f0ed382ce1f180bba65fdc077d03b6fb;hpb=8315b52a0e503089149fce525cbe78c007ff429d diff --git a/main.c b/main.c index 0e52717..8e2aa0e 100644 --- a/main.c +++ b/main.c @@ -52,6 +52,7 @@ #include #include +#include "beep.h" #include "main.h" struct xbeeboard xbeeboard; @@ -588,6 +589,8 @@ static void main_timer_interrupt(void) static uint16_t cycles; static uint8_t cpt; + cpt++; + /* interrupt every 2048 cycles */ cycles += 2048; if (cycles >= 12000) { @@ -601,6 +604,11 @@ static void main_timer_interrupt(void) else LED1_OFF(); + if (cpt & beep_mask) + BUZZER_ON(); + else + BUZZER_OFF(); + /* call scheduler every 682us with interrupt unlocked */ sei(); if ((cpt & 0x3) == 0) @@ -614,7 +622,7 @@ int main(void) int8_t err; struct xbee_dev dev; - DDRA = 0x07; /* LEDs */ + DDRA = 0x07 /* LEDs */ | 0x10 /* buzzer */; uart_init(); uart_register_rx_event(CMDLINE_UART, emergency); @@ -627,6 +635,7 @@ int main(void) cmdline_init(); spi_servo_init(); + beep_init(); printf_P(PSTR("\r\n")); rdline_newline(&xbeeboard.rdl, xbeeboard.prompt);