Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 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;
     }
 }