void main (void) { BSP_Init(); /* If an on-the-fly device address is generated it must be done before the * call to SMPL_Init(). If the address is set here the ROM value will not * be used. If SMPL_Init() runs before this IOCTL is used the IOCTL call * will not take effect. One shot only. The IOCTL call below is conformal. */ #ifdef I_WANT_TO_CHANGE_DEFAULT_ROM_DEVICE_ADDRESS_PSEUDO_CODE { addr_t lAddr; lAddr.addr[0]=0x35; lAddr.addr[1]=0x35; lAddr.addr[2]=0x35; lAddr.addr[3]=0x35; //createRandomAddress(&lAddr); SMPL_Ioctl(IOCTL_OBJ_ADDR, IOCTL_ACT_SET, &lAddr); } #endif /* I_WANT_TO_CHANGE_DEFAULT_ROM_DEVICE_ADDRESS_PSEUDO_CODE */ /* This call will fail because the join will fail since there is no Access Point * in this scenario. But we don't care -- just use the default link token later. * We supply a callback pointer to handle the message returned by the peer. */ SMPL_Init(sRxCallback); /* turn on LEDs. */ if (!BSP_RED_LED_IS_ON()) { toggleLED(RED); } if (!BSP_GREEN_LED_IS_ON()) { toggleLED(GREEN); } /* wait for a button press... */ do { if (BSP_BUTTON() ) { break; } } while (1); /* never coming back... */ linkFrom(); /* but in case we do... */ while (1) ; }
int main (void) { WDTCTL = WDTPW + WDTHOLD; BSP_Init(); /* If an on-the-fly device address is generated it must be done before the * call to SMPL_Init(). If the address is set here the ROM value will not * be used. If SMPL_Init() runs before this IOCTL is used the IOCTL call * will not take effect. One shot only. The IOCTL call below is conformal. */ #ifdef I_WANT_TO_CHANGE_DEFAULT_ROM_DEVICE_ADDRESS_PSEUDO_CODE { addr_t lAddr; createRandomAddress(&lAddr); SMPL_Ioctl(IOCTL_OBJ_ADDR, IOCTL_ACT_SET, &lAddr); } #endif /* I_WANT_TO_CHANGE_DEFAULT_ROM_DEVICE_ADDRESS_PSEUDO_CODE */ /* This call will fail because the join will fail since there is no Access Point * in this scenario. But we don't care -- just use the default link token later. * We supply a callback pointer to handle the message returned by the peer. */ toggleLED(1); SMPL_Init(sRxCallback); /* turn on LEDs. */ toggleLED(2); NWK_DELAY(500); int i; for (i = 10; --i >= 0; ) { toggleLED(1); toggleLED(2); NWK_DELAY(100); } toggleLED(2); /* never coming back... */ linkFrom(); /* but in case we do... */ while (1) ; }