mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-15 21:01:26 +00:00
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>
25 lines
594 B
Python
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'))
|