bacnet_parse 0.1.0

no-std BACnet parser
Documentation

bacnet_parse

bacnet_parse is a #![no_std] library to parse BACnet bytes into read-only data structures

Currently handles:

  • MS/TP
  • BVLL (basic - just enough to get NPDU)
  • NPDU

Targeting support for:

To assist parsing BACnet IP or BACnet Ethernet, two recommended libraries are:

Why not use nom?

nom is a great library, but I don't think it's well suited to application layer data with weird formats like BACnet. For example, the weirdness of the NPDU layout where the hop count value's existence is tied to but may or may not be contiguous with the destination port/address.

Avoiding the use of nom may also lower the barrier to entry for contribution so that a potential contributor does not also need to learn the nom library.

These are opinions, so if you disagree and would like to use nom for parsing, feel free to make a pull request that includes nom.