コード例 #1
0
 void BtHrmNotification(BtHrmPlugin.BtHrmNotificationEventArgs args)
 {
     StringBuilder sb = new StringBuilder();
     sb.AppendFormat("Bluetooth Notification\n");
     sb.AppendFormat("HRM data=: {0}\n", args.HeartRate);
     displayMessage(sb.ToString());
     heartRate = args.HeartRate;
 }
コード例 #2
0
    void OnGUI()
    {
        DateTime time = DateTime.Now;

        GUIStyle buttonLabelStyle = new GUIStyle(GUI.skin.button);

        buttonLabelStyle.fontSize = 29;

        GUIContent bpmRateMessage = new GUIContent();

        bpmRateMessage.text = heartRate.ToString();

        GUI.enabled = initialiseButtonActive;
        if (GUI.Button(new Rect(hm, vm, bw, bh), "Enable Bluetooth", buttonLabelStyle))
        {
            int           rc = BtHrmPlugin.InitialiseBtLe();
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("Initialise Bluetooth - rc={0}\n", rc);
            displayMessage(sb.ToString());
            if (rc == 0)
            {
                initialiseButtonActive = false;
                scanButtonActive       = true;
                startButtonActive      = false;
                stopButtonActive       = false;
                terminateButtonActive  = true;
                exitButtonActive       = true;
                statusMessage          = "Bluetooth Initialised";
            }
            else
            {
                statusMessage = "Bluetooth Initialisation Failed";
            }
        }

        GUI.enabled = scanButtonActive;
        if (GUI.Button(new Rect(hm, 2 * vm + bh, bw, bh), "Search", buttonLabelStyle))
        {
            if (!waiting)
            {
                displayMessage("Starting scan for devices\n");
                waiting = true;
                int           rc = BtHrmPlugin.ScanForHrmDevices();
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("Scan for HRM devices - rc={0}\n", rc);
                displayMessage(sb.ToString());

                initialiseButtonActive = false;
                scanButtonActive       = false;
                startButtonActive      = false;
                stopButtonActive       = false;
                terminateButtonActive  = true;
                exitButtonActive       = true;

                statusMessage = "Searching for HRM devices";
            }
            else
            {
                Debug.LogError("Scan for HRM devices already in progress");
                StringBuilder sb = new StringBuilder();
                sb.Append("Scan for HRM devices already in progress\n");
                displayMessage(sb.ToString());
                statusMessage = "Searching for HRM devices";
            }
        }

        GUI.enabled = startButtonActive;
        if (GUI.Button(new Rect(2 * hm + bw, 2 * vm + bh, bw, bh), "Start Monitoring", buttonLabelStyle))
        {
            int selectedIndex = comboBoxControl.GetSelectedItemIndex();
            if (selectedIndex > 0)
            {
                string name = comboBoxList[selectedIndex].text;
                foreach (string address in deviceList.Keys)
                {
                    if (name.Equals(deviceList[address]))
                    {
                        deviceAddress = address;
                        StringBuilder sb = new StringBuilder();
                        sb.AppendFormat("Monitoring HRM device - address={0}\n", deviceAddress);
                        displayMessage(sb.ToString());
                        int rc = BtHrmPlugin.StartMonitoring(deviceAddress);
                        sb = new StringBuilder();
                        sb.AppendFormat("Monitoring HRM device - rc={0}\n", rc);
                        displayMessage(sb.ToString());

                        initialiseButtonActive = false;
                        scanButtonActive       = false;
                        startButtonActive      = false;
                        stopButtonActive       = true;
                        terminateButtonActive  = false;
                        exitButtonActive       = true;

                        statusMessage = "Monitoring started";

                        break;
                    }
                }
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("Invalid HRM device selected\n");
                displayMessage(sb.ToString());

                statusMessage = "Invalid HRM device selected";
            }
        }

        GUI.enabled = stopButtonActive;
        if (GUI.Button(new Rect(3 * hm + 2 * bw, 2 * vm + bh, bw, bh), "Stop Monitoring", buttonLabelStyle))
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("Stop Monitoring HRM device - address={0}\n", deviceAddress);
            displayMessage(sb.ToString());
            int rc = BtHrmPlugin.StopMonitoring(deviceAddress);
            sb = new StringBuilder();
            sb.AppendFormat("Stop Monitoring HRM device - rc={0}\n", rc);
            displayMessage(sb.ToString());

            initialiseButtonActive = false;
            scanButtonActive       = true;
            startButtonActive      = true;
            stopButtonActive       = false;
            terminateButtonActive  = true;
            exitButtonActive       = true;

            statusMessage = "Monitoring stopped";
        }

        GUI.enabled = terminateButtonActive;
        if (GUI.Button(new Rect(2 * hm + bw, vm, bw, bh), "Disable Bluetooth", buttonLabelStyle))
        {
            int           rc = BtHrmPlugin.TerminateBtLe();
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("Terminate Bluetooth - rc={0}\n", rc);
            displayMessage(sb.ToString());

            initialiseButtonActive = true;
            scanButtonActive       = false;
            startButtonActive      = false;
            stopButtonActive       = false;
            terminateButtonActive  = false;
            exitButtonActive       = true;

            statusMessage = "Bluetooth disabled";
        }

        GUI.enabled = exitButtonActive;
        if (GUI.Button(new Rect(3 * hm + 2 * bw, vm, bw, bh), "Exit", buttonLabelStyle))
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("Exit\n");
            displayMessage(sb.ToString());
            Application.Quit();
        }

        GUI.enabled = true;
        GUI.Label(new Rect(2 * hm + bw + 50, 2 * vm + 2 * bh + 50, Screen.width - (2 * hm + bw) / 2, Screen.height), bpmRateMessage, bpmStyle);

        GUI.Label(new Rect(hm, 500, Screen.width - 2 * hm, 50), statusMessage, statusStyle);

        int selectedItemIndex = comboBoxControl.GetSelectedItemIndex();

        selectedItemIndex = comboBoxControl.List(new Rect(hm, 570, Screen.width, 40),
                                                 comboBoxList[selectedItemIndex].text, comboBoxList, buttonLabelStyle, buttonLabelStyle, listStyle);

        GUI.Label(new Rect(hm, 720, Screen.width - 2 * hm, Screen.height), message, messageStyle);
    }
コード例 #3
0
 void BtHrmMessage(BtHrmPlugin.BtHrmMessageEventArgs args)
 {
     StringBuilder sb = new StringBuilder();
     sb.AppendFormat("P> {0}", args.message);
     displayMessage(sb.ToString());
 }
コード例 #4
0
    void ServiceDisconnected(BtHrmPlugin.ErrorEventArgs args)
    {
        StringBuilder sb = new StringBuilder();
        sb.AppendFormat("Service Disconnected: {0}\n", args.Error);
        sb.AppendFormat("errorText: {0}\n", args.ErrorText);
        displayMessage(sb.ToString());

        initialiseButtonActive = false;
        scanButtonActive = true;
        startButtonActive = true;
        stopButtonActive = false;
        terminateButtonActive = true;
        exitButtonActive = true;

        statusMessage = "HRM service disconnected";
    }
コード例 #5
0
    void ScanSuccessful(BtHrmPlugin.ScanForHrmDevicesEventArgs args)
    {
        deviceList = args.ListOfDevices;

        comboBoxList = new GUIContent[deviceList.Count+1];
        comboBoxList[0] = new GUIContent("Select a Bluetooth HRM device!");

        StringBuilder sb = new StringBuilder();
        sb.AppendFormat("Successfully Scanned!\n");

        int i = 1;
        foreach (string address in deviceList.Keys) {
            sb.AppendFormat("address:       {0}\n" +
                            "   name:       {1}\n", address, deviceList[address]);
            comboBoxList[i++] = new GUIContent(deviceList[address].ToString());
        }
        displayMessage(sb.ToString());

        waiting = false;

        initialiseButtonActive = false;
        scanButtonActive = true;
        startButtonActive = true;
        stopButtonActive = false;
        terminateButtonActive = true;
        exitButtonActive = true;

        statusMessage = "HRM devices found - select one";
    }
コード例 #6
0
    void ScanFailed(BtHrmPlugin.ErrorEventArgs args)
    {
        StringBuilder sb = new StringBuilder();
        sb.AppendFormat("Scan Failed: {0}\n", args.Error);
        sb.AppendFormat("errorText: {0}\n", args.ErrorText);
        displayMessage(sb.ToString());
        waiting = false;

        initialiseButtonActive = false;
        scanButtonActive = true;
        startButtonActive = false;
        stopButtonActive = false;
        terminateButtonActive = true;
        exitButtonActive = true;

        statusMessage = "HRM device search failed";
    }