|
DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
|
Z-Wave Serial API frame codec (DETWS_ENABLE_ZWAVE) - Silicon Labs controller. More...
#include "ServerConfig.h"Go to the source code of this file.
Z-Wave Serial API frame codec (DETWS_ENABLE_ZWAVE) - Silicon Labs controller.
The host-side Serial API of a Silicon Labs 500 / 700-series Z-Wave controller reached over UART: a Z-Wave mesh bridged to the web. The host and the controller exchange data frames:
SOF (0x01) | LEN | Type | Command | Data... | Checksum
where LEN counts Type + Command + Data + Checksum, Type is 0x00 (REQ) or 0x01 (RES), and the checksum is 0xFF XOR-folded over LEN through the last Data byte. Each data frame is acknowledged by a single-byte ACK (0x06), or rejected with NAK (0x15) / CAN (0x18).
zwave_build_frame() assembles a data frame carrying a function command, zwave_parse_frame() frames + verifies one, and zwave_is_ack() / zwave_is_nak() / zwave_is_can() / zwave_build_ack() handle the flow-control bytes. The per-command payload (GetVersion, SendData, AddNodeToNetwork, an ApplicationCommandHandler report, ...) is the application's. Pure - you carry the bytes over your UART - so it is fully host-testable.
Definition in file zwave.h.