BACnetStack_SetBACnetSCCompatibilityFlags
bool BACnetStack_SetBACnetSCCompatibilityFlags(const uint8_t flags);Sets BACnet/SC compatibility flags, which RELAX spec-conformant behaviour so this device can interoperate with non-conformant peers.
The default is 0 - strict conformance. Set a bit only when a specific peer requires it: each one is a deliberate deviation from ASHRAE 135.
DEVICE-WIDE: applied to EVERY BACnet/SC data link instance. There is no per-Network-Port variant and no read-back.
Parameters
Section titled “Parameters”| Parameter | Direction | Description |
|---|---|---|
flags |
in | Bitmask, OR’d together. Exactly THREE flags are defined: 0x01 - ACCEPT_CONNECT_ACCEPT_WITHOUT_HELLO. Accept a Connect-Accept that omits the Hello destination option that 135-2024 AB.2.3.1.2 makes mandatory; the peer’s capabilities are then treated as 0. Needed only for hubs that omit Hello. 0x02 - ACCEPT_CONNECT_REQUEST_WITHOUT_HELLO. Accept a Connect-Request that omits the Hello destination option, at this device’s hub function and at its direct-connect accepting peer; the connecting peer’s capabilities are then recorded as 0. A Connect-Request carrying Data Options is still refused. Needed only for nodes that omit Hello. 0x04 - SEND_CONNECT_WITHOUT_HELLO. SEND-SIDE ONLY: send the Connect-Request and Connect-Accept messages without the Hello destination option - the hub connector’s and the direct-connect initiator’s Connect-Request, and the hub function’s and the direct-connect acceptor’s Connect-Accept. For a peer that rejects a Connect message carrying a destination option. It governs only what this device sends; what this device accepts from a peer is governed by 0x01 and 0x02 alone. This deviates from 135-2024 AB.2.3.1.2: a conformant peer that enforces it refuses this device. The peer takes this device’s Hello capabilities as 0 and may strip relayed SC Identity data options before forwarding them here; what this device relays is decided from the peer’s capabilities, so local behaviour is unchanged. Takes effect at the next connection: unlike BACnetStack_SetBACnetSCHelloCapabilities(), this call does not drop connections already up. All other bits are undefined, are stored without validation, and do nothing. |
Returns
Section titled “Returns”True if the value was applied to every BACnet/SC data link instance. False if any instance rejected it, if no BACnet/SC data link exists, or if the stack was built without STACK_OPTION_DATA_LINK_LAYER_SC.
Topic: BACnet/SC. Declared in CASBACnetStackDLL.h.