📄 data.h
字号:
/*******************************************************************************
UBEC (Uniband Electronic Corp.)
Project: U-NET01, Ubiquitous network platform
File: data.h
Version: 0.1.1
Usage: Define unet information base (UIB)
Platform: U-NET01 DK with IAR 8051 C compiler
Reference:
Silicon Laboratories: C8051F124
UBEC: UZ2400
Note :
Copyright (C) 2007 Uniband Electronic Corporation, All rights reserved
********************************************************************************/
// Interrupt Structure
struct _interrupt_flag_{
UINT8 TxN : 1;
UINT8 TxG1 : 1;
UINT8 TxG2 : 1;
UINT8 Rx : 1;
UINT8 Sec : 1;
UINT8 Timer : 1;
UINT8 Wakeup : 1;
UINT8 Sleep : 1;
}__attribute__ ((packed));
typedef struct _interrupt_flag_ INTERRUPT_STS;
struct _unet_system_flag_{
UINT16 JoinNetwork:1;
UINT16 RecvAssoRsp:1;
UINT16 AssoSuccess:1;
UINT16 PanCoordinator:1;
UINT16 Router:1;
UINT16 Endev:1;
UINT16 FindNetwork:1;
UINT16 ChildFull:1;
UINT16 GP0:1; // For general purpose
UINT16 Rvd0:7;
}__attribute__ ((packed));
typedef struct _unet_system_flag_ UNET_SF;
struct _beacon_list_{
struct _beacon_list_ *Next;
UINT16 PID; // Coordinator pan id
UINT16 Addr; // Coordinator address
UINT16 Channel;
UINT16 SfSpec; // Super frame spec
UINT8 LinkQuality;
UINT8 DevDep; // Device depth
}__attribute__ ((packed));
typedef struct _beacon_list_ BEACON_LIST;
struct _child_list_{
struct _child_list_ *Next;
UINT8 MacAddr[8]; // MAC address
UINT16 NetworkAddress;
//union _capability_information_field_ Cap; // Capability information
UINT8 Cap;
BOOL Available;
}__attribute__ ((packed));
typedef struct _child_list_ CHILD_LIST;
struct _broadcast_list_{
struct _broadcast_list_ *Next;
UINT16 Address;
UINT8 Sequence;
}__attribute__ ((packed));
typedef struct _broadcast_list_ BROAD_LIST;
struct _data_list_{
struct _data_list_ *Next;
UINT8 Length;
UINT8 *Msg;
UINT16 SrcAddr;
}__attribute__ ((packed));
typedef struct _data_list_ DATA_LIST;
typedef struct _unet_system_parameters_{
// Unet
UINT16 JoinPID; //Join pan id
UINT8 Channel; // Join channel
UINT16 JoinParent; // Join parent address
UINT16 OrigParent; // Original parent
UINT16 NwkAddr; // Network address (short address)
UINT8 DevDep; // Device network depth
UINT8 MacBSN; // Mac beacon sequence number
UINT8 MacDSN; // Mac packet (Data or Command) sequence number
UINT8 JoinRouterCnt; // Join router count
UINT8 JoinEndevCnt; // Join end device count
UINT16 NextAddr; // Next available short address
UINT16 AddrInc; // Address increment
// System
INTERRUPT_STS IntFlag; // Interrupt Flag
UNET_SF Flag; // Unet flag
MAC_BP BcnPayload; // Mac beacon payload
struct _beacon_list_ *BcnHead; // Received beacon linking list
struct _beacon_list_ *BcnTail; // The tail of beacon list
struct _child_list_ *ChildHead; // Join child list
struct _child_list_ *ChildTail; // The tail of child list
UINT8 DataCnt; //Incoming data count
struct _data_list_ *DataHead; // Incoming data list
struct _data_list_ *DataTail; // The tail of received data list
struct _broadcast_list_ *BroHead; // The record list of received broadcast
struct _broadcast_list_ *BroTail; // The tail of broadcast list
UINT8 Coordinator; //本节点是否是协调器
}UNET_SYS;
struct _addr_list_
{
UINT8 ucAddrCont; // MAC address
UINT16 MACAddress[UNET_MAX_CHILD+UNET_MAX_ROUTER];
UINT16 LifeTime[UNET_MAX_CHILD+UNET_MAX_ROUTER];
UINT8 Name[UNET_MAX_CHILD+UNET_MAX_ROUTER][8];
}__attribute__ ((packed));
typedef struct _addr_list_ ADDR_LIST;
union _mac_command_
{
UINT16 val;
struct
{
UINT16 RecvAddrListRsp:1;
}cfm;
}__attribute__ ((packed));
typedef union _mac_command_ MAC_COMMAND;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -