void led_init()
{
PLEDDIR |= PLEDPIN;
+ #ifdef PLED2OUT
+ PLED2DIR |= PLED2PIN;
+ #endif
+ #ifdef PLED3OUT
+ PLED3DIR |= PLED3PIN;
+ #endif
}
+//TODO define differently if needed for telos/apimote
void led_on()
{
PLEDOUT |= PLEDPIN;
PLEDOUT ^= PLEDPIN;
}
+//LED2 and LED3 are only used by the telosb and apimote for now
+void led2_on()
+{
+#ifdef PLED2OUT
+ PLED2OUT &= ~PLED2PIN;
+#endif
+}
+void led2_off()
+{
+#ifdef PLED2OUT
+ PLED2OUT |= PLED2PIN;
+#endif
+}
+void led3_on()
+{
+#ifdef PLED3OUT
+ PLED3OUT &= ~PLED3PIN;
+#endif
+}
+void led3_off()
+{
+#ifdef PLED3OUT
+ PLED3OUT |= PLED3PIN;
+#endif
+}
+
//! Initialize MSP430 registers and all that jazz.
void msp430_init(){
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
led_init();
led_off();
-
/* P5.0 out and low; this is chosen for the PIC app (in which P5.0
is !MCLR) to ensure that an attached PIC chip, if present, is
immediately driven to reset state. A brief explanation of why this