lm3s1968: add debugging functionality on UART0.
[bertos.git] / examples / triface / protocol.c
index 3e4197e0c4fbde8c68eaf52b3b1713b94068f525..254880e5657287ffb19dd9fde352940559a6f7a1 100644 (file)
 #include "protocol.h"
 #include "cmd_ctor.h"  // MAKE_CMD, REGISTER_CMD
 #include "verstag.h"
+
 #include "hw/hw_adc.h"
 #include "hw/hw_input.h"
 
 #include <drv/timer.h>
 #include <drv/ser.h>
 #include <drv/sipo.h>
-#include <drv/wdt.h>
+#include <avr/wdt.h>
 #include <drv/buzzer.h>
 
 #include <mware/readline.h>
@@ -83,6 +84,8 @@ static bool interactive;
 /// Readline context, used for interactive mode.
 static struct RLContext rl_ctx;
 
+static Sipo fd_sipo;
+
 uint8_t reg_status_dout;
 /**
  * Send a NAK asking the host to send the current message again.
@@ -280,7 +283,7 @@ MAKE_CMD(ping, "", "",
 /* Dout  */
 MAKE_CMD(dout, "d", "",
 ({
-       sipo_putchar((uint8_t)args[1].l);
+       kfile_putc((uint8_t)args[1].l, &fd_sipo.fd);
 
        //Store status of dout ports.
        reg_status_dout = (uint8_t)args[1].l;
@@ -300,9 +303,7 @@ MAKE_CMD(reset, "", "",
 ({
        //Silence "args not used" warning.
        (void)args;
-       wdt_init();
-       wdt_setTimeout(7);
-       wdt_enable(true);
+       wdt_enable(WDTO_2S);
 
        /*We want to have an infinite loop that lock access on watchdog timer.
        This piece of code it's equivalent to a while(true), but we have done this because
@@ -358,6 +359,14 @@ static void protocol_registerCmds(void)
 /* Initialization: readline context, parser and register commands.  */
 void protocol_init(KFile *fd)
 {
+       /* SPI Port Initialization */
+       fd_sipo.load_device = TRIFACE_DOUT;
+       fd_sipo.bit_order = SIPO_DATAORDER_LSB;
+       fd_sipo.clock_pol = SIPO_START_LOW;
+       fd_sipo.load_pol = SIPO_LOW_TO_HIGH;
+
+       sipo_init(&fd_sipo);
+
        interactive = FORCE_INTERACTIVE;
 
        rl_init_ctx(&rl_ctx);