﻿#if !UNITY_WEBGL
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using Arugula.Input;

public class XBeeExample : MonoBehaviour
{
    public string portName = "COM6";
    public int baudRate = 38400;
    public XBee.APIMode apiMode = XBee.APIMode.APIEscaped;

    XBee radio;

    void OnEnable()
    {
        radio = new XBee(apiMode);
        radio.Initialize(portName, baudRate);

        radio.OnRXPacketReceived += Radio_OnRXPacketReceived;
        radio.OnNodeDiscovered += Radio_OnNodeDiscovered;
    }

    private void OnDisable()
    {
        radio.OnRXPacketReceived -= Radio_OnRXPacketReceived;
        radio.OnNodeDiscovered -= Radio_OnNodeDiscovered;
        radio.Shutdown();
    }

    private void Update()
    {
        radio.Poll();
    }

    private void Radio_OnRXPacketReceived(XBee.RXPacket packet)
    {
        Debug.Log(packet);
    }

    private void Radio_OnNodeDiscovered(XBee.Address address)
    {
        Debug.Log(address);
    }

    void DiscoverNodes()
    {
        radio.Command(XBee.ATCommands.NodeDiscovery);
    }

    private void OnGUI()
    {
        if (GUILayout.Button("Discover Nodes"))
        {
            DiscoverNodes();
        }
    }
}
#endif