DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
bacnet.h File Reference

BACnet/IP BVLC + NPDU codec (DETWS_ENABLE_BACNET) - zero-heap framing for the ASHRAE 135 building-automation network layer over UDP (default port 47808). More...

#include "ServerConfig.h"

Go to the source code of this file.

Detailed Description

BACnet/IP BVLC + NPDU codec (DETWS_ENABLE_BACNET) - zero-heap framing for the ASHRAE 135 building-automation network layer over UDP (default port 47808).

Two stacked layers:

  • BVLC (Annex J): Type(1)=0x81 Function(1) Length(2, big-endian, whole BVLL) then the NPDU. Functions include Original-Unicast-NPDU (0x0A) and Original-Broadcast-NPDU (0x0B).
  • NPDU (Clause 6): Version(1)=0x01 NPCI-Control(1) then optional addressing. The NPCI control bits: 0x80 = network-layer message (else APDU), 0x20 = destination present (DNET(2) DLEN(1) DADR(DLEN); DLEN 0 = remote broadcast), 0x08 = source present (SNET(2) SLEN(1) SADR), 0x04 = expecting reply, low 2 bits = priority. A hop count octet follows the source fields when a destination is present. The APDU is whatever remains.

The builders frame an APDU into a caller buffer (fail-closed); the parsers validate and report the slices. Layout verified against ASHRAE 135 Annex J / Clause 6.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file bacnet.h.