コード例 #1
0
ファイル: Central.cs プロジェクト: yanshouwang/BGLib.NET
 public async Task StartDiscoveryAsync(DiscoverMode mode = DiscoverMode.Generic, DiscoverSettings settings = null)
 {
     if (settings != null)
     {
         var activeValue = settings.Active ? (byte)1 : (byte)0;
         await _messageHub.GAP.SetScanParametersAsync(settings.Interval, settings.Window, activeValue);
     }
     var modeV4 = (SDK.V4.GAP.DiscoverMode)mode;
     await _messageHub.GAP.DiscoverAsync(modeV4);
 }
コード例 #2
0
        /// <summary>
        /// <para>
        /// This command starts the GAP discovery procedure to scan for advertising devices i.e. to perform a device
        /// discovery.
        /// </para>
        /// Scanning parameters can be configured with the <see cref="SetScanParametersAsync(ushort, ushort, bool)"/>
        /// <para>
        /// To cancel on an ongoing discovery process use the <see cref="EndProcedureAsync"/>
        /// </para>
        /// </summary>
        /// <param name="mode">GAP Discover modes</param>
        /// <returns></returns>
        public async Task DiscoverAsync(DiscoverMode mode)
        {
            var modeValue     = (byte)mode;
            var commandValue  = new[] { modeValue };
            var responseValue = await WriteAsync(0x02, commandValue);

            var errorCode = BitConverter.ToUInt16(responseValue, 0);

            if (errorCode != 0)
            {
                throw new ErrorException(errorCode);
            }
        }