xbee & spi ok, only ping is not working
[protos/xbee-avr.git] / main.c
diff --git a/main.c b/main.c
index 2120a62..1557c69 100644 (file)
--- a/main.c
+++ b/main.c
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* fuses:
+ * avrdude -p atmega1284p -P usb -c avrispmkii -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xff:m
+ */
+
 #include <aversive.h>
 #include <aversive/queue.h>
 #include <aversive/endian.h>
@@ -584,23 +588,15 @@ static uint16_t get_time_ms(void)
        return global_ms;
 }
 
-static void do_led_blink(struct callout_manager *cm,
-                        struct callout *clt, void *dummy)
-{
-       static uint8_t a = 0;
-
-       (void)cm;
-       (void)clt;
-       (void)dummy;
-
-       /* XXX */
-       a++;
-}
-
 static void increment_ms(void *dummy)
 {
        (void)dummy;
        global_ms++;
+
+       if (global_ms & 0x80)
+               LED1_ON();
+       else
+               LED1_OFF();
 }
 
 static void main_timer_interrupt(void)
@@ -617,11 +613,17 @@ static void main_timer_interrupt(void)
  */
 int main(void)
 {
-       struct callout t1;
+       //struct callout t1;
        FILE *xbee_file;
        int8_t err;
        struct xbee_dev dev;
 
+       DDRA = 0x07; /* LEDs */
+       LED2_ON();
+       wait_ms(1000);
+       LED3_ON();
+       wait_ms(1000);
+
        uart_init();
        uart_register_rx_event(CMDLINE_UART, emergency);
 
@@ -641,7 +643,7 @@ int main(void)
        rdline_newline(&xbeeboard.rdl, xbeeboard.prompt);
 
        callout_manager_init(&cm, get_time_ms);
-       callout_reset(&cm, &t1, 500, PERIODICAL, do_led_blink, NULL);
+       //callout_reset(&cm, &t1, 500, PERIODICAL, do_led_blink, NULL);
 
        /* initialize libxbee */
        err = xbee_init();
@@ -662,6 +664,7 @@ int main(void)
        }
 
        sei();
+
        xbee_mainloop();
        return 0;
 }