Skip to content
Snippets Groups Projects
Commit cebc995e authored by zhuoshuguo's avatar zhuoshuguo
Browse files

gnrc_gomach: add sender ID number limit in beacon packet.

parent 0454491e
No related branches found
No related tags found
No related merge requests found
......@@ -276,6 +276,19 @@ extern "C" {
#define GNRC_GOMACH_MAX_ALLOC_SLOTS_NUM (25U)
#endif
/**
* @brief Maximum number of senders allowed to be allocated slots in one cycle.
*
* Exclude the static GoMacH MAC header payload in the beacon, which is 20 bytes,
* we have 107 bytes left for constructing the sender-ID list and the related slots-number
* list. A combined slots allocation information pair (sender ID with its corresponded
* allocate slots number) will cost 9 (8+1) bytes, thus we can hold a maximum of 11
* i.e., ((127 - 20) / 9), sender IDs in the beacon.
*/
#ifndef GNRC_GOMACH_MAX_ALLOC_SENDER_NUM
#define GNRC_GOMACH_MAX_ALLOC_SENDER_NUM (11U)
#endif
/**
* @brief Maximum t2k attempts before going to t2u in GoMacH.
*
......
......@@ -488,7 +488,13 @@ int gnrc_gomach_send_beacon(gnrc_netif_t *netif)
total_tdma_slot_num -= redueced_slots_num;
break;
}
j++;
/* If reach the maximum sender ID number limit, stop. */
if (total_tdma_node_num >= GNRC_GOMACH_MAX_ALLOC_SENDER_NUM) {
break;
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment