Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "contiki.h"
- #include "net/netstack.h"
- #include "net/nullnet/nullnet.h"
- #include "lib/random.h"
- #include <string.h>
- #include <stdio.h>
- #include "sys/log.h"
- #define LOG_MODULE "Test"
- #define LOG_LEVEL LOG_LEVEL_INFO
- PROCESS (n2ncomms, "N2N Comms");
- AUTOSTART_PROCESSES (&n2ncomms);
- struct ctimer reply_timer;
- static linkaddr+
- uint8_t sourceAddres;
- static uint8_t distance = -1;
- void broadcast(){
- LOG_INFO ("Callback\n");
- static uint8_t buffer[1];
- buffer[0] = distance;
- nullnet_buf = buffer;
- nullnet_len = 1; // Nullnet packet is 1B
- NETSTACK_NETWORK.output(NULL);
- }
- void nullnet_receive (const void *data, uint16_t len,
- const linkaddr_t *src, const linkaddr_t *dest)
- {
- uint8_t distanceFromParent = ((uint8_t*)data)[0];
- if(distance > distanceFromParent ){
- //if(distance > distanceFromParent +1)
- distance = distanceFromParent + 1;
- sourceAddres = *src;
- broadcast();
- }
- }
- PROCESS_THREAD (n2ncomms, ev, data)
- {
- PROCESS_BEGIN ();
- if(linkaddr_node_addr.u8[0] == 1){
- distance = 0;
- broadcast();
- }
- nullnet_set_input_callback(nullnet_receive);
- //nullnet_set_input_callback (nullnet_receive);
- PROCESS_END ();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement