observe fixes
Dependencies: nsdl_lib Nanostack_lib
Fork of mbedEndpointNetwork by
Diff: network_stubs/network_stubs.cpp
- Revision:
- 3:5711cc2c6253
- Parent:
- 0:2a5a48a8b4d4
- Child:
- 4:2c8eeaf31699
--- a/network_stubs/network_stubs.cpp Tue Feb 03 01:48:01 2015 +0000 +++ b/network_stubs/network_stubs.cpp Tue Feb 03 05:16:21 2015 +0000 @@ -27,12 +27,34 @@ // Tasklet ID.. int main_tasklet_id = -1; +// randomize the MAC address +void randomize_mac_address() +{ + // just extern it for now + extern uint8_t app_MAC_address[NODE_MAC_ADDRESS_LENGTH]; + extern uint8_t endpoint_name[NODE_NAME_LENGTH]; + + // seed (weak) + srand(time(NULL)); + + // rand() with some added variance from endpoint name + for(int i=0;i<NODE_MAC_ADDRESS_LENGTH;++i) app_MAC_address[i] = (rand()*endpoint_name[i])%256; + + // display + std::printf("MAC Address: 0x%.2x::0x%.2x::0x%.2x::0x%.2x::0x%.2x::0x%.2x::0x%.2x::0x%.2x\r\n", + app_MAC_address[0],app_MAC_address[1],app_MAC_address[2],app_MAC_address[3], + app_MAC_address[4],app_MAC_address[5],app_MAC_address[6],app_MAC_address[7]); +} + // Nanostack_6LowPAN tasklet main handler function... extern "C" void tasklet_main(void); // plumb out the network void net_stubs_plumb_network(bool canActAsRouterNode) { + // randomize the MAC address + randomize_mac_address(); + // call init_network() init_network(canActAsRouterNode); }