コード例 #1
0
ファイル: moteState.py プロジェクト: elvisvogli/openwsn-sw
    def update(self, notif):

        # update state
        StateElem.update(self)
        if len(self.data) == 0:
            self.data.append({})
        self.data[0]["isDAGroot"] = notif.isDAGroot
        self.data[0]["isBridge"] = notif.isBridge
        if "my16bID" not in self.data[0]:
            self.data[0]["my16bID"] = typeAddr.typeAddr()
        self.data[0]["my16bID"].update(notif.my16bID_type, notif.my16bID_bodyH, notif.my16bID_bodyL)
        if "my64bID" not in self.data[0]:
            self.data[0]["my64bID"] = typeAddr.typeAddr()
        self.data[0]["my64bID"].update(notif.my64bID_type, notif.my64bID_bodyH, notif.my64bID_bodyL)
        if "myPANID" not in self.data[0]:
            self.data[0]["myPANID"] = typeAddr.typeAddr()
        self.data[0]["myPANID"].update(notif.myPANID_type, notif.myPANID_bodyH, notif.myPANID_bodyL)
        if "myPrefix" not in self.data[0]:
            self.data[0]["myPrefix"] = typeAddr.typeAddr()
        self.data[0]["myPrefix"].update(notif.myPrefix_type, notif.myPrefix_bodyH, notif.myPrefix_bodyL)

        # announce information about the DAG root to the eventBus
        if self.data[0]["isDAGroot"] == 1:

            # dispatch
            dispatcher.send(
                signal="infoDagRoot",
                sender="StateIdManager",
                data={
                    "ip": self.moteConnector.moteProbeIp,
                    "tcpPort": self.moteConnector.moteProbeTcpPort,
                    "eui64": self.data[0]["my64bID"].addr,
                },
            )
コード例 #2
0
ファイル: moteState.py プロジェクト: GiuX/giux-openwsn-sw
 def update(self,notif):
     StateElem.update(self)
     if len(self.data)==0:
         self.data.append({})
     self.data[0]['used']                     = notif.used
     self.data[0]['parentPreference']         = notif.parentPreference
     self.data[0]['stableNeighbor']           = notif.stableNeighbor
     self.data[0]['switchStabilityCounter']   = notif.switchStabilityCounter
     if 'addr' not in self.data[0]:
         self.data[0]['addr']                 = typeAddr.typeAddr()
     self.data[0]['addr'].update(notif.addr_type,
                                 notif.addr_bodyH,
                                 notif.addr_bodyL)
     self.data[0]['DAGrank']                  = notif.DAGrank
     if 'rssi' not in self.data[0]:
         self.data[0]['rssi']                 = typeRssi.typeRssi()
     self.data[0]['rssi'].update(notif.rssi)
     self.data[0]['numRx']                    = notif.numRx
     self.data[0]['numTx']                    = notif.numTx
     self.data[0]['numTxACK']                 = notif.numTxACK
     self.data[0]['numWraps']                 = notif.numWraps
     if 'asn' not in self.data[0]:
         self.data[0]['asn']                  = typeAsn.typeAsn()
     self.data[0]['asn'].update(notif.asn_0_1,
                                notif.asn_2_3,
                                notif.asn_4)
コード例 #3
0
ファイル: moteState.py プロジェクト: buguen/openwsn-sdk
 def update(self,notif):
     StateElem.update(self)
     if len(self.data)==0:
         self.data.append({})
     self.data[0]['slotOffset']          = notif.slotOffset
     if 'type' not in self.data[0]:
         self.data[0]['type']            = typeCellType.typeCellType()
     self.data[0]['type'].update(notif.type)
     self.data[0]['shared']              = notif.shared
     self.data[0]['channelOffset']       = notif.channelOffset
     if 'neighbor' not in self.data[0]:
         self.data[0]['neighbor']        = typeAddr.typeAddr()
     self.data[0]['neighbor'].update(notif.neighbor_type,
                                     notif.neighbor_bodyH,
                                     notif.neighbor_bodyL)
     self.data[0]['backoffExponent']     = notif.backoffExponent
     self.data[0]['backoff']             = notif.backoff
     self.data[0]['numRx']               = notif.numRx
     self.data[0]['numTx']               = notif.numTx
     self.data[0]['numTxACK']            = notif.numTxACK
     if 'lastUsedAsn' not in self.data[0]:
         self.data[0]['lastUsedAsn']     = typeAsn.typeAsn()
     self.data[0]['lastUsedAsn'].update(notif.lastUsedAsn_0_1,
                                        notif.lastUsedAsn_2_3,
                                        notif.lastUsedAsn_4)
コード例 #4
0
ファイル: moteState.py プロジェクト: GiuX/giux-openwsn-sw
 def update(self,notif):
 
     # update state
     StateElem.update(self)
     if len(self.data)==0:
         self.data.append({})
     self.data[0]['isDAGroot']           = notif.isDAGroot
     self.data[0]['isBridge']            = notif.isBridge
     if 'my16bID' not in self.data[0]:
         self.data[0]['my16bID']         = typeAddr.typeAddr()
     self.data[0]['my16bID'].update(notif.my16bID_type,
                                    notif.my16bID_bodyH,
                                    notif.my16bID_bodyL)
     if 'my64bID' not in self.data[0]:
         self.data[0]['my64bID']         = typeAddr.typeAddr()
     self.data[0]['my64bID'].update(notif.my64bID_type,
                                    notif.my64bID_bodyH,
                                    notif.my64bID_bodyL)
     if 'myPANID' not in self.data[0]:
         self.data[0]['myPANID']         = typeAddr.typeAddr()
     self.data[0]['myPANID'].update(notif.myPANID_type,
                                    notif.myPANID_bodyH,
                                    notif.myPANID_bodyL)
     if 'myPrefix' not in self.data[0]:
         self.data[0]['myPrefix']        = typeAddr.typeAddr()
     self.data[0]['myPrefix'].update(notif.myPrefix_type,
                                     notif.myPrefix_bodyH,
                                     notif.myPrefix_bodyL)
     
     # announce information about the DAG root to the eventBus
     if self.data[0]['isDAGroot']==1:
     
         # dispatch
         dispatcher.send(
             signal        = 'infoDagRoot',
             sender        = 'StateIdManager',
             data          = {
                                 'ip':      self.moteConnector.moteProbeIp,
                                 'tcpPort': self.moteConnector.moteProbeTcpPort,
                                 'eui64':   self.data[0]['my64bID'].addr,
                             },
         )
コード例 #5
0
ファイル: moteState.py プロジェクト: GiuX/giux-openwsn-sw
    def update(self, notif):

        # update state
        StateElem.update(self)
        if len(self.data) == 0:
            self.data.append({})
        self.data[0]['isDAGroot'] = notif.isDAGroot
        self.data[0]['isBridge'] = notif.isBridge
        if 'my16bID' not in self.data[0]:
            self.data[0]['my16bID'] = typeAddr.typeAddr()
        self.data[0]['my16bID'].update(notif.my16bID_type, notif.my16bID_bodyH,
                                       notif.my16bID_bodyL)
        if 'my64bID' not in self.data[0]:
            self.data[0]['my64bID'] = typeAddr.typeAddr()
        self.data[0]['my64bID'].update(notif.my64bID_type, notif.my64bID_bodyH,
                                       notif.my64bID_bodyL)
        if 'myPANID' not in self.data[0]:
            self.data[0]['myPANID'] = typeAddr.typeAddr()
        self.data[0]['myPANID'].update(notif.myPANID_type, notif.myPANID_bodyH,
                                       notif.myPANID_bodyL)
        if 'myPrefix' not in self.data[0]:
            self.data[0]['myPrefix'] = typeAddr.typeAddr()
        self.data[0]['myPrefix'].update(notif.myPrefix_type,
                                        notif.myPrefix_bodyH,
                                        notif.myPrefix_bodyL)

        # announce information about the DAG root to the eventBus
        if self.data[0]['isDAGroot'] == 1:

            # dispatch
            dispatcher.send(
                signal='infoDagRoot',
                sender='StateIdManager',
                data={
                    'ip': self.moteConnector.moteProbeIp,
                    'tcpPort': self.moteConnector.moteProbeTcpPort,
                    'eui64': self.data[0]['my64bID'].addr,
                },
            )
コード例 #6
0
ファイル: moteState.py プロジェクト: elvisvogli/openwsn-sw
 def update(self, notif):
     StateElem.update(self)
     if len(self.data) == 0:
         self.data.append({})
     self.data[0]["slotOffset"] = notif.slotOffset
     if "type" not in self.data[0]:
         self.data[0]["type"] = typeCellType.typeCellType()
     self.data[0]["type"].update(notif.type)
     self.data[0]["shared"] = notif.shared
     self.data[0]["channelOffset"] = notif.channelOffset
     if "neighbor" not in self.data[0]:
         self.data[0]["neighbor"] = typeAddr.typeAddr()
     self.data[0]["neighbor"].update(notif.neighbor_type, notif.neighbor_bodyH, notif.neighbor_bodyL)
     self.data[0]["numRx"] = notif.numRx
     self.data[0]["numTx"] = notif.numTx
     self.data[0]["numTxACK"] = notif.numTxACK
     if "lastUsedAsn" not in self.data[0]:
         self.data[0]["lastUsedAsn"] = typeAsn.typeAsn()
     self.data[0]["lastUsedAsn"].update(notif.lastUsedAsn_0_1, notif.lastUsedAsn_2_3, notif.lastUsedAsn_4)
コード例 #7
0
ファイル: moteState.py プロジェクト: elvisvogli/openwsn-sw
 def update(self, notif):
     StateElem.update(self)
     if len(self.data) == 0:
         self.data.append({})
     self.data[0]["used"] = notif.used
     self.data[0]["parentPreference"] = notif.parentPreference
     self.data[0]["stableNeighbor"] = notif.stableNeighbor
     self.data[0]["switchStabilityCounter"] = notif.switchStabilityCounter
     if "addr" not in self.data[0]:
         self.data[0]["addr"] = typeAddr.typeAddr()
     self.data[0]["addr"].update(notif.addr_type, notif.addr_bodyH, notif.addr_bodyL)
     self.data[0]["DAGrank"] = notif.DAGrank
     if "rssi" not in self.data[0]:
         self.data[0]["rssi"] = typeRssi.typeRssi()
     self.data[0]["rssi"].update(notif.rssi)
     self.data[0]["numRx"] = notif.numRx
     self.data[0]["numTx"] = notif.numTx
     self.data[0]["numTxACK"] = notif.numTxACK
     self.data[0]["numWraps"] = notif.numWraps
     if "asn" not in self.data[0]:
         self.data[0]["asn"] = typeAsn.typeAsn()
     self.data[0]["asn"].update(notif.asn_0_1, notif.asn_2_3, notif.asn_4)
コード例 #8
0
ファイル: moteState.py プロジェクト: GiuX/giux-openwsn-sw
 def update(self, notif):
     StateElem.update(self)
     if len(self.data) == 0:
         self.data.append({})
     self.data[0]['used'] = notif.used
     self.data[0]['parentPreference'] = notif.parentPreference
     self.data[0]['stableNeighbor'] = notif.stableNeighbor
     self.data[0]['switchStabilityCounter'] = notif.switchStabilityCounter
     if 'addr' not in self.data[0]:
         self.data[0]['addr'] = typeAddr.typeAddr()
     self.data[0]['addr'].update(notif.addr_type, notif.addr_bodyH,
                                 notif.addr_bodyL)
     self.data[0]['DAGrank'] = notif.DAGrank
     if 'rssi' not in self.data[0]:
         self.data[0]['rssi'] = typeRssi.typeRssi()
     self.data[0]['rssi'].update(notif.rssi)
     self.data[0]['numRx'] = notif.numRx
     self.data[0]['numTx'] = notif.numTx
     self.data[0]['numTxACK'] = notif.numTxACK
     self.data[0]['numWraps'] = notif.numWraps
     if 'asn' not in self.data[0]:
         self.data[0]['asn'] = typeAsn.typeAsn()
     self.data[0]['asn'].update(notif.asn_0_1, notif.asn_2_3, notif.asn_4)
コード例 #9
0
ファイル: moteState.py プロジェクト: GiuX/giux-openwsn-sw
 def update(self, notif):
     StateElem.update(self)
     if len(self.data) == 0:
         self.data.append({})
     self.data[0]['slotOffset'] = notif.slotOffset
     if 'type' not in self.data[0]:
         self.data[0]['type'] = typeCellType.typeCellType()
     self.data[0]['type'].update(notif.type)
     self.data[0]['shared'] = notif.shared
     self.data[0]['channelOffset'] = notif.channelOffset
     if 'neighbor' not in self.data[0]:
         self.data[0]['neighbor'] = typeAddr.typeAddr()
     self.data[0]['neighbor'].update(notif.neighbor_type,
                                     notif.neighbor_bodyH,
                                     notif.neighbor_bodyL)
     self.data[0]['numRx'] = notif.numRx
     self.data[0]['numTx'] = notif.numTx
     self.data[0]['numTxACK'] = notif.numTxACK
     if 'lastUsedAsn' not in self.data[0]:
         self.data[0]['lastUsedAsn'] = typeAsn.typeAsn()
     self.data[0]['lastUsedAsn'].update(notif.lastUsedAsn_0_1,
                                        notif.lastUsedAsn_2_3,
                                        notif.lastUsedAsn_4)