Chipkin Automation Systems (CAS) BACnet stack is an application layer BACnet library for embedded systems and application development. The BACnet stack can function both as a server (Field device, etc...) or as a client (HMI, etc...). The BACnet stack is transport layer independent library, making it easy to use with any transport layer such as MSTP, IP, Ethernet and even PTP and ARCnet. By giving you control of the transport layer you can optimize bandwidth and performance by exploiting the resources at your disposal such as multi-threading and multiple simultaneous connections. The BACnet stack is particularly well suited to most contemporary programming styles as the API uses XML to transfer requests for packet building as well as for handling back parsed packets.