Dawn Framework 1.0
Universal data acquisition framework for embedded systems
common.hxx
1// dawn/include/dawn/proto/common.hxx
2//
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#pragma once
7
8#include <cstdlib>
9
10#include "dawn/common/bindable.hxx"
11#include "dawn/porting/config.hxx"
12
13namespace dawn
14{
23{
24public:
97
98 static_assert(PROTO_CLASS_LAST - 1 <= SObjectId::CLS_MAX);
99
102 enum
103 {
104 PROTO_CFG_FIRST = 0,
105 PROTO_CFG_LAST = 31
106 };
107
116 explicit CProtoCommon(CDescObject &desc);
117};
118} // Namespace dawn
Base object with bindable object map support.
Definition bindable.hxx:25
Base class for all protocol implementations.
Definition common.hxx:23
EProtoClass
Protocol object class types.
Definition common.hxx:28
@ PROTO_CLASS_USER_START
User-defined protocols start from here.
Definition common.hxx:87
@ PROTO_CLASS_NXSCOPE_UDP
NxScope real-time visualization (UDP interface).
Definition common.hxx:51
@ PROTO_CLASS_MODBUS_TCP
Modbus TCP (network implementation).
Definition common.hxx:71
@ PROTO_CLASS_MODBUS_RTU
Modbus RTU (serial implementation).
Definition common.hxx:67
@ PROTO_CLASS_USER
Placeholder for user protocol.
Definition common.hxx:91
@ PROTO_CLASS_LAST
Last protocol class (sentinel value).
Definition common.hxx:95
@ PROTO_CLASS_NXSCOPE_SERIAL
NxScope real-time visualization (serial interface).
Definition common.hxx:47
@ PROTO_CLASS_DUMMY
Dummy protocol (test/helper).
Definition common.hxx:43
@ PROTO_CLASS_UDP
UDP-based protocol.
Definition common.hxx:79
@ PROTO_CLASS_SERIAL
Compact binary protocol over serial port.
Definition common.hxx:63
@ PROTO_CLASS_ANY
Wildcard/any protocol class (for validation/queries).
Definition common.hxx:31
@ PROTO_CLASS_NIMBLE_PRPH
BLE Peripheral using Apache NimBLE stack.
Definition common.hxx:35
@ PROTO_CLASS_IPC
FIFO-based local IPC protocol.
Definition common.hxx:83
@ PROTO_CLASS_SHELL_SERIAL
Interactive shell on serial port.
Definition common.hxx:59
@ PROTO_CLASS_NXSCOPE_DUMMY
NxScope real-time visualization (dummy interface).
Definition common.hxx:39
@ PROTO_CLASS_SHELL_STD
Interactive shell on stdin/stdout.
Definition common.hxx:55
@ PROTO_CLASS_CAN
CAN bus protocol.
Definition common.hxx:75
Out-of-tree user-extension hooks for Dawn.
Definition bindable.hxx:13