diff --git a/ShimmerBLE/BLE.Client/BLE.Client/ViewModels/DeviceListViewModel.cs b/ShimmerBLE/BLE.Client/BLE.Client/ViewModels/DeviceListViewModel.cs
index e96f6510..cf3e289e 100644
--- a/ShimmerBLE/BLE.Client/BLE.Client/ViewModels/DeviceListViewModel.cs
+++ b/ShimmerBLE/BLE.Client/BLE.Client/ViewModels/DeviceListViewModel.cs
@@ -3353,7 +3353,7 @@ public void OnNext(string value)
Trace.WriteLine("Works" + value);
if (value.Contains("Transfer rate")) {
serv.ExecuteMemoryLookupTableCommand();
- DeviceMessage = value;
+ DeviceMessage = value.Replace(PreviousGuid.ToString(), ""); ;
}
}
VerisenseBLEScannedDevice DeviceToBePaired;
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.Android/MultiVerisenseExample.Android.csproj b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.Android/MultiVerisenseExample.Android.csproj
index 69275561..83745cda 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.Android/MultiVerisenseExample.Android.csproj
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.Android/MultiVerisenseExample.Android.csproj
@@ -46,6 +46,7 @@
+
Libs\Plugin.BLE.dll
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/MultiVerisenseExample.UWP.csproj b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/MultiVerisenseExample.UWP.csproj
index 13d7ed9c..e8fec3e9 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/MultiVerisenseExample.UWP.csproj
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/MultiVerisenseExample.UWP.csproj
@@ -17,7 +17,16 @@
true
512
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- false
+ True
+ 613677BE1C79F9B84AD8752AABBBEE7CB94C7446
+
+ False
+ SHA256
+ True
+ True
+ Always
+ x86|x64|arm
+ 0
true
@@ -167,7 +176,9 @@
MultiVerisenseExample
-
+
+
+
False
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/Package.appxmanifest b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/Package.appxmanifest
index 95bb24a3..136a6202 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/Package.appxmanifest
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.UWP/Package.appxmanifest
@@ -8,13 +8,13 @@
+ Publisher="CN=ShimmerEngTesting"
+ Version="1.0.2.0" />
- MultiShimmerExample.UWP
+ MultiVerisenseExample.UWP
8e67e7d8-6895-43a9-a2b2-d8a078442a02
Assets\StoreLogo.png
@@ -30,12 +30,12 @@
+ EntryPoint="MultiVerisenseExample.UWP.App">
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.iOS/MultiVerisenseExample.iOS.csproj b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.iOS/MultiVerisenseExample.iOS.csproj
index 6eb8bdc8..d94501dc 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.iOS/MultiVerisenseExample.iOS.csproj
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample.iOS/MultiVerisenseExample.iOS.csproj
@@ -14,7 +14,7 @@
MultiShimmerExample.iOS
true
NSUrlSessionHandler
- manual
+ automatic
true
@@ -49,13 +49,12 @@
prompt
4
ARM64
- iPhone Developer
+
true
Entitlements.plist
None
-all
-
-
+ VS: WildCard Development
none
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml
index 92d5c122..c48217b6 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml
@@ -31,14 +31,14 @@
-
+
-
+
@@ -51,7 +51,9 @@
-
+
+
+
diff --git a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml.cs b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml.cs
index 3a5396ae..040e3157 100644
--- a/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml.cs
+++ b/ShimmerBLE/MultiVerisenseExample/MultiVerisenseExample/MainPage.xaml.cs
@@ -18,7 +18,7 @@
namespace MultiShimmerExample
{
- public partial class MainPage : ContentPage
+ public partial class MainPage : ContentPage, IObserver
{
public class DeviceInfo : INotifyPropertyChanged
{
@@ -50,11 +50,13 @@ private void NotifyPropertyChanged(string name)
private string _isPaired { get; set; }
public string IsPaired { get { return _isPaired; } set { _isPaired = value; NotifyPropertyChanged("IsPaired"); } }
public List Signals { get; set; }
+ public SpeedTestService speedTestService { get; set; }
public DeviceInfo(string uuid)
{
Uuid = uuid;
Signals = new List();
+ speedTestService = new SpeedTestService(uuid);
}
}
@@ -391,5 +393,87 @@ private void syncDevicesButton_Clicked(object sender, EventArgs e)
{
StartDataSync();
}
+
+ private void startSpeedTestButton_Clicked(object sender, EventArgs e)
+ {
+ StartSpeedTest();
+ }
+ private void stopSpeedTestButton_Clicked(object sender, EventArgs e)
+ {
+ StopSpeedTest();
+ }
+ public async void StartSpeedTest()
+ {
+ foreach (VerisenseBLEDevice device in ConnectedDevices.Values)
+ {
+ if (GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).IsSelected)
+ {
+
+ GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.Subscribe(this);
+ await GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.GetKnownDevice();
+ if (GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.ConnectedASM != null)
+ {
+ System.Console.WriteLine("Memory Lookup Execution");
+ await GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.ExecuteMemoryLookupTableCommand();
+ }
+ else
+ {
+ System.Console.WriteLine("Connect Fail");
+ }
+ }
+ }
+ }
+ public async void StopSpeedTest()
+ {
+ foreach (VerisenseBLEDevice device in ConnectedDevices.Values)
+ {
+ if (GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).IsSelected)
+ {
+
+ if (GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService != null)
+ {
+ DeviceInfo deviceInfo = GetDeviceInfoFromUUID(device.Asm_uuid.ToString());
+ if (deviceInfo != null)
+ {
+ deviceInfo.TransferSpeed = "";
+ }
+ GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.Disconnect();
+
+ }
+ }
+ }
+ }
+
+ public void OnCompleted()
+ {
+ throw new NotImplementedException();
+ }
+
+ public void OnError(Exception error)
+ {
+ throw new NotImplementedException();
+ }
+
+ public void OnNext(string value)
+ {
+
+ Trace.WriteLine("Works" + value);
+ if (value.Contains("Transfer rate"))
+ {
+ foreach (VerisenseBLEDevice device in ConnectedDevices.Values)
+ {
+ if (value.Contains(device.Asm_uuid.ToString()))
+ {
+ DeviceInfo deviceInfo = GetDeviceInfoFromUUID(device.Asm_uuid.ToString());
+ if (deviceInfo != null)
+ {
+ deviceInfo.TransferSpeed = value.Replace(device.Asm_uuid.ToString(), "");
+ }
+ GetDeviceInfoFromUUID(device.Asm_uuid.ToString()).speedTestService.ExecuteMemoryLookupTableCommand();
+ }
+ }
+
+ }
+ }
}
}
\ No newline at end of file
diff --git a/ShimmerBLE/ShimmerBLEAPI/Services/SpeedTestService.cs b/ShimmerBLE/ShimmerBLEAPI/Services/SpeedTestService.cs
index 9b6b7d9a..7dcca67d 100644
--- a/ShimmerBLE/ShimmerBLEAPI/Services/SpeedTestService.cs
+++ b/ShimmerBLE/ShimmerBLEAPI/Services/SpeedTestService.cs
@@ -288,7 +288,7 @@ void HandleMemoryLookupDataPayload(byte[] payload)
Trace.Message("Transfer rate in KB/s: " + DataBuffer.Transfer);
Console.WriteLine("Transfer rate = {0} KB/s", DataBuffer.Transfer);
foreach (var observer in observers)
- observer.OnNext("Transfer rate in KB/s: " + DataBuffer.Transfer);
+ observer.OnNext("Transfer rate in KB/s: " + DataBuffer.Transfer + " " + Asm_uuid);
HandleMemoryContent(DataBuffer.Packets);
SpeedinKBS = DataBuffer.Transfer;