Пример #1
0
 def consumeRxData(self, remoteAddress16, dat):
     'This method is to be called immediately after a data frame is received from the sensor node. It parses and handles the payload.'
     tnow = time.time()
     self.lastTimeReceived = tnow
     self.address16 = remoteAddress16
     self.timeBetweenMeasurements = ord(dat[1])
     nCoreDataBytes = ord(dat[2])
     self.nMPS = nCoreDataBytes / Config.LSA_DATA_MODALITY
     self.timeBetweenEmissions = self.timeBetweenMeasurements * self.nMPS
     self.sensorData = []
     self.batteryVoltage = []
     self.mcuTemperature = []
     for i in range(0, nCoreDataBytes, Config.LSA_DATA_MODALITY):
         mv = ord(dat[Config.LSA_HEADER_SIZE+i])<<16 | ord(dat[Config.LSA_HEADER_SIZE+i+1])<<8 | ord(dat[Config.LSA_HEADER_SIZE+i+2])
         _bat= ord(dat[Config.LSA_HEADER_SIZE+i+3])<<8 | ord(dat[Config.LSA_HEADER_SIZE+i+4])
         bat = float(_bat / 100.0);
         tmp = ord(dat[Config.LSA_HEADER_SIZE+i+5])
         self.sensorData.append(mv)
         self.batteryVoltage.append(bat)
         self.mcuTemperature.append(tmp)
     self.timeStamps = []
     for i in range(self.nMPS-1, -1, -1):
         tm = tnow - i * self.timeBetweenMeasurements
         self.timeStamps.append(tm)
         pass
     RemoteXB_Node.writeDataLines(self, self.asCSVDataEntry())
     pass
Пример #2
0
 def __init__(self, shortID, nodeName, dataDir, statusDir):
     RemoteXB_Node.__init__(self, shortID, nodeName, dataDir, statusDir)
     self.timeBetweenMeasurements = 0
     self.timeBetweenEmissions = 0
     self.sensorData = []
     self.timeStamps = []
     self.batteryVoltage = []
     self.mcuTemperature = []
     self.lastTimeReceived = 0.0
     self.nMPS = 0