X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fplatform.h;h=44767241b9b793ef44a371146a98f015b85e7e62;hp=b315d902ed54aed47d929ce49adcf154bed464ec;hb=0fdb361ae1af20139c5751a1b6151e5e065a31b3;hpb=3bf98a899ca8003835b69d949d299369a5d7a4f7 diff --git a/firmware/include/platform.h b/firmware/include/platform.h index b315d90..4476724 100644 --- a/firmware/include/platform.h +++ b/firmware/include/platform.h @@ -1,16 +1,76 @@ -//! \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. +*/ -unsigned char serial_rx(); -void serial_tx(unsigned char); -void setbaud(unsigned char); -void msp430_init_uart(); -void msp430_init_dco(); +#ifndef __PLATFORM_H +#define __PLATFORM_H + + +#include "gfports.h" + +#include + +#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" -//LED on P1.0 -#define PLEDOUT P1OUT -#define PLEDDIR P1DIR -#define PLEDPIN 0x1 +#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 serial0_rx(); +void serial0_tx(unsigned char); + +unsigned char serial1_rx(); +void serial1_tx(unsigned char); + +void setbaud0(unsigned char); +void setbaud1(unsigned char); + +//! Initialize the 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(); +#endif