本文整理汇总了Python中bitstring.BitArray.unpack方法的典型用法代码示例。如果您正苦于以下问题:Python BitArray.unpack方法的具体用法?Python BitArray.unpack怎么用?Python BitArray.unpack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类bitstring.BitArray
的用法示例。
在下文中一共展示了BitArray.unpack方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from bitstring import BitArray [as 别名]
# 或者: from bitstring.BitArray import unpack [as 别名]
class mpt1327_state:
def __init__(self):
self.data = BitArray(uint=0, length=64)
self.cnt = 0
self.codeword = 0
self.prev = 0
self.base_freq = 170.8
self.step_freq = 0.0125
def crc(self):
data, checksum = self.data.unpack('uint:48, uint:15')
return CRC.calcWord(data, 48) == checksum and self.data.count(1) % 2 == 0 # Even parity
示例2: rx_stream
# 需要导入模块: from bitstring import BitArray [as 别名]
# 或者: from bitstring.BitArray import unpack [as 别名]
def rx_stream(self, count=None, secs=None):
self.set_rx_mode()
start = time.time()
while count is None or count > 0:
buffer = self.device.read(0x82, 64)
if count is not None:
count -= 1
if secs is not None:
if time.time() >= start+secs:
break
pkt = BitArray(bytes=buffer)
metadata = pkt.unpack('uint:8, uint:8, uint:8, uint:8, uint:32,'
'int:8, int:8, int:8, uint:8')
metanames = ('pkt_type', 'status', 'channel', 'clkn_high',
'clk100ns', 'rssi_max', 'rssi_min', 'rss_avg',
'rssi_count')
yield dict(zip(metanames, metadata)), pkt[112:]
示例3: assert
# 需要导入模块: from bitstring import BitArray [as 别名]
# 或者: from bitstring.BitArray import unpack [as 别名]
assert(logDict['ucTag2'] == ord('G'))
if __name__ == '__main__':
test_bitStruct(bitStruct)
for _ in range(1):
fefefe = splitBitStructIn32bits(bitStruct)
logDict = OrderedDict()
logEntry = map(str, getLogEntryFromDevice())
assert(len(logEntry) == 112)
for logE in logEntry:
rawBits = BitArray('int:32=' + logE)
ent = next(fefefe)
b = rawBits.unpack(entryToFmtString(ent))
for (k, v) in zip(ent, b):
logDict[k[1]] = v
test_ValidLogDict(logDict)
# print logDict
print 'ucChksum: ', hex(logDict['ucChksum'])
print 'ucVer: ', logDict['ucVer']
print 'uiTimestamp: ', logDict['uiTimestamp']
print 'global.accWatisar: ', logDict['global.accWatisar']
print 'ChLogEntry_ChA.ucThermHR: ', logDict['ChLogEntry_ChA.ucThermHR']
print 'ChLogEntry_ChA.usMinLoadZ0: ', logDict['ChLogEntry_ChA.usMinLoadZ0']
print 'ChLogEntry_ChA.usMaxLoadZ0: ', logDict['ChLogEntry_ChA.usMaxLoadZ0']
print 'ChLogEntry_ChA.usMinLoadZ1: ', logDict['ChLogEntry_ChA.usMinLoadZ1']
print 'ChLogEntry_ChA.usMaxLoadZ1: ', logDict['ChLogEntry_ChA.usMaxLoadZ1']
print ''
示例4: BitArray
# 需要导入模块: from bitstring import BitArray [as 别名]
# 或者: from bitstring.BitArray import unpack [as 别名]
s = serial.Serial("COM1",19200,bytesize=serial.SEVENBITS,stopbits=serial.STOPBITS_ONE)
buffer = []
count = 0
alldata = np.zeros([8,10])
while True:
index = count%10
count += 1
print "index = ", index
try:
data = s.read()
if data == "\x7f":
bits = BitArray(bytes=buffer)
# test length:
if bits.length == 8*40:
time.sleep(0.1)
a, b, c, d, c4, c5, c6, c7 = bits.unpack('uintle:40,uintle:40,uintle:40,uintle:40,uintle:40,uintle:40,uintle:40,uintle:40')
#print a, b, c, d, c4, c5, c6, c7
newdata = np.array((a, b, c, d, c4, c5, c6, c7))
alldata[:,index] = newdata
if index == 0:
print alldata
# update plot every 10 shots
for rect, h in zip(rects, alldata.mean(axis=1)):
rect.set_height(h)
axes.relim()
axes.autoscale_view(True,True,True)
plt.pause(0.001)
plt.draw()
else:
print "short packet"