This cleans up issues in the Python API and completes the missing pieces needed for a useful wrapper around libmbus. Notably all functions and structures defined in libmbus are reproduced here, as well as the constants.
Some thought on the high-level interface I feel is necessary. While I've tried to add some helper functions and properties to some of the structures, an easier interface may be to wrap these low-level objects in a high-level interface.
For now, the old "high level" interface has been tweaked to make use of the low-level library, and should be drop-in compatible. Long term, I think a replacement with something more full-featured is in order.
Thanks a lot for your contribution! It is looking good. Unfortunately I don't have much time to work on this project anymore, but will code review and merge this PR within a few days.
This cleans up issues in the Python API and completes the missing pieces needed for a useful wrapper around
libmbus
. Notably all functions and structures defined inlibmbus
are reproduced here, as well as the constants.Some thought on the high-level interface I feel is necessary. While I've tried to add some helper functions and properties to some of the structures, an easier interface may be to wrap these low-level objects in a high-level interface.
For now, the old "high level" interface has been tweaked to make use of the low-level library, and should be drop-in compatible. Long term, I think a replacement with something more full-featured is in order.