예제 #1
0
	def getPortCounts(self, port):
		template = "@HHH"
		n = struct.calcsize(template)
		data = struct.pack(template, 0x07, n, port)
		self.__socket.send(data);

		template = "@HQQQ"
		n = struct.calcsize(template)
		data = self.__socket.recv(n);
		length, tx, rx, rxBad = struct.unpack(template, data)		
		tx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(tx, 48)))
		rx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(rx, 48)))
		rxBad = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(rxBad, 48)))
		return (tx, rx, rxBad)
예제 #2
0
	def __getCurrentFrameID(self):
		activePorts = self.getActivePorts()
		if activePorts == []:
			raise ErrorNoFEB()

		portID = min(activePorts)
		gray = self.readFEBDConfig(portID, 0, 0, 7)
		timeTag = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(gray, 46)))
		frameID = timeTag / 1024
		return frameID
예제 #3
0
	def getFEBDCount1(self, portID, slaveID):
		mtx = self.readFEBDConfig(portID, slaveID, 1, 0)
		mrx = self.readFEBDConfig(portID, slaveID, 1, 1)
		mrxBad = self.readFEBDConfig(portID, slaveID, 1, 2)

		slaveOn = self.readFEBDConfig(portID, slaveID, 0, 12) != 0x0

		stx = self.readFEBDConfig(portID, slaveID, 1, 3)
		srx = self.readFEBDConfig(portID, slaveID, 1, 4)
		srxBad = self.readFEBDConfig(portID, slaveID, 1, 5)
		
		mtx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(mtx, 48)))
		mrx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(mrx, 48)))
		mrxBad = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(mrxBad, 48)))
		stx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(stx, 48)))
		srx = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(srx, 48)))
		srxBad = bitarray_utils.binToInt(bitarray_utils.grayToBin(bitarray_utils.intToBin(srxBad, 48)))
		return (mtx, mrx, mrxBad, slaveOn, stx, srx, srxBad)
예제 #4
0
 def getValue(self, key):
     return binToInt(self.getBits(key))
예제 #5
0
 def getValue(self, key):
     key = key.lower()
     return binToInt(self.getBits(key))