예제 #1
0
        public virtual void updateNodeIDAction(GrantNodeID msg, Receive.Body.ReceiveRec transportData)
        {
            // Convert incoming MAC to string
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < 7; i++)
            {
                sb.Append(((byte)msg.getBody().getGrantNodeIDRec().getRequesterID().getRequesterIDArrayField(i)).ToString("x2"));
                if (i < 6)
                {
                    sb.Append(":");
                }
            }
            Console.WriteLine("Got GrantNodeID message for " + sb);

            // Check the MAC address to see if this is for us.
            if (String.Compare(sb.ToString(), mac_string) == 0)
            {
                Console.WriteLine("Updating NodeID to " + msg.getBody().getGrantNodeIDRec().getNodeID() + " for MAC: " + sb);

                JausAddress id = new JausAddress((ushort)jausRouter.getJausAddress().getSubsystemID(),
                                                 (byte)msg.getBody().getGrantNodeIDRec().getNodeID(),
                                                 (byte)jausRouter.getJausAddress().getComponentID());
                jausRouter.updateJausID(id);
            }
            else
            {
                Console.WriteLine("Ignoring grant message since " + sb + " != " + mac_string);
            }
        }
예제 #2
0
        public bool  isEqual(GrantNodeID value)
        {
            if (!this.getJAUSApplicationLayerHeader().isEqual(value.getJAUSApplicationLayerHeader()))
            {
                return(false);
            }
            if (!this.getBody().isEqual(value.getBody()))
            {
                return(false);
            }

            return(true);
        }