From: travisutk Date: Wed, 15 Aug 2012 17:58:11 +0000 (+0000) Subject: Urgent fix for broken GoodFET31 support, result of UART1 definitions. X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=3f484ecf26ada8e36e1901f33e1a7c8eee4a112a Urgent fix for broken GoodFET31 support, result of UART1 definitions. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@1224 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/firmware/config.mk b/firmware/config.mk index 2657336..14f93af 100644 --- a/firmware/config.mk +++ b/firmware/config.mk @@ -13,6 +13,12 @@ MSP430BSL?=goodfet.bsl --speed=38400 --swap-reset-test CFLAGS += -Duseuart1 -Dapimote endif +ifneq (,$(findstring $(board),goodthopter01)) +mcu ?= msp430f2274 +platform := goodfet +config := monitor spi +endif + ifneq (,$(findstring $(board),goodfet20 goodfet10 goodfet11)) mcu ?= msp430f1612 platform := goodfet diff --git a/firmware/lib/msp430f2618.c b/firmware/lib/msp430f2618.c index f0868f5..490208f 100644 --- a/firmware/lib/msp430f2618.c +++ b/firmware/lib/msp430f2618.c @@ -26,10 +26,12 @@ unsigned char serial0_rx(){ unsigned char serial1_rx(){ char c; +#ifdef UC1IFG while (!(UC1IFG&UCA1RXIFG)); // USCI_A1 TX buffer ready? c = UCA1RXBUF; UC1IFG&=~UCA1RXIFG; - +#endif + return c; } @@ -41,16 +43,11 @@ void serial0_tx(unsigned char x){ } //! Transmit a byte on the second UART. void serial1_tx(unsigned char x){ +#ifdef UC1IFG while ((UC1IFG & UCA1TXIFG) == 0); //loop until buffer is free UCA1TXBUF = x; /* send the character */ while(!(UC1IFG & UCA1TXIFG)); -} - -//! Transmit a byte. -void serial_tx_old(unsigned char x){ - while ((IFG2 & UCA0TXIFG) == 0); //loop until buffer is free - UCA0TXBUF = x; /* send the character */ - while(!(IFG2 & UCA0TXIFG)); +#endif } @@ -85,6 +82,7 @@ void setbaud0(unsigned char rate){ //! Set the baud rate of the second uart. void setbaud1(unsigned char rate){ +#ifdef UC1IFG //Table 15-4, page 481 of 2xx Family Guide switch(rate){ case 1://9600 baud @@ -109,6 +107,7 @@ void setbaud1(unsigned char rate){ UCA1BR1 = 0x00; break; } +#endif } #define BAUD0EN 0x41 @@ -139,6 +138,8 @@ void msp430_init_uart(){ //Interrupt is handled by target code, not by bootloader. //IE2 |= UCA0RXIE; //DO NOT UNCOMMENT + +#ifdef UC1IFG // Serial 1 on P3.6, 3.7 P3SEL |= 0xC0; //UCA1CTL0 = 0x00; @@ -146,7 +147,7 @@ void msp430_init_uart(){ setbaud1(5); //115200 UCA1MCTL = 0; UCA1CTL1 &= ~UCSWRST; // Initialize USCI state machine - +#endif }