From 221805d8b15bd70dbe4528a91e1f955b8e43f36e Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 9 Oct 2017 17:03:29 -0700 Subject: 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 --- mpm/python/usrp_mpm/test_bfrfs.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 mpm/python/usrp_mpm/test_bfrfs.py (limited to 'mpm/python/usrp_mpm/test_bfrfs.py') diff --git a/mpm/python/usrp_mpm/test_bfrfs.py b/mpm/python/usrp_mpm/test_bfrfs.py new file mode 100644 index 000000000..03312f51f --- /dev/null +++ b/mpm/python/usrp_mpm/test_bfrfs.py @@ -0,0 +1,25 @@ +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')) -- cgit v1.2.3