From 355bf4219bcd33f2178ed3b1aa54e0af71905fdf Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 19 三月 2021 09:44:27 +0800
Subject: [PATCH] Merge branch 'WJC' into temp-wxr
---
HDL-ON_iOS/BlueWifi.cs | 269 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 196 insertions(+), 73 deletions(-)
diff --git a/HDL-ON_iOS/BlueWifi.cs b/HDL-ON_iOS/BlueWifi.cs
index d0a6ef1..aad7a0c 100644
--- a/HDL-ON_iOS/BlueWifi.cs
+++ b/HDL-ON_iOS/BlueWifi.cs
@@ -1,83 +1,206 @@
锘縰sing System;
-using HdlBluWi;
+using CoreBluetooth;
using Foundation;
+using HdlBlufi;
+
namespace HDL_ON
{
- public class BlueWifi
+ public class MyBlufiClient
{
- public BlueWifi()
+
+ HdlBluWi share;
+
+ BlufiClient blufiClient;
+
+ public new BlueWifiDelegate BlufiDelegate;
+ public MyBlufiClient()
{
- //BlufiDelegate
+ SetBlufiDeviceDelegate(null);
+
+ share = HdlBluWi.Share();
+
+
+ blufiClient = new BlufiClient();
+
+ blufiClient.CentralManagerDelete = new BlueCBCentralManagerDelegate();
+ blufiClient.BlufiDelegate = new BlueWifiDelegate(blufiClient);
+ }
+
+ //public string GetPer()
+ //{
+ //share.
+ //}
+
+
+ /// <summary>
+ /// 鎼滅储鍒拌摑鐗欒澶囦箣鍚庡埌浠g悊浜嬩欢
+ /// </summary>
+ FBYBleDeviceBackBlock getBlufiDeviceDelegate;
+ /// <summary>
+ /// 璁惧鎼滅储鍒拌摑鐗欒澶囦箣鍚庡埌浠g悊浜嬩欢
+ /// </summary>
+ public void SetBlufiDeviceDelegate(Action<string, string> action)
+ {
+ getBlufiDeviceDelegate = new FBYBleDeviceBackBlock((arg0) =>
+ {
+ action?.Invoke(arg0.Name, arg0.Uuid.ToString());
+ if (!string.IsNullOrEmpty(arg0.Name) && arg0.Name.Contains("BLU"))
+ {
+ Console.WriteLine($"{arg0.Name} : {arg0.Uuid}");
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鎼滅储钃濈墮璁惧
+ /// </summary>
+ public void ScanBlufi()
+ {
+ share.StartScan(getBlufiDeviceDelegate);
+ }
+ /// <summary>
+ /// 鍋滄鎼滅储钃濈墮璁惧
+ /// </summary>
+ public void StopScanBlufi()
+ {
+ share.StopScan();
+ }
+ /// <summary>
+ /// 鍏抽棴 BlufiClient Close BlufiClient
+ /// 閲婃斁璧勬簮
+ /// </summary>
+ public void CloseBlufiClient()
+ {
+ blufiClient.Close();
+ }
+
+ /// <summary>
+ /// 閾炬帴钃濈墮
+ /// </summary>
+ public void ConnectionBlufi(string blufiId)
+ {
+ blufiClient.Connect(blufiId);
+ }
+
+
+
+ /// <summary>
+ /// 鏂紑钃濈墮閾炬帴
+ /// </summary>
+ public void CloseConnectionBlufi()
+ {
+ blufiClient.RequestCloseConnection();
+ }
+
+ /// <summary>
+ /// 鍙戦�佹暟鎹�
+ /// </summary>
+ public void SendMsg(string msg)
+ {
+ NSData vs = new NSData();
+ vs = msg;
+ blufiClient.PostCustomData(vs);
+ }
+
+
+
+ public class BlueWifiDelegate : BlufiDelegate
+ {
+ [Weak] BlufiClient _client;
+ public BlueWifiDelegate(BlufiClient client)
+ {
+ _client = client;
+ }
+ public BlueWifiDelegate()
+ {
+ }
+
+ protected BlueWifiDelegate(NSObjectFlag t) : base(t)
+ {
+ }
+
+ protected internal BlueWifiDelegate(IntPtr handle) : base(handle)
+ {
+ }
+
+ public override void Blufi_didNegotiateSecurity(HdlBlufi.BlufiClient client, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didNegotiateSecurity");
+ //base.Blufi_didNegotiateSecurity(client, status);
+ }
+
+ public override void Blufi_didPostCustomData(HdlBlufi.BlufiClient client, NSData data, BlufiStatusCode status)
+ {
+ if (status == BlufiStatusCode.Success)
+ {
+ MainPage.Log($"鍙戦�佽摑鐗欐暟鎹垚鍔�:{data.ToString()}");
+ }
+ else
+ {
+ MainPage.Log("鍙戦�佽摑鐗欐暟鎹け璐�");
+ }
+ }
+
+ public override void Blufi_didReceiveDeviceScanResponse(HdlBlufi.BlufiClient client, BlufiScanResponse[] scanResults, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didReceiveDeviceScanResponse");
+ //base.Blufi_didReceiveDeviceScanResponse(client, scanResults, status);
+ }
+
+ public override void Blufi_didReceiveDeviceVersionResponse(HdlBlufi.BlufiClient client, BlufiVersionResponse response, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didReceiveDeviceVersionResponse");
+ //base.Blufi_didReceiveDeviceVersionResponse(client, response, status);
+ }
+
+ public override void Blufi_didPostConfigureParams(HdlBlufi.BlufiClient client, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didPostConfigureParams");
+ //base.Blufi_didPostConfigureParams(client, status);
+ }
+
+ public override void Blufi_didReceiveCustomData(HdlBlufi.BlufiClient client, NSData data, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didReceiveCustomData");
+ //base.Blufi_didReceiveCustomData(client, data, status);
+ }
+
+ public override void Blufi_didReceiveDeviceStatusResponse(HdlBlufi.BlufiClient client, BlufiStatusResponse response, BlufiStatusCode status)
+ {
+ Console.WriteLine("Blufi_didReceiveDeviceStatusResponse");
+ //base.Blufi_didReceiveDeviceStatusResponse(client, response, status);
+ }
+
+ public override void Blufi_didReceiveError(HdlBlufi.BlufiClient client, nint errCode)
+ {
+ Console.WriteLine("Blufi_didReceiveError");
+ //base.Blufi_didReceiveError(client, errCode);
+ }
+
+ public override void Blufi_gattPrepared(HdlBlufi.BlufiClient client, BlufiStatusCode status, CBService service, CBCharacteristic writeChar, CBCharacteristic notifyChar)
+ {
+ if (status == BlufiStatusCode.Success)
+ {
+ MainPage.Log("钃濈墮杩炴帴鎴愬姛");
+ }
+ else
+ {
+ MainPage.Log("钃濈墮杩炴帴澶辫触");
+ }
+ //base.Blufi_gattPrepared(client, status, service, writeChar, notifyChar);
+ }
+ }
+
+ public class BlueCBCentralManagerDelegate : CBCentralManagerDelegate
+ {
+ public override void UpdatedState(CBCentralManager central)
+ {
+
+ //throw new NotImplementedException();
+ }
+ //public override void
}
}
- public class BlueWifiDelegate : BlufiDelegate
- {
- public BlueWifiDelegate(BlufiClient client)
- {
- _client = client;
- }
-
-
- [Weak] BlufiClient _client;
- public override void Blufi(BlufiClient client, BlufiStatusCode status)
- {
-
- }
-
- public override void Blufi_DidPostConfigureParams(BlufiClient client, BlufiStatusCode status)
- {
-
- }
-
- public override void Blufi_DidPostCustomData(BlufiClient client, NSData data, BlufiStatusCode status)
- {
-
- }
-
-
- public override void Blufi_DidReceiveCustomData(BlufiClient client, NSData data, BlufiStatusCode status)
- {
-
- }
-
-
- //public override void Blufi_DidReceiveDeviceScanResponse(BlufiClient client, NSObject[]? scanResults, BlufiStatusCode status)
- //{
-
- //}
-
-
- public override void Blufi_DidReceiveDeviceStatusResponse(BlufiClient client, NSObject response, BlufiStatusCode status)
- {
-
- }
-
-
- public override void Blufi_DidReceiveDeviceVersionResponse(BlufiClient client, NSObject response, BlufiStatusCode status)
- {
-
- }
-
-
- public override void Blufi_DidReceiveError(BlufiClient client, nint errCode)
- {
-
- }
-
-
- //public override bool Blufi_GattNotification(BlufiClient client, NSData data, NSObject pkgType, NSObject subType)
- //{
-
- //}
-
-
- //public override void Blufi_GattPrepared(BlufiClient client, BlufiStatusCode status, CBService? service, CBCharacteristic? writeChar, CBCharacteristic? notifyChar)
- //{
-
- //}
-
-
- }
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0