uhd/mpm/python/usrp_mpm/test_bfrfs.py
Martin Braun 221805d8b1 mpm: Add BufferFS serialization library
BufferFS is a serialization format with CRC checking and optional
byte-alignment for records. It allows storing arbitrary blobs, together
with a 8-character identifier, in a contiguous buffer that supports
random access. This is suitable for storing arbitrary blobs in EEPROM,
but could also support other things.

Signed-off-by: Martin Braun <martin.braun@ettus.com>
2017-12-22 15:04:02 -08:00

25 lines
594 B
Python

import mpmlog
import bfrfs
LOG = mpmlog.get_main_logger().getChild('log')
B0 = bfrfs.BufferFS(b'', 256, 16, log=LOG)
B0.set_blob('foo', b'123123123')
B0.set_blob('baz', b'abcdabcdasdfasdf')
print(B0.buffer)
print(len(B0.buffer))
LOG.warn('next foo')
new_buf = open('eeprom.dat', 'rb').read()
B1 = bfrfs.BufferFS(new_buf, 256, 16, log=LOG)
print(B1.get_blob('foo'))
print(B1.get_blob('baz'))
LOG.warn('next foo')
B1.set_blob('baz', b'asdfalskdfjalksdfasdfkasdfkjh')
B1.set_blob('foo', b'asdfalskdfjalksdfasdfkasdfkjh2')
open('eeprom.dat', 'wb').write(B1.buffer)
print(B1.get_blob('foo'))