/// <summary> /// Joins a network that has been started by a coordinator before. This will scan for nearby devices internally. /// </summary> /// <param name="netId">unique network ID</param> /// <param name="handler">handler for result</param> public void JoinRequest( UInt16 panId, JoinConfirmHandler handler) { if (_running || _scanning) { if (handler != null) handler.Invoke(_net, Status.Busy, 0, 0, 0); return; } _running = true; _panId = panId; _joinConfirmHandler = handler; StartScanning(ScanHandlerJoinRequest); }
/// <summary> /// Joins a network that has been started by a coordinator before. This will scan for nearby devices internally. /// </summary> /// <param name="netId">unique network ID</param> /// <param name="handler">handler for result</param> public void JoinRequest( UInt16 panId, JoinConfirmHandler handler) { if (_running || _scanning) { if (handler != null) { handler.Invoke(_net, Status.Busy, 0, 0, 0); } return; } _running = true; _panId = panId; _joinConfirmHandler = handler; StartScanning(ScanHandlerJoinRequest); }
private void StartHandlerJoinRequest( Routing sender, Status status, UInt16 shortAddr) { if (!_running) { return; } if (status == Status.Success) { SetBeaconPayload(); } if (_joinConfirmHandler != null) { _joinConfirmHandler.Invoke(_net, status, shortAddr, _logicalChannel, _channelPage); } if (status != Status.Success) { _running = false; } }