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

CANopen (CiA 301) application-layer message codec (DETWS_ENABLE_CANOPEN). More...

#include "ServerConfig.h"

Go to the source code of this file.

Detailed Description

CANopen (CiA 301) application-layer message codec (DETWS_ENABLE_CANOPEN).

A pure, zero-heap builder + parser for the CANopen messaging set carried over classic CAN frames (see shared_primitives/can.h): NMT node control, SYNC, TIME, the heartbeat / boot-up (NMT error control), EMCY, PDO (process data), and expedited SDO (service data object) read / write / abort. The 11-bit CAN identifier is a 4-bit function code plus a 7-bit node id; each builder computes the right COB-ID and each parser classifies a received frame back to its function + node.

Scope: the CANopen object dictionary itself is the application's; this is the wire codec. SDO transfers are expedited only (<= 4 octets); segmented / block SDO is not yet covered.

Bridging: pair with the ESP32's TWAI peripheral (or an MCP2515 over SPI) to bridge a CANopen field bus onto Wi-Fi - expose node state / PDOs over HTTP, MQTT, or a WebSocket.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file canopen.h.