VLCB SDK
An opinionated SDK for VLCB protocol
Loading...
Searching...
No Matches
common/inc/vlcb/common/module.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4
5typedef uint32_t VlcbModuleParamLoadAddr;
6#define VLCB_MODULE_LOAD_ADDR_EMPTY (VlcbModuleParamLoadAddr)0
7
9#define VLCB_MODULE_CPU_MANUID_UNKNOWN \
10 (VlcbModuleParamCpuManuId){'?', '?', '?', '?'}
11
12#define VLCB_VERSION(major, minor) \
13 (VlcbModuleVersion){.major = major, .minor = minor.beta = 0}
14#define VLCB_VERSION_BETA(major, minor, beta) \
15 (VlcbModuleVersion) { .major = major, .minor = minor.beta = beta }
16
17typedef struct {
18 uint8_t major;
19 char minor;
20 uint8_t beta;
22
23typedef uint8_t VlcbServiceVersion;
24
28typedef uint8_t VlcbCommandError;
100
106typedef uint8_t VlcbModuleFlags;
170typedef uint8_t VlcbModuleParam;
@ VLCB_CMDERR_NOT_IN_SETUP_MODE
@ VLCB_CMDERR_INVALID_PARAM_INDEX
@ VLCB_CMDERR_NOT_IN_LEARN_MODE
@ VLCB_CMDERR_ANOTHER_MODULE_IS_IN_LEARN_MODE
@ VLCB_CMDERR_INVALID_EVENT_INDEX
uint32_t VlcbModuleParamLoadAddr
char VlcbModuleParamCpuManuId[4]
uint8_t VlcbServiceVersion
@ VLCB_MODULE_FLAG_CONSUME_OWN_EVENTS
@ VLCB_MODULE_FLAG_EVENT_CONSUMER
@ VLCB_MODULE_FLAG_SERVICE_DISCOVERY
@ VLCB_MODULE_FLAG_EVENT_PRODUCER
@ VLCB_MODULE_PARAM_MODULE_PARAMETER_COUNT
@ VLCB_MODULE_PARAM_CPU_MANUFACTURER
@ VLCB_MODULE_PARAM_NODE_VARIABLE_COUNT
@ VLCB_MODULE_PARAM_MINOR_VERSION
@ VLCB_MODULE_PARAM_MAX_EVENT_COUNT
@ VLCB_MODULE_PARAM_MAJOR_VERSION
@ VLCB_MODULE_PARAM_EVENT_VARIABLE_COUNT
@ VLCB_MODULE_PARAM_MODULE_MANUFACTURER
@ VLCB_MODULE_PARAM_CPU_MANUFACTURER_ID