Browse Source

missing files

Marcel 3 years ago
parent
commit
aeb10d39c5

+ 106 - 0
Assets/Scripts/ANT+/HrReceiver.cs

@@ -0,0 +1,106 @@
+using UnityEngine;
+using System.Collections.Generic;
+using ANT_Managed_Library;
+using System;
+
+public class HrReceiver
+{
+    private int deviceID = 0; //set this to connect to a specific device ID
+    private bool connected = false; //will be set to true once connected
+    private List<AntDevice> scanResult;
+
+    private float heartRate; // the computed HR count  in BPM
+
+    private AntChannel backgroundScanChannel;
+    private AntChannel deviceChannel;
+
+    public int DeviceID => deviceID;
+
+    public bool Connected => connected;
+
+    public List<AntDevice> ScanResult => scanResult;
+
+    public float HeartRate => heartRate;
+
+
+    public HrReceiver()
+    {
+    }
+
+    public HrReceiver(int deviceID) => this.deviceID = deviceID;
+
+    //Start a background Scan to find the device
+    public void StartScan()
+    {
+        Debug.Log("Looking for ANT + HeartRate sensor");
+        AntManager.Instance.Init();
+        scanResult = new List<AntDevice>();
+        backgroundScanChannel = AntManager.Instance.OpenBackgroundScanChannel(0);
+        backgroundScanChannel.onReceiveData += ReceivedBackgroundScanData;
+    }
+
+    void ReceivedBackgroundScanData(Byte[] data)
+    {
+        byte deviceType = (data[12]); // extended info Device Type byte
+
+        switch (deviceType)
+        {
+            case AntplusDeviceType.HeartRate:
+            {
+                int deviceNumber = (data[10]) | data[11] << 8;
+                byte transType = data[13];
+                foreach (AntDevice d in scanResult)
+                {
+                    if (d.deviceNumber == deviceNumber && d.transType == transType) //device already found
+                        return;
+                }
+
+                AntDevice foundDevice = new AntDevice();
+                foundDevice.deviceType = deviceType;
+                foundDevice.deviceNumber = deviceNumber;
+                foundDevice.transType = transType;
+                foundDevice.period = 8070;
+                foundDevice.radiofreq = 57;
+                foundDevice.name = "heartrate(" + foundDevice.deviceNumber + ")";
+                scanResult.Add(foundDevice);
+                if (deviceNumber == deviceID)
+                {
+                    Debug.Log($"Desired HR Sensor with id {deviceNumber} found!");
+                    ConnectToDevice(foundDevice);
+                }
+                else
+                {
+                    Debug.Log($"HR sensor ({deviceNumber}) found and added to ScanResult");
+                }
+
+                break;
+            }
+        }
+    }
+
+    void ConnectToDevice(AntDevice device)
+    {
+        AntManager.Instance.CloseBackgroundScanChannel();
+        byte channelID = AntManager.Instance.GetFreeChannelID();
+        deviceChannel = AntManager.Instance.OpenChannel(ANT_ReferenceLibrary.ChannelType.BASE_Slave_Receive_0x00,
+            channelID, (ushort) device.deviceNumber, device.deviceType, device.transType, (byte) device.radiofreq,
+            (ushort) device.period, false);
+        connected = true;
+        deviceChannel.onReceiveData += Data;
+        deviceChannel.onChannelResponse += ChannelResponse;
+
+        deviceChannel.hideRXFAIL = true;
+    }
+
+
+    //Deal with the received Data
+    public void Data(Byte[] data)
+    {
+        heartRate = (data[7]);
+    }
+
+
+    void ChannelResponse(ANT_Response response)
+    {
+    }
+}

+ 8 - 0
Assets/Scripts/Polar.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5befe3c880324ae2828661e14ab06ac2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 38 - 0
ProjectSettings/PackageManagerSettings.asset

@@ -0,0 +1,38 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+  m_ObjectHideFlags: 61
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 13960, guid: 0000000000000000e000000000000000, type: 0}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ScopedRegistriesSettingsExpanded: 1
+  oneTimeWarningShown: 0
+  m_Registries:
+  - m_Id: main
+    m_Name: 
+    m_Url: https://packages.unity.com
+    m_Scopes: []
+    m_IsDefault: 1
+  m_UserSelectedRegistryName: 
+  m_UserAddingNewScopedRegistry: 0
+  m_RegistryInfoDraft:
+    m_ErrorMessage: 
+    m_Original:
+      m_Id: 
+      m_Name: 
+      m_Url: 
+      m_Scopes: []
+      m_IsDefault: 0
+    m_Modified: 0
+    m_Name: 
+    m_Url: 
+    m_Scopes:
+    - 
+    m_SelectedScopeIndex: 0