예제 #1
0
 public void StopRawData(ComModes type)
 {
     if (type == ComModes.canBus)
     {
         this.cb.stopMonitoringData();
     }
 }
예제 #2
0
        public void SendMessage(int _nodeID, string _message)
        {
            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int    nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                string s           = string.Format("{0},{1}", nodeAddress, _message);
                this.cb.Send(s);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #3
0
 /// <summary>
 /// Monitor Raw Serial Data
 /// </summary>
 /// <param name="type"></param>
 public void SeeRawData(ComModes type)
 {
     if (type == ComModes.canBus)
     {
         this.cb.monitorData();
     }
 }
예제 #4
0
        /// <summary>
        /// Sets all node's rings on
        /// </summary>
        /// <param name="_nodeID">Node ID Value</param>
        public void LightTest(int _nodeID)
        {
            this.node[_nodeID].lightStatus = "Test";

            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.LightTest(nodeAddress);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #5
0
        /// <summary>
        /// Get's State of given Node
        /// </summary>
        /// <param name="_nodeID">Node ID Value</param>
        public void GetNodeState(int _nodeID)
        {
            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.Report(nodeAddress);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #6
0
        /// <summary>
        /// Sets Node's Outputs to given state
        /// </summary>
        /// <param name="_nodeID">Node's ID</param>
        /// <param name="_state">State of all Outputs(0 all off, 255 all on)</param>
        public void SetOutputState(int _nodeID, byte _state)
        {
            this.node[_nodeID].outputStatus = _state;                                      //Update this.node status

            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.SetOutputState(nodeAddress, _state);                         //Send Node Output State
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #7
0
        /// <summary>
        /// Sets Node's Ring to given color
        /// </summary>
        /// <param name="_nodeID">Node's ID Vaule</param>
        /// <param name="_color1">Color Value</param>
        /// <param name="_color2">Color Value</param>
        /// <param name="_color3">Color Value</param>
        /// <param name="_color4">Color Value</param>
        public void Light(int _nodeID, LightColor _color1, LightColor _color2, LightColor _color3, LightColor _color4)
        {
            string colorState = string.Format("{0}|{1}|{2}|{3}", _color1.ToString(), _color2.ToString(), _color3.ToString(), _color4.ToString());

            node[_nodeID].lightStatus = colorState;
            ComModes mode = new ComModes();

            mode = node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.Light(nodeAddress, _color1, _color2, _color3, _color4);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #8
0
        /// <summary>
        /// Sets Node to Given Color Value and State
        /// </summary>
        /// <param name="_nodeID">Node's ID Value</param>
        /// <param name="_color">Color Value</param>
        /// <param name="_state">on, off</param>
        public void Light(int _nodeID, LightColor _color)
        {
            ComModes mode = new ComModes();

            mode = node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                cb.Light(nodeAddress, _color);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #9
0
        /// <summary>
        /// Tests if Node is connected to network
        /// </summary>
        /// <param name="_nodeID">Node Address</param>
        /// <returns></returns>
        public bool TestConnections(int _nodeID)
        {
            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                int nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                this.cb.TestConnection(nodeAddress);
                Thread.Sleep(30);
                if (this.node[_nodeID].reportRec > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }

            case ComModes.xBee:

                return(false);

            case ComModes.wiFi:

                return(false);

            default:
                return(false);
            }
        }
예제 #10
0
        /// <summary>
        /// Shuts down field communication on give mode on given port
        /// </summary>
        /// <param name="mode">Communication Mode Value</param>
        /// <param name="port">ComPort</param>
        public void ShutDown(ComModes mode, string port)
        {
            switch (mode)
            {
            case ComModes.canBus:
                this.cb.Shutdown(port);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #11
0
        /// <summary>
        /// Starts Field Communication in given mode on given port
        /// </summary>
        /// <param name="mode">Communication Mode Value</param>
        /// <param name="port">ComPort</param>
        public void StartUp(ComModes mode, string port)
        {
            switch (mode)
            {
            case ComModes.canBus:
                this.cb.Startup(port);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #12
0
        /// <summary>
        /// Sets one of the Node's Outputs to a given state
        /// </summary>
        /// <param name="_nodeID">Node's ID</param>
        /// <param name="_OutputNum">Output to switch</param>
        /// <param name="_state">on or off</param>
        public void SetOutputState(int _nodeID, int _OutputNum, State _state)
        {
            byte newState;
            var  Output      = _OutputNum - 1;                                 //Get Output Location
            var  currentSate = node[_nodeID].outputStatus;                     //Get Current State

            if (_state == State.on)
            {
                newState = (byte)((1 << Output) | currentSate);                      //Update State
            }
            else
            {
                newState = (byte)(~(1 << Output) & currentSate);
            }
            node[_nodeID].outputStatus = newState;                              //Update this.node status

            var mode = new ComModes();

            mode = this.node[_nodeID].type;

            switch (mode)
            {
            case ComModes.canBus:
                var nodeAddress = Convert.ToInt32(this.node[_nodeID].address);
                cb.SetOutput(nodeAddress, _OutputNum, _state);                       //Send Output request
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #13
0
        /// <summary>
        /// Starts Field Communication in given mode on given port
        /// </summary>
        /// <param name="mode">Communication Mode Value</param>
        /// <param name="port">ComPort</param>
        public void StartUp(ComModes mode, string port, bool dtr, bool rts)
        {
            switch (mode)
            {
            case ComModes.canBus:
                this.cb.dtr = dtr;
                this.cb.rts = rts;
                this.cb.Startup(port);
                break;

            case ComModes.xBee:

                break;

            case ComModes.wiFi:

                break;

            default:
                break;
            }
        }
예제 #14
0
        /// <summary>
        /// Gets node's address value
        /// </summary>
        /// <param name="_nodeID">Node's ID number</param>
        /// <returns>Node's ID Value</returns>
        public string GetNodeAddress(int _nodeID)
        {
            ComModes mode = new ComModes();

            mode = this.node[_nodeID].type;
            string address = "No Address";

            switch (mode)
            {
            case ComModes.canBus:
                if (this.node[_nodeID].id == 0)
                {
                    address = this.cb.commandNode.ToString();
                }
                else if (this.node[_nodeID].id > 10)
                {
                    int temp = this.node[_nodeID].id + 10;
                    address = temp.ToString();
                }
                else
                {
                    address = this.node[_nodeID].id.ToString();
                }
                return(address);

            case ComModes.xBee:

                return(address);

            case ComModes.wiFi:

                return(address);

            default:
                return(address);
            }
        }