X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Fmsp430%2FMcuSleepC.nc;fp=tos%2Fchips%2Fmsp430%2FMcuSleepC.nc;h=77a638da0a73cbfc1eb532ecffda2080e7a3807f;hb=ac25baa53ea15fbbd2a322e91a0d4d2cf9525e3c;hp=504e9add33adeaf1a387e331cabab971eb2d9079;hpb=67ea6e597465286a923da75687454a88104bd6ef;p=tinyos-2.x.git diff --git a/tos/chips/msp430/McuSleepC.nc b/tos/chips/msp430/McuSleepC.nc index 504e9add..77a638da 100644 --- a/tos/chips/msp430/McuSleepC.nc +++ b/tos/chips/msp430/McuSleepC.nc @@ -69,18 +69,22 @@ implementation { if ((((TACCTL0 & CCIE) || (TACCTL1 & CCIE) || (TACCTL2 & CCIE)) && - ((TACTL & TASSEL_3) == TASSEL_2)) || - ((ME1 & (UTXE0 | URXE0)) && (U0TCTL & SSEL1)) || - ((ME2 & (UTXE1 | URXE1)) && (U1TCTL & SSEL1)) -#ifdef __msp430_have_usart0_with_i2c + ((TACTL & TASSEL_3) == TASSEL_2)) +#ifdef __MSP430_HAS_UART0__ + || ((ME1 & (UTXE0 | URXE0)) && (U0TCTL & SSEL1)) +#endif +#ifdef __MSP430_HAS_UART1__ + || ((ME2 & (UTXE1 | URXE1)) && (U1TCTL & SSEL1)) +#endif +#ifdef __MSP430_HAS_I2C__ // registers end in "nr" to prevent nesC race condition detection - || ((U0CTLnr & I2CEN) && (I2CTCTLnr & SSEL1) && + || ((U0CTLnr & I2CEN) && (I2CTCTLnr & SSEL1) && (I2CDCTLnr & I2CBUSY) && (U0CTLnr & SYNC) && (U0CTLnr & I2C)) #endif ) pState = MSP430_POWER_LPM1; -#ifdef __msp430_have_adc12 +#ifdef __MSP430_HAS_ADC12 // ADC12 check, pre-condition: pState != MSP430_POWER_ACTIVE if (ADC12CTL0 & ADC12ON){ if (ADC12CTL1 & ADC12SSEL_2){