X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fplatform.h;h=44767241b9b793ef44a371146a98f015b85e7e62;hp=16b3e842f3720f8acb2690c6a32053f23a89a073;hb=78533a51ab5421601b046a917dd0f6f01a402a49;hpb=2b654b579b948558edecc63dd7ab3aa4543f050d diff --git a/firmware/include/platform.h b/firmware/include/platform.h index 16b3e84..4476724 100644 --- a/firmware/include/platform.h +++ b/firmware/include/platform.h @@ -1,46 +1,76 @@ -//! \file platform.h +/*! \file platform.h + \author Travis Goodspeed + \brief Port and baud rate definitions. -#include -#include -#include + The functions specified here are defined in the platform + definition file, such as msp430x1612.c or msp430x2618.c. +*/ +#ifndef __PLATFORM_H +#define __PLATFORM_H -//Use P3 instead of P5 for target I/O on chips without P5. -#ifndef __MSP430_HAS_PORT5__ -#ifndef __MSP430_HAS_PORT5_R__ -#warning "No P5, using P3 instead. Will break 2618 and 1612 support." -#define P5OUT P3OUT -#define P5DIR P3DIR -#define P5REN P3REN -#define P5IN P3IN -#endif -#endif +#include "gfports.h" + +#include -//Use false P5REN for 1612. -#ifdef __MSP430_HAS_PORT5__ -#ifndef __MSP430_HAS_PORT5_R__ -#warning "1xx, using fake P5REN for external pulling resistors." -#define P5REN P5OUT +#ifdef MSP430 + #ifdef __MSPGCC__ + #include + #else + #include + #include + #include + #endif + + void msp430_init(); + void led_init(); //deprecated + void led_on(); + void led_off(); + void led_toggle(); + #if defined telosb || defined apimote + void led2_on(); + void led2_off(); + void led3_on(); + void led3_off(); + #endif #endif + +#include "config.h" + +#ifdef useuart1 +//TelosB and the ApiMote use the 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 uart. +#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(); +//! Called by monitor() when the DCO is correct and communication established. +void msp430_init_dco_done(); -//LED on P1.0 -#define PLEDOUT P1OUT -#define PLEDDIR P1DIR -#define PLEDPIN 0x1 + +#endif