6#include "dawn/proto/factory.hxx"
8#ifdef CONFIG_DAWN_PROTO_DUMMY
9# include "dawn/proto/dummy.hxx"
12#ifdef CONFIG_DAWN_PROTO_NXSCOPE_DUMMY
13# include "dawn/proto/nxscope/dummy.hxx"
15#ifdef CONFIG_DAWN_PROTO_NXSCOPE_SERIAL
16# include "dawn/proto/nxscope/serial.hxx"
18#ifdef CONFIG_DAWN_PROTO_NXSCOPE_UDP
19# include "dawn/proto/nxscope/udp.hxx"
21#ifdef CONFIG_DAWN_PROTO_SHELL_PRETTY
22# include "dawn/proto/shell/pretty.hxx"
24#ifdef CONFIG_DAWN_PROTO_SERIAL
25# include "dawn/proto/serial/simple.hxx"
27#ifdef CONFIG_DAWN_PROTO_UDP
28# include "dawn/proto/udp/simple.hxx"
30#ifdef CONFIG_DAWN_PROTO_IPC
31# include "dawn/proto/ipc/simple.hxx"
33#ifdef CONFIG_DAWN_PROTO_NIMBLE_PERIPHERAL
34# include "dawn/proto/nimble/prph.hxx"
36#ifdef CONFIG_DAWN_PROTO_CAN
37# include "dawn/proto/can/can.hxx"
39#ifdef CONFIG_DAWN_PROTO_MODBUS_RTU
40# include "dawn/proto/modbus/rtu.hxx"
42#ifdef CONFIG_DAWN_PROTO_MODBUS_TCP
43# include "dawn/proto/modbus/tcp.hxx"
54#ifdef CONFIG_DAWN_PROTO_DUMMY
59#ifdef CONFIG_DAWN_PROTO_NXSCOPE_DUMMY
64#ifdef CONFIG_DAWN_PROTO_NXSCOPE_SERIAL
69#ifdef CONFIG_DAWN_PROTO_NXSCOPE_UDP
74#ifdef CONFIG_DAWN_PROTO_SHELL_PRETTY
79#ifdef CONFIG_DAWN_PROTO_SERIAL
84#ifdef CONFIG_DAWN_PROTO_UDP
89#ifdef CONFIG_DAWN_PROTO_IPC
94#ifdef CONFIG_DAWN_PROTO_NIMBLE_PERIPHERAL
99#ifdef CONFIG_DAWN_PROTO_CAN
104#ifdef CONFIG_DAWN_PROTO_MODBUS_RTU
109#ifdef CONFIG_DAWN_PROTO_MODBUS_TCP
116 DAWNERR(
"Unknown PROTO class %d\n", desc.
getObjectCls());
Descriptor wrapper for individual object configuration.
uint8_t getObjectType() const
Get object type field.
uint16_t getObjectCls() const
Get object class field.
CAN bus protocol for industrial automation.
Base class for all protocol implementations.
@ PROTO_CLASS_NXSCOPE_UDP
NxScope real-time visualization (UDP interface).
@ PROTO_CLASS_MODBUS_TCP
Modbus TCP (network implementation).
@ PROTO_CLASS_MODBUS_RTU
Modbus RTU (serial implementation).
@ PROTO_CLASS_NXSCOPE_SERIAL
NxScope real-time visualization (serial interface).
@ PROTO_CLASS_DUMMY
Dummy protocol (test/helper).
@ PROTO_CLASS_UDP
UDP-based protocol.
@ PROTO_CLASS_SERIAL
Compact binary protocol over serial port.
@ PROTO_CLASS_NIMBLE_PRPH
BLE Peripheral using Apache NimBLE stack.
@ PROTO_CLASS_IPC
FIFO-based local IPC protocol.
@ PROTO_CLASS_NXSCOPE_DUMMY
NxScope real-time visualization (dummy interface).
@ PROTO_CLASS_SHELL_STD
Interactive shell on stdin/stdout.
@ PROTO_CLASS_CAN
CAN bus protocol.
Dummy Protocol for tests and binding placeholders.
CProtoCommon * create(CDescObject &desc)
Create a protocol object from descriptor.
Simple FIFO-based IPC transport for local Dawn communication.
Modbus RTU (Remote Terminal Unit) protocol implementation.
Modbus TCP protocol implementation.
BLE Peripheral (Slave) Protocol Implementation using NimBLE.
NXScope no-op/dummy transport implementation.
NXScope over serial port transport.
NXScope over UDP transport.
Simple binary serial protocol for device communication.
Interactive Command-Line Shell Interface.
Simple binary UDP protocol for device communication.
Out-of-tree user-extension hooks for Dawn.
@ OBJTYPE_PROTO
Protocol object type.