beep when GPS ready
[protos/xbee-avr.git] / main.c
diff --git a/main.c b/main.c
index 11fd442..aded312 100644 (file)
--- a/main.c
+++ b/main.c
@@ -27,6 +27,7 @@
 
 /* fuses:
  * avrdude -p atmega1284p -P usb -c avrispmkii -U lfuse:w:0xff:m -U hfuse:w:0x91:m -U efuse:w:0xff:m
+ * -> it failed but I answered y, then make reset and it was ok
  */
 
 #include <aversive.h>
 #include <parse.h>
 #include <rdline.h>
 #include <timer.h>
+#include <i2c.h>
 
+#include "../fpv-common/i2c_commands.h"
 #include "eeprom_config.h"
 #include "beep.h"
 #include "xbee_user.h"
+#include "i2c_protocol.h"
 #include "main.h"
 
 struct xbeeboard xbeeboard;
@@ -89,7 +93,7 @@ void bootloader(void)
 }
 
 /* return time in milliseconds on unsigned 16 bits */
-static uint16_t get_time_ms(void)
+uint16_t get_time_ms(void)
 {
        uint16_t ms;
        uint8_t flags;
@@ -159,6 +163,19 @@ int main(void)
        callout_mgr_init(&xbeeboard.intr_cm, get_time_ms);
 
        cmdline_init();
+       /* LOGS */
+       error_register_emerg(mylog);
+       error_register_error(mylog);
+       error_register_warning(mylog);
+       error_register_notice(mylog);
+       error_register_debug(mylog);
+
+       /* I2C */
+       i2c_init(I2C_MODE_MASTER, I2C_MAINBOARD_ADDR);
+       i2c_protocol_init();
+       i2c_register_recv_event(i2c_recvevent);
+       i2c_register_send_event(i2c_sendevent);
+
        spi_servo_init();
        beep_init();
 
@@ -182,6 +199,8 @@ int main(void)
 
        xbeeapp_init();
 
+       rc_proto_init();
+
        sei();
 
        eeprom_load_config();