📄 tkn154beaconenabledp.nc
字号:
BeaconTransmitP.IsTrackingBeacons -> BeaconSynchronizeP.IsTrackingBeacons;
BeaconTransmitP.IncomingSF -> BeaconSynchronizeP.IncomingSF;
BeaconTransmitP.GetSetRealignmentFrame -> CoordRealignmentP;
BeaconTransmitP.IsBroadcastReady -> CoordBroadcastP.IsBroadcastReady;
BeaconTransmitP.TimeCalc -> PibP;
BeaconTransmitP.Leds = Leds;
/* ------------------ Beacon Tracking (MLME-SYNC) ------------------ */
components new RadioClientC(RADIO_CLIENT_BEACONSYNCHRONIZE) as SyncRadioClient;
PibP.MacReset -> BeaconSynchronizeP;
BeaconSynchronizeP.MLME_SET -> PibP.MLME_SET;
BeaconSynchronizeP.MLME_GET -> PibP;
BeaconSynchronizeP.TrackAlarm = Alarm2;
BeaconSynchronizeP.FrameUtility -> PibP;
BeaconSynchronizeP.Frame -> PibP;
BeaconSynchronizeP.BeaconFrame -> PibP;
BeaconSynchronizeP.BeaconRx -> SyncRadioClient;
BeaconSynchronizeP.RadioOff -> SyncRadioClient;
BeaconSynchronizeP.DataRequest -> PollP.DataRequest[SYNC_POLL_CLIENT];
BeaconSynchronizeP.RadioToken -> SyncRadioClient;
BeaconSynchronizeP.TimeCalc -> PibP;
BeaconSynchronizeP.CoordRealignmentRx -> DeviceCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_COORDINATOR_REALIGNMENT];
BeaconSynchronizeP.Leds = Leds;
/* -------------------- Association (MLME-ASSOCIATE) -------------------- */
PibP.MacReset -> AssociateP;
AssociateP.AssociationRequestRx -> CoordCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_ASSOCIATION_REQUEST];
AssociateP.AssociationRequestTx -> DeviceCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
AssociateP.AssociationResponseExtracted -> DeviceCap.FrameExtracted[FC1_FRAMETYPE_CMD + CMD_FRAME_ASSOCIATION_RESPONSE];
AssociateP.AssociationResponseTx -> IndirectTxP.FrameTx[unique(INDIRECT_TX_CLIENT)];
AssociateP.DataRequest -> PollP.DataRequest[ASSOCIATE_POLL_CLIENT];
AssociateP.ResponseTimeout = Timer3;
AssociateP.TxFramePool -> TxFramePoolP;
AssociateP.TxControlPool -> TxControlPoolP;
AssociateP.MLME_GET -> PibP;
AssociateP.MLME_SET -> PibP.MLME_SET;
AssociateP.FrameUtility -> PibP;
AssociateP.Frame -> PibP;
AssociateP.LocalExtendedAddress -> PibP.GetLocalExtendedAddress;
/* --------------- Disassociation (MLME-DISASSOCIATE) --------------- */
PibP.MacReset -> DisassociateP;
DisassociateP.DisassociationIndirectTx -> IndirectTxP.FrameTx[unique(INDIRECT_TX_CLIENT)];
DisassociateP.DisassociationDirectTx -> CoordCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
DisassociateP.DisassociationToCoord -> DeviceCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
DisassociateP.DisassociationDirectRxFromCoord ->
DeviceCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_DISASSOCIATION_NOTIFICATION];
DisassociateP.DisassociationExtractedFromCoord ->
DeviceCap.FrameExtracted[FC1_FRAMETYPE_CMD + CMD_FRAME_DISASSOCIATION_NOTIFICATION];
DisassociateP.DisassociationRxFromDevice ->
CoordCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_DISASSOCIATION_NOTIFICATION];
DisassociateP.TxFramePool -> TxFramePoolP;
DisassociateP.TxControlPool -> TxControlPoolP;
DisassociateP.MLME_GET -> PibP;
DisassociateP.MLME_SET -> PibP;
DisassociateP.FrameUtility -> PibP;
DisassociateP.Frame -> PibP;
DisassociateP.LocalExtendedAddress -> PibP.GetLocalExtendedAddress;
/* ------------------ Data Transmission (MCPS-DATA) ------------------- */
DataP.CoordCapRx -> CoordCap.FrameRx[FC1_FRAMETYPE_DATA];
DataP.DeviceCapTx -> DeviceCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
DataP.CoordCapTx -> CoordCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
DataP.DeviceCapRx -> PollP.DataRx;
DataP.DeviceCapRx -> PromiscuousModeP.FrameRx;
DataP.DeviceCapRx -> DeviceCap.FrameRx[FC1_FRAMETYPE_DATA];
DataP.TxFramePool -> TxFramePoolP;
DataP.BroadcastTx -> CoordBroadcastP.BroadcastDataFrame;
DataP.DeviceCfpTx -> DeviceCfp.CfpTx;
DataP.IndirectTx -> IndirectTxP.FrameTx[unique(INDIRECT_TX_CLIENT)];
DataP.FrameUtility -> PibP;
DataP.Frame -> PibP;
DataP.PurgeDirect -> DeviceCapQueue;
DataP.PurgeIndirect -> IndirectTxP;
DataP.PurgeGtsDevice -> DeviceCfp;
DataP.PurgeGtsCoord -> CoordCfp;
DataP.MLME_GET -> PibP;
DataP.Packet -> PibP;
DataP.Leds = Leds;
/* ------------------------ Polling (MLME-POLL) ----------------------- */
PibP.MacReset -> PollP;
PollP.PollTx -> DeviceCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
PollP.DataExtracted -> DeviceCap.FrameExtracted[FC1_FRAMETYPE_DATA];
PollP.FrameUtility -> PibP;
PollP.TxFramePool -> TxFramePoolP;
PollP.TxControlPool -> TxControlPoolP;
PollP.MLME_GET -> PibP;
PollP.LocalExtendedAddress -> PibP.GetLocalExtendedAddress;
/* ---------------------- Indirect transmission ----------------------- */
PibP.MacReset -> IndirectTxP;
IndirectTxP.CoordCapTx -> CoordCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
IndirectTxP.DataRequestRx -> CoordCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_DATA_REQUEST];
IndirectTxP.MLME_GET -> PibP;
IndirectTxP.IEEE154Frame -> PibP;
IndirectTxP.IndirectTxTimeout = Timer4;
IndirectTxP.TimeCalc -> PibP;
IndirectTxP.Leds = Leds;
/* ---------------------------- Realignment --------------------------- */
PibP.MacReset -> CoordRealignmentP;
CoordRealignmentP.CoordRealignmentTx -> CoordCapQueue.FrameTx[unique(CAP_TX_CLIENT)];
CoordRealignmentP.OrphanNotificationRx -> CoordCap.FrameRx[FC1_FRAMETYPE_CMD + CMD_FRAME_ORPHAN_NOTIFICATION];
CoordRealignmentP.FrameUtility -> PibP;
CoordRealignmentP.Frame -> PibP;
CoordRealignmentP.TxFramePool -> TxFramePoolP;
CoordRealignmentP.TxControlPool -> TxControlPoolP;
CoordRealignmentP.MLME_GET -> PibP;
CoordRealignmentP.LocalExtendedAddress -> PibP.GetLocalExtendedAddress;
/* ---------------------------- Broadcasts ---------------------------- */
components new RadioClientC(RADIO_CLIENT_COORDBROADCAST) as CoordBroadcastRadioClient;
PibP.MacReset -> CoordBroadcastP;
CoordBroadcastP.RadioToken -> CoordBroadcastRadioClient;
CoordBroadcastP.OutgoingSF -> BeaconTransmitP.OutgoingSF;
CoordBroadcastP.CapTransmitNow -> CoordCap.BroadcastTx;
CoordBroadcastP.Queue -> BroadcastQueueC;
/* --------------------- CAP (incoming superframe) -------------------- */
PibP.DispatchQueueReset -> DeviceCapQueue;
DeviceCapQueue.Queue -> DeviceCapQueueC;
DeviceCapQueue.FrameTxCsma -> DeviceCap;
PibP.DispatchQueueReset -> CoordCapQueue;
CoordCapQueue.Queue -> CoordCapQueueC;
CoordCapQueue.FrameTxCsma -> CoordCap;
components new RadioClientC(RADIO_CLIENT_DEVICECAP) as DeviceCapRadioClient;
PibP.DispatchReset -> DeviceCap;
DeviceCap.CapEndAlarm = Alarm3;
DeviceCap.BLEAlarm = Alarm4;
DeviceCap.RxWaitAlarm = Alarm5;
DeviceCap.RadioToken -> DeviceCapRadioClient;
DeviceCap.RadioTokenRequested -> DeviceCapRadioClient;
DeviceCap.SuperframeStructure -> BeaconSynchronizeP.IncomingSF;
DeviceCap.IsRxEnableActive -> RxEnableP.IsRxEnableActive;
DeviceCap.IsRadioTokenRequested -> PibP.IsRadioTokenRequested; // fan out...
DeviceCap.IsRadioTokenRequested -> PromiscuousModeP.IsRadioTokenRequested;
DeviceCap.IsRadioTokenRequested -> ScanP.IsRadioTokenRequested;
DeviceCap.GetIndirectTxFrame -> IndirectTxP;
DeviceCap.RxEnableStateChange -> RxEnableP.RxEnableStateChange;
DeviceCap.IsTrackingBeacons -> BeaconSynchronizeP.IsTrackingBeacons;
DeviceCap.PIBUpdateMacRxOnWhenIdle -> PibP.PIBUpdate[IEEE154_macRxOnWhenIdle];
DeviceCap.FrameUtility -> PibP;
DeviceCap.SlottedCsmaCa -> DeviceCapRadioClient;
DeviceCap.RadioRx -> DeviceCapRadioClient;
DeviceCap.RadioOff -> DeviceCapRadioClient;
DeviceCap.MLME_GET -> PibP;
DeviceCap.MLME_SET -> PibP.MLME_SET;
DeviceCap.TimeCalc -> PibP;
DeviceCap.Leds = Leds;
DeviceCap.TrackSingleBeacon -> BeaconSynchronizeP.TrackSingleBeacon;
/* ---------------------- CAP (outgoing superframe) ------------------- */
components new RadioClientC(RADIO_CLIENT_COORDCAP) as CoordCapRadioClient,
new BackupP(ieee154_cap_frame_backup_t);
PibP.DispatchReset -> CoordCap;
CoordCap.CapEndAlarm = Alarm6;
CoordCap.BLEAlarm = Alarm7;
CoordCap.RadioToken -> CoordCapRadioClient;
CoordCap.RadioTokenRequested -> CoordCapRadioClient;
CoordCap.SuperframeStructure -> BeaconTransmitP.OutgoingSF;
CoordCap.IsRxEnableActive -> RxEnableP.IsRxEnableActive;
CoordCap.IsRadioTokenRequested -> PibP.IsRadioTokenRequested; // fan out...
CoordCap.IsRadioTokenRequested -> PromiscuousModeP.IsRadioTokenRequested;
CoordCap.IsRadioTokenRequested -> ScanP.IsRadioTokenRequested;
CoordCap.GetIndirectTxFrame -> IndirectTxP;
CoordCap.RxEnableStateChange -> RxEnableP.RxEnableStateChange;
CoordCap.IsTrackingBeacons -> BeaconSynchronizeP.IsTrackingBeacons;
CoordCap.PIBUpdateMacRxOnWhenIdle -> PibP.PIBUpdate[IEEE154_macRxOnWhenIdle];
CoordCap.FrameUtility -> PibP;
CoordCap.SlottedCsmaCa -> CoordCapRadioClient;
CoordCap.RadioRx -> CoordCapRadioClient;
CoordCap.RadioOff -> CoordCapRadioClient;
CoordCap.MLME_GET -> PibP;
CoordCap.MLME_SET -> PibP.MLME_SET;
CoordCap.TimeCalc -> PibP;
CoordCap.Leds = Leds;
CoordCap.FrameBackup -> BackupP;
CoordCap.FrameRestore -> BackupP;
/* -------------------- GTS (incoming superframe) --------------------- */
components new RadioClientC(RADIO_CLIENT_DEVICECFP) as DeviceCfpRadioClient;
PibP.MacReset -> DeviceCfp;
DeviceCfp.RadioToken -> DeviceCfpRadioClient;
DeviceCfp.IncomingSF -> BeaconSynchronizeP.IncomingSF;
DeviceCfp.CfpSlotAlarm = Alarm8;
DeviceCfp.CfpEndAlarm = Alarm9;
DeviceCfp.RadioTx -> DeviceCfpRadioClient;
DeviceCfp.RadioRx -> DeviceCfpRadioClient;
DeviceCfp.RadioOff -> DeviceCfpRadioClient;
DeviceCfp.MLME_GET -> PibP;
DeviceCfp.MLME_SET -> PibP.MLME_SET;
/* -------------------- GTS (outgoing superframe) --------------------- */
components new RadioClientC(RADIO_CLIENT_COORDCFP) as CoordCfpRadioClient;
PibP.MacReset -> CoordCfp;
CoordCfp.RadioToken -> CoordCfpRadioClient;
CoordCfp.OutgoingSF -> BeaconTransmitP.OutgoingSF;
CoordCfp.CfpSlotAlarm = Alarm10;
CoordCfp.CfpEndAlarm = Alarm11;
CoordCfp.RadioTx -> CoordCfpRadioClient;
CoordCfp.RadioRx -> CoordCfpRadioClient;
CoordCfp.RadioOff -> CoordCfpRadioClient;
CoordCfp.MLME_GET -> PibP;
CoordCfp.MLME_SET -> PibP.MLME_SET;
/* -------------------------- promiscuous mode ------------------------ */
components new RadioClientC(RADIO_CLIENT_PROMISCUOUSMODE) as PromiscuousModeRadioClient;
PibP.MacReset -> PromiscuousModeP;
PromiscuousModeP.RadioToken -> PromiscuousModeRadioClient;
PromiscuousModeP.PromiscuousRx -> PromiscuousModeRadioClient;
PromiscuousModeP.RadioOff -> PromiscuousModeRadioClient;
PromiscuousModeP.RadioPromiscuousMode = RadioPromiscuousMode;
/* --------------------------- MLME-RX-ENABLE ------------------------ */
PibP.MacReset -> RxEnableP;
RxEnableP.IncomingSuperframeStructure -> BeaconSynchronizeP;
RxEnableP.OutgoingSuperframeStructure -> BeaconTransmitP;
RxEnableP.IsTrackingBeacons -> BeaconSynchronizeP.IsTrackingBeacons;
RxEnableP.IsSendingBeacons-> BeaconTransmitP.IsSendingBeacons;
RxEnableP.TimeCalc -> PibP.TimeCalc;
RxEnableP.WasRxEnabled -> DeviceCap.WasRxEnabled;
RxEnableP.WasRxEnabled -> CoordCap.WasRxEnabled;
RxEnableP.RxEnableTimer = Timer5;
/* ------------------------------- PIB -------------------------------- */
components new RadioClientC(RADIO_CLIENT_PIB) as PibRadioClient;
PIBUpdate = PibP;
MainC.SoftwareInit -> PibP.LocalInit;
PibP.RadioControl = PhySplitControl;
PibP.Random = Random;
PibP.PromiscuousModeGet -> PromiscuousModeP;
PibP.LocalTime = LocalTime;
PibP.RadioToken -> PibRadioClient;
PibP.RadioOff -> PibRadioClient;
/* ------------------------- Radio Control ---------------------------- */
RadioControlP.PhyTx = RadioTx;
RadioControlP.PhySlottedCsmaCa = SlottedCsmaCa;
RadioControlP.PhyRx = RadioRx;
RadioControlP.PhyRadioOff = RadioOff;
RadioControlP.RadioPromiscuousMode -> PromiscuousModeP;
RadioControlP.Leds = Leds;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -