feat: 更新时隙表, 避免业务帧连续接收导致的物理层复位; 更新跳频图案

This commit is contained in:
2025-06-19 16:17:55 +08:00
parent 4932c9c6c7
commit 8a273739c3
2 changed files with 646 additions and 308 deletions
+431 -153
View File
@@ -25,7 +25,7 @@
#include "link_layer.h" #include "link_layer.h"
#include "link_layer_types.h" #include "link_layer_types.h"
L2_RTNE_TABLE_ENTRY tableFor10Node[L2_SLOTS_PER_FRAME] = L2_RTNE_TABLE_ENTRY tab10Mng10Svc[L2_SLOTS_PER_FRAME] =
{ {
// 36 slots: advertise of antenna-1 ~ antenna-3 // 36 slots: advertise of antenna-1 ~ antenna-3
// 12 slots: idle for no antenna-4 // 12 slots: idle for no antenna-4
@@ -121,18 +121,18 @@ L2_RTNE_TABLE_ENTRY tableFor10Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_ACKNOWLEDGE, 0x03, 0x0A, 0x01}, {L2_SLOT_ACKNOWLEDGE, 0x03, 0x0A, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x04, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x04, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_IDLE, 0x00, 0x00, 0x00},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_IDLE, 0x00, 0x00, 0x00},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
// 12 slots: network management, head <--> node // 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node // 18 slots: message distribution, head ---> node
@@ -140,14 +140,14 @@ L2_RTNE_TABLE_ENTRY tableFor10Node[L2_SLOTS_PER_FRAME] =
// 8 slots: service // 8 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x02}, {L2_SLOT_MANAGE, 0x00, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x02}, {L2_SLOT_MANAGE, 0x01, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x00, 0x02, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x02, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x00, 0x03, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x03, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x03, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x03, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x00, 0x04, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x04, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x04, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x04, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02}, {L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
@@ -170,94 +170,94 @@ L2_RTNE_TABLE_ENTRY tableFor10Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A}, {L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x02}, {L2_SLOT_RTT, 0x00, 0x01, 0x02},
{L2_SLOT_RTT, 0x01, 0x01, 0x02}, {L2_SLOT_RTT, 0x01, 0x01, 0x02},
{L2_SLOT_RTT, 0x00, 0x01, 0x03},
{L2_SLOT_RTT, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x01, 0x04},
{L2_SLOT_RTT, 0x01, 0x01, 0x04},
{L2_SLOT_RTT, 0x00, 0x02, 0x01}, {L2_SLOT_RTT, 0x00, 0x02, 0x01},
{L2_SLOT_RTT, 0x01, 0x02, 0x01}, {L2_SLOT_RTT, 0x01, 0x02, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x03},
{L2_SLOT_RTT, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x03, 0x01}, {L2_SLOT_RTT, 0x00, 0x03, 0x01},
{L2_SLOT_RTT, 0x01, 0x03, 0x01}, {L2_SLOT_RTT, 0x01, 0x03, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x04},
{L2_SLOT_RTT, 0x01, 0x01, 0x04},
{L2_SLOT_RTT, 0x00, 0x04, 0x01}, {L2_SLOT_RTT, 0x00, 0x04, 0x01},
{L2_SLOT_RTT, 0x01, 0x04, 0x01}, {L2_SLOT_RTT, 0x01, 0x04, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID},
// 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node
// 12 slots: rtt, head <--> node
// 8 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x00, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x07, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x07, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x03},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x03},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x04},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x04},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x05},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x05},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x06},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x06},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x07},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x07},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x08},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x08},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x09},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x09},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x0A},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x05},
{L2_SLOT_RTT, 0x01, 0x01, 0x05},
{L2_SLOT_RTT, 0x00, 0x01, 0x06},
{L2_SLOT_RTT, 0x01, 0x01, 0x06},
{L2_SLOT_RTT, 0x00, 0x01, 0x07},
{L2_SLOT_RTT, 0x01, 0x01, 0x07},
{L2_SLOT_RTT, 0x00, 0x05, 0x01},
{L2_SLOT_RTT, 0x01, 0x05, 0x01},
{L2_SLOT_RTT, 0x00, 0x06, 0x01},
{L2_SLOT_RTT, 0x01, 0x06, 0x01},
{L2_SLOT_RTT, 0x00, 0x07, 0x01},
{L2_SLOT_RTT, 0x01, 0x07, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x04, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x04, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x05, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x05, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x05, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x05, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x06, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x06, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x06, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x06, L2_UNICAST_ID},
// 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node
// 12 slots: rtt, head <--> node
// 8 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x00, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x00, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x00, 0x07, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x07, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x03},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x03},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x04},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x04},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x05},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x05},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x06},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x06},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x07},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x07},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x08},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x08},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x09},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x09},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x0A},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x05},
{L2_SLOT_RTT, 0x01, 0x01, 0x05},
{L2_SLOT_RTT, 0x00, 0x05, 0x01},
{L2_SLOT_RTT, 0x01, 0x05, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x06},
{L2_SLOT_RTT, 0x01, 0x01, 0x06},
{L2_SLOT_RTT, 0x00, 0x06, 0x01},
{L2_SLOT_RTT, 0x01, 0x06, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x07},
{L2_SLOT_RTT, 0x01, 0x01, 0x07},
{L2_SLOT_RTT, 0x00, 0x07, 0x01},
{L2_SLOT_RTT, 0x01, 0x07, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x07, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x07, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x08, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x08, L2_UNICAST_ID},
// 12 slots: network management, head <--> node // 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node // 18 slots: message distribution, head ---> node
// 12 slots: rtt, head <--> node // 12 slots: rtt, head <--> node
// 8 slots: service, with one slot idle // 8 slots: service, with one slot idle
{L2_SLOT_MANAGE, 0x00, 0x01, 0x08}, {L2_SLOT_MANAGE, 0x00, 0x01, 0x08},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x08}, {L2_SLOT_MANAGE, 0x01, 0x01, 0x08},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x00, 0x08, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x08, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x08, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x08, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x00, 0x09, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x09, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x09, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x09, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x00, 0x0A, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x0A, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x0A, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x0A, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02}, {L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
@@ -280,27 +280,27 @@ L2_RTNE_TABLE_ENTRY tableFor10Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A}, {L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x08}, {L2_SLOT_RTT, 0x00, 0x01, 0x08},
{L2_SLOT_RTT, 0x01, 0x01, 0x08}, {L2_SLOT_RTT, 0x01, 0x01, 0x08},
{L2_SLOT_RTT, 0x00, 0x01, 0x09},
{L2_SLOT_RTT, 0x01, 0x01, 0x09},
{L2_SLOT_RTT, 0x00, 0x01, 0x0A},
{L2_SLOT_RTT, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x08, 0x01}, {L2_SLOT_RTT, 0x00, 0x08, 0x01},
{L2_SLOT_RTT, 0x01, 0x08, 0x01}, {L2_SLOT_RTT, 0x01, 0x08, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x09},
{L2_SLOT_RTT, 0x01, 0x01, 0x09},
{L2_SLOT_RTT, 0x00, 0x09, 0x01}, {L2_SLOT_RTT, 0x00, 0x09, 0x01},
{L2_SLOT_RTT, 0x01, 0x09, 0x01}, {L2_SLOT_RTT, 0x01, 0x09, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x0A},
{L2_SLOT_RTT, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x0A, 0x01}, {L2_SLOT_RTT, 0x00, 0x0A, 0x01},
{L2_SLOT_RTT, 0x01, 0x0A, 0x01}, {L2_SLOT_RTT, 0x01, 0x0A, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x08, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x08, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x09, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x09, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x09, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x09, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x00, 0x0A, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x0A, L2_UNICAST_ID},
{L2_SLOT_SERVICE, 0x01, 0x0A, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x0A, L2_UNICAST_ID},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}
}; };
L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] = L2_RTNE_TABLE_ENTRY tab10Mng3Svc[L2_SLOTS_PER_FRAME] =
{ {
// 36 slots: advertise of antenna-1 ~ antenna-3 // 36 slots: advertise of antenna-1 ~ antenna-3
// 12 slots: idle for no antenna-4 // 12 slots: idle for no antenna-4
@@ -394,20 +394,20 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_ACKNOWLEDGE, 0x01, 0x0A, 0x01}, {L2_SLOT_ACKNOWLEDGE, 0x01, 0x0A, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x02, 0x0A, 0x01}, {L2_SLOT_ACKNOWLEDGE, 0x02, 0x0A, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x03, 0x0A, 0x01}, {L2_SLOT_ACKNOWLEDGE, 0x03, 0x0A, 0x01},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}, {L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
// 12 slots: network management, head <--> node // 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node // 18 slots: message distribution, head ---> node
@@ -415,14 +415,14 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
// 8 slots: service // 8 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x02}, {L2_SLOT_MANAGE, 0x00, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x02}, {L2_SLOT_MANAGE, 0x01, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x00, 0x02, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x02, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x00, 0x03, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x03, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x03, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x03, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x04},
{L2_SLOT_MANAGE, 0x00, 0x04, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x04, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x04, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x04, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02}, {L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
@@ -445,24 +445,24 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A}, {L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x02}, {L2_SLOT_RTT, 0x00, 0x01, 0x02},
{L2_SLOT_RTT, 0x01, 0x01, 0x02}, {L2_SLOT_RTT, 0x01, 0x01, 0x02},
{L2_SLOT_RTT, 0x00, 0x01, 0x03},
{L2_SLOT_RTT, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x01, 0x04},
{L2_SLOT_RTT, 0x01, 0x01, 0x04},
{L2_SLOT_RTT, 0x00, 0x02, 0x01}, {L2_SLOT_RTT, 0x00, 0x02, 0x01},
{L2_SLOT_RTT, 0x01, 0x02, 0x01}, {L2_SLOT_RTT, 0x01, 0x02, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x03},
{L2_SLOT_RTT, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x03, 0x01}, {L2_SLOT_RTT, 0x00, 0x03, 0x01},
{L2_SLOT_RTT, 0x01, 0x03, 0x01}, {L2_SLOT_RTT, 0x01, 0x03, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x04},
{L2_SLOT_RTT, 0x01, 0x01, 0x04},
{L2_SLOT_RTT, 0x00, 0x04, 0x01}, {L2_SLOT_RTT, 0x00, 0x04, 0x01},
{L2_SLOT_RTT, 0x01, 0x04, 0x01}, {L2_SLOT_RTT, 0x01, 0x04, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
// 12 slots: network management, head <--> node // 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node // 18 slots: message distribution, head ---> node
@@ -470,14 +470,14 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
// 8 slots: service // 8 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x05}, {L2_SLOT_MANAGE, 0x00, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x05}, {L2_SLOT_MANAGE, 0x01, 0x01, 0x05},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x00, 0x05, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x05, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x05, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x06},
{L2_SLOT_MANAGE, 0x00, 0x06, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x06, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x06, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x07},
{L2_SLOT_MANAGE, 0x00, 0x07, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x07, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x07, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x07, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02}, {L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
@@ -500,24 +500,24 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A}, {L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x05}, {L2_SLOT_RTT, 0x00, 0x01, 0x05},
{L2_SLOT_RTT, 0x01, 0x01, 0x05}, {L2_SLOT_RTT, 0x01, 0x01, 0x05},
{L2_SLOT_RTT, 0x00, 0x01, 0x06},
{L2_SLOT_RTT, 0x01, 0x01, 0x06},
{L2_SLOT_RTT, 0x00, 0x01, 0x07},
{L2_SLOT_RTT, 0x01, 0x01, 0x07},
{L2_SLOT_RTT, 0x00, 0x05, 0x01}, {L2_SLOT_RTT, 0x00, 0x05, 0x01},
{L2_SLOT_RTT, 0x01, 0x05, 0x01}, {L2_SLOT_RTT, 0x01, 0x05, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x06},
{L2_SLOT_RTT, 0x01, 0x01, 0x06},
{L2_SLOT_RTT, 0x00, 0x06, 0x01}, {L2_SLOT_RTT, 0x00, 0x06, 0x01},
{L2_SLOT_RTT, 0x01, 0x06, 0x01}, {L2_SLOT_RTT, 0x01, 0x06, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x07},
{L2_SLOT_RTT, 0x01, 0x01, 0x07},
{L2_SLOT_RTT, 0x00, 0x07, 0x01}, {L2_SLOT_RTT, 0x00, 0x07, 0x01},
{L2_SLOT_RTT, 0x01, 0x07, 0x01}, {L2_SLOT_RTT, 0x01, 0x07, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x01, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
// 12 slots: network management, head <--> node // 12 slots: network management, head <--> node
// 18 slots: message distribution, head ---> node // 18 slots: message distribution, head ---> node
@@ -525,14 +525,14 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
// 8 slots: service, with one slot idle // 8 slots: service, with one slot idle
{L2_SLOT_MANAGE, 0x00, 0x01, 0x08}, {L2_SLOT_MANAGE, 0x00, 0x01, 0x08},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x08}, {L2_SLOT_MANAGE, 0x01, 0x01, 0x08},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x00, 0x08, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x08, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x08, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x08, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x09},
{L2_SLOT_MANAGE, 0x00, 0x09, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x09, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x09, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x09, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x0A},
{L2_SLOT_MANAGE, 0x00, 0x0A, 0x01}, {L2_SLOT_MANAGE, 0x00, 0x0A, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x0A, 0x01}, {L2_SLOT_MANAGE, 0x01, 0x0A, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02}, {L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
@@ -555,44 +555,322 @@ L2_RTNE_TABLE_ENTRY tableFor3Node[L2_SLOTS_PER_FRAME] =
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A}, {L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x01, 0x08}, {L2_SLOT_RTT, 0x00, 0x01, 0x08},
{L2_SLOT_RTT, 0x01, 0x01, 0x08}, {L2_SLOT_RTT, 0x01, 0x01, 0x08},
{L2_SLOT_RTT, 0x00, 0x01, 0x09},
{L2_SLOT_RTT, 0x01, 0x01, 0x09},
{L2_SLOT_RTT, 0x00, 0x01, 0x0A},
{L2_SLOT_RTT, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x08, 0x01}, {L2_SLOT_RTT, 0x00, 0x08, 0x01},
{L2_SLOT_RTT, 0x01, 0x08, 0x01}, {L2_SLOT_RTT, 0x01, 0x08, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x09},
{L2_SLOT_RTT, 0x01, 0x01, 0x09},
{L2_SLOT_RTT, 0x00, 0x09, 0x01}, {L2_SLOT_RTT, 0x00, 0x09, 0x01},
{L2_SLOT_RTT, 0x01, 0x09, 0x01}, {L2_SLOT_RTT, 0x01, 0x09, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x0A},
{L2_SLOT_RTT, 0x01, 0x01, 0x0A},
{L2_SLOT_RTT, 0x00, 0x0A, 0x01}, {L2_SLOT_RTT, 0x00, 0x0A, 0x01},
{L2_SLOT_RTT, 0x01, 0x0A, 0x01}, {L2_SLOT_RTT, 0x01, 0x0A, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, L2_UNICAST_ID}, {L2_SLOT_SERVICE, 0x01, 0x03, 0x01}
};
L2_RTNE_TABLE_ENTRY tab3Mng3Svc[L2_SLOTS_PER_FRAME] =
{
// ---------------------------------------
// 1 round of advertise: 36 slots
// 1 round of acknowledge: 8 slots
// 1 round of manage: 8 slots
// 1 round of distribute: 4 slots
// 1 round of rtt: 8 slots
// 23 rounds of 3 node communication: 184 slots
// 2 idle slots
// ---------------------------------------
// 36 slots: advertise of antenna-1 ~ antenna-3
// 8 slots: acknowledge of 2 member nodes
// 8 slots: service slot
{L2_SLOT_ADVERTISE, 0x00, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x01, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x02, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x03, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x04, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x05, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x06, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x07, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x08, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x09, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x0A, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x0B, 0x01, L2_BROADCAST_ID1},
{L2_SLOT_ADVERTISE, 0x00, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x01, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x02, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x03, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x04, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x05, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x06, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x07, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x08, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x09, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x0A, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x0B, 0x01, L2_BROADCAST_ID2},
{L2_SLOT_ADVERTISE, 0x00, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x01, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x02, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x03, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x04, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x05, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x06, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x07, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x08, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x09, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x0A, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ADVERTISE, 0x0B, 0x01, L2_BROADCAST_ID3},
{L2_SLOT_ACKNOWLEDGE, 0x00, 0x02, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x01, 0x02, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x02, 0x02, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x03, 0x02, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x00, 0x03, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x01, 0x03, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x02, 0x03, 0x01},
{L2_SLOT_ACKNOWLEDGE, 0x03, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
// 50 slots: service
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
// 8 slots: network management, head <--> node
// 4 slots: message distribution, head ---> node
// 8 slots: rtt, head <--> node
// 30 slots: service
{L2_SLOT_MANAGE, 0x00, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x02},
{L2_SLOT_MANAGE, 0x00, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x02, 0x01},
{L2_SLOT_MANAGE, 0x00, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x01, 0x01, 0x03},
{L2_SLOT_MANAGE, 0x00, 0x03, 0x01},
{L2_SLOT_MANAGE, 0x01, 0x03, 0x01},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x02},
{L2_SLOT_DISTRIBUTE, 0x00, 0x01, 0x03},
{L2_SLOT_DISTRIBUTE, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x01, 0x02},
{L2_SLOT_RTT, 0x01, 0x01, 0x02},
{L2_SLOT_RTT, 0x00, 0x02, 0x01},
{L2_SLOT_RTT, 0x01, 0x02, 0x01},
{L2_SLOT_RTT, 0x00, 0x01, 0x03},
{L2_SLOT_RTT, 0x01, 0x01, 0x03},
{L2_SLOT_RTT, 0x00, 0x03, 0x01},
{L2_SLOT_RTT, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
// 50 slots: service
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
// 48 slots: service
// 2 slots: idle
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x02},
{L2_SLOT_SERVICE, 0x00, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x02, 0x01},
{L2_SLOT_SERVICE, 0x00, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x01, 0x01, 0x03},
{L2_SLOT_SERVICE, 0x00, 0x03, 0x01},
{L2_SLOT_SERVICE, 0x01, 0x03, 0x01},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00},
{L2_SLOT_IDLE, 0x00, 0x00, 0x00}
}; };
L2_RTNE_TABLE_ENTRY *initTable[L2_INIT_RTNE_PERIOD] = L2_RTNE_TABLE_ENTRY *initTable[L2_INIT_RTNE_PERIOD] =
{ {
tableFor10Node tab10Mng10Svc
}; };
L2_RTNE_TABLE_ENTRY *normalTable0[L2_INIT_RTNE_PERIOD] = L2_RTNE_TABLE_ENTRY *normalTable0[L2_INIT_RTNE_PERIOD] =
{ {
tableFor10Node tab10Mng10Svc
}; };
L2_RTNE_TABLE_ENTRY *normalTable1[L2_INIT_RTNE_PERIOD] = L2_RTNE_TABLE_ENTRY *normalTable1[L2_INIT_RTNE_PERIOD] =
{ {
tableFor3Node tab10Mng3Svc
}; };
L2_RTNE_TABLE_ENTRY *normalTable2[L2_INIT_RTNE_PERIOD] = L2_RTNE_TABLE_ENTRY *normalTable2[L2_INIT_RTNE_PERIOD] =
{ {
tableFor10Node tab3Mng3Svc
}; };
/** @} RoutineTable*/ /** @} RoutineTable*/
+83 -23
View File
@@ -63,9 +63,9 @@ const uint16_t freqTable[L1_FRAME_MAX_HOPS] =
}; };
//const uint8_t antCalTable[L1_ANT_NUM][L1_FRAME_MAX_HOPS][L1_ANT_CH_NUM] = // const uint8_t antCalTable[L1_ANT_NUM][L1_FRAME_MAX_HOPS][L1_ANT_CH_NUM] =
////Antenna-JG01 // //Antenna-JG01
//{ // {
// // Antenna-1 // // Antenna-1
// { // {
// { 0, 2525, -7533, -6846}, { 0, 12726, -7818, -6860}, // { 0, 2525, -7533, -6846}, { 0, 12726, -7818, -6860},
@@ -198,45 +198,105 @@ const uint16_t freqTable[L1_FRAME_MAX_HOPS] =
// { 0, 1722, -7550, -8568}, { 0, 1741, -7691, -8449}, // { 0, 1722, -7550, -8568}, { 0, 1741, -7691, -8449},
// { 0, 1767, -7775, -8328}, // { 0, 1767, -7775, -8328},
// }, // },
//}; // };
const uint8_t hopPattern_ADV_24MS[L1_FRAME_ADV_24MS_HOPS] = const uint8_t hopPattern_ADV_24MS[L1_FRAME_ADV_24MS_HOPS] =
{ {
0U, 35U, 66U, 47U, 40U, 16U, 30U, 65U, 0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U,
43U, 7U, 70U, 63U, 7U, 65U, 42U, 28U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
2U 16U,
}; };
const uint8_t hopPattern_ACK_8MS[L1_FRAME_ACK_8MS_HOPS] = const uint8_t hopPattern_ACK_8MS[L1_FRAME_ACK_8MS_HOPS] =
{ {
0U, 5U, 49U, 25U, 7U 10U, 11U, 12U, 13U, 14U,
}; };
//const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] =
//{
// 80U, 16U, 17U, 65U, 60U, 54U, 31U, 15U,
// 6U, 19U, 79U, 52U, 29U, 42U, 23U, 59U,
// 60U, 58U, 76U, 67U, 31U, 76U, 77U, 79U,
// 79U, 14U, 61U, 5U, 71U, 50U, 32U, 77U,
// 60U,
//};
//const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] =
//{
// 0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U,
// 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
// 16U, 17U, 18U, 19U, 20U, 21U, 22U, 23U,
// 24U, 25U, 26U, 27U, 28U, 29U, 30U, 31U,
// 32U,
//};
const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] = const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] =
{ {
80U, 16U, 17U, 65U, 60U, 54U, 31U, 15U, 0U, 1U, 2U, 3U, 4U, 5U, 6U, 7U,
6U, 19U, 79U, 52U, 29U, 42U, 23U, 59U, 10U, 11U, 10U, 11U, 10U, 11U, 10U, 11U,
60U, 58U, 76U, 67U, 31U, 76U, 77U, 79U, 10U, 12U, 10U, 12U, 10U, 12U, 10U, 12U,
79U, 14U, 61U, 5U, 71U, 50U, 32U, 77U, 10U, 13U, 10U, 13U, 10U, 13U, 10U, 13U,
60U, 10U,
}; };
//const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] =
//{
// 0U, 1U, 2U, 3U, 4U, 5U, 6U,
//};
//const uint8_t hopPattern_128KBPS_4MS[L1_FRAME_128KBPS_4MS_HOPS] =
//{
// 0U, 16U, 17U, 65U, 60U, 54U, 31U, 15U,
// 6U, 19U, 39U, 52U, 29U, 42U, 23U, 49U,
// 33U, 58U, 24U, 67U, 31U, 13U, 17U, 10U,
// 59U, 14U, 61U, 5U, 41U, 44U, 32U, 35U,
// 60U,
//};
//const uint8_t hopPattern_512KBPS_4MS[L1_FRAME_512KBPS_4MS_HOPS] =
//{
// 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
// 16U, 17U, 18U, 19U, 20U, 21U, 22U, 23U,
// 24U, 25U, 26U, 27U, 28U, 29U, 30U, 31U,
// 32U, 33U, 34U, 35U, 36U, 37U, 38U, 39U,
// 40U, 41U, 42U, 43U,
//};
const uint8_t hopPattern_512KBPS_4MS[L1_FRAME_512KBPS_4MS_HOPS] = const uint8_t hopPattern_512KBPS_4MS[L1_FRAME_512KBPS_4MS_HOPS] =
{ {
80U, 62U, 40U, 66U, 65U, 33U, 55U, 33U, 8U, 9U, 10U, 11U, 12U, 13U, 14U, 15U,
57U, 11U, 37U, 45U, 5U, 69U, 77U, 54U, 16U, 17U, 16U, 17U, 16U, 17U, 16U, 17U,
37U, 63U, 14U, 64U, 76U, 31U, 45U, 52U, 16U, 18U, 16U, 18U, 16U, 18U, 16U, 18U,
40U, 20U, 20U, 32U, 0U, 60U, 23U, 19U, 16U, 19U, 16U, 19U, 16U, 19U, 16U, 19U,
15U, 38U, 62U, 18U, 16U, 20U, 16U, 20U,
}; };
//const uint8_t hopPattern_2MBPS_4MS[L1_FRAME_2MBPS_4MS_HOPS] =
//{
// 16U, 17U, 18U, 19U, 20U, 21U, 22U, 23U,
// 24U, 25U, 26U, 27U, 28U, 29U, 30U, 31U,
// 32U, 33U, 34U, 35U, 36U, 37U, 38U, 39U,
// 40U, 41U, 42U, 43U, 44U, 45U, 46U, 47U,
// 48U, 49U, 50U, 51U, 52U, 53U,
//};
//const uint8_t hopPattern_2MBPS_4MS[L1_FRAME_2MBPS_4MS_HOPS] =
//{
// 16U, 17U, 18U, 19U, 20U, 21U, 22U, 23U,
// 24U, 25U, 24U, 25U, 24U, 25U, 24U, 25U,
// 24U, 26U, 24U, 26U, 24U, 26U, 24U, 26U,
// 24U, 27U, 24U, 27U, 24U, 27U, 24U, 27U,
// 24U, 28U, 24U, 28U, 24U, 28U,
//};
const uint8_t hopPattern_2MBPS_4MS[L1_FRAME_2MBPS_4MS_HOPS] = const uint8_t hopPattern_2MBPS_4MS[L1_FRAME_2MBPS_4MS_HOPS] =
{ {
0U, 13U, 37U, 44U, 16U, 0U, 59U, 50U, 16U, 17U, 18U, 19U, 20U, 21U, 20U, 20U,
69U, 70U, 58U, 14U, 9U, 72U, 27U, 25U, 20U, 20U, 20U, 20U, 20U, 20U, 20U, 20U,
21U, 76U, 20U, 35U, 30U, 58U, 22U, 59U, 20U, 20U, 20U, 20U, 20U, 20U, 20U, 20U,
48U, 33U, 8U, 7U, 41U, 12U, 44U, 79U, 20U, 20U, 20U, 20U, 20U, 20U, 20U, 20U,
77U, 38U, 76U, 75U, 48U, 56U, 20U, 20U, 20U, 20U, 20U, 20U,
}; };
/** @} PhysicalLayer_AntennaConfig_Constants*/ /** @} PhysicalLayer_AntennaConfig_Constants*/