More work toward an AVR port.
[goodfet] / firmware / include / platform.h
index b5e1fa8..071e30f 100644 (file)
@@ -1,35 +1,55 @@
-//! \file platform.h
+/*! \file platform.h
+  \author Travis Goodspeed
+  \brief Port and baud rate definitions.
+  
+  The functions specified here are defined in the platform
+  definition file, such as msp430x1612.c or msp430x2618.c.
+*/
 
-#include <signal.h>
+
+#include "gfports.h"
+
+#include <stdint.h>
+
+#ifdef MSP430
 #include <io.h>
+#include <signal.h>
 #include <iomacros.h>
+#include "msp430.h"
+#endif
 
-
-//Use P3 instead of P5 for target I/O on chips without P5.
-#ifdef __msp430x22x4
-#warning "2274, using P3 instead.  Will break 2618 and 1612 support."
-#define P5OUT P3OUT
-#define P5DIR P3DIR
-#define P5REN P3REN
-#define P5IN P3IN
+#include "config.h"
+
+#ifdef telosb
+//TelosB uses second serial port.
+#define serial_tx serial1_tx
+#define serial_rx serial1_rx
+#define setbaud setbaud1
+#define msp430_init_uart msp430_init_uart1
+#else
+//Other targets use first.
+#define serial_tx serial0_tx
+#define serial_rx serial0_rx
+#define setbaud setbaud0
+#define msp430_init_uart msp430_init_uart0
 #endif
 
-unsigned char serial_rx();
-void serial_tx(unsigned char);
+unsigned char serial0_rx();
+void serial0_tx(unsigned char);
 
 unsigned char serial1_rx();
 void serial1_tx(unsigned char);
 
-void setbaud(unsigned char);
+void setbaud0(unsigned char);
 void setbaud1(unsigned char);
 
 //! Initialize the UART
-void msp430_init_uart();
+void msp430_init_uart0();
+//! Initialize the UART
+void msp430_init_uart1();
+
 //! Initialize the DCO Clock
 void msp430_init_dco();
-
-//LED on P1.0
-#define PLEDOUT P1OUT
-#define PLEDDIR P1DIR
-#define PLEDPIN 0x1
+//! Called by monitor() when the DCO is correct and communication established.
+void msp430_init_dco_done();