Kbox-UniStack Docs

Enums Reference

Every public enum in the kbox-stack KNX library with its exact enumerator names and values — address and data types, LED and flash results, stack errors, property ids, log levels, and the telegram enums.

These enums are part of the portable public API and match the KNX wire format. Values are given exactly as declared; where the C++ header assigns an explicit value, it is shown, otherwise the value is the zero-based ordinal.

Enumerator names use the C-style EnumName_Member convention (unscoped enums), so you write e.g. KnxTelegramApciEnum_GroupValueWrite.

KnxAddressTypeEnum

Selects individual vs group addressing on a KnxAddress / telegram.

EnumeratorValue
KnxAddressTypeEnum_Individual0
KnxAddressTypeEnum_Group1

KnxDataTypeEnum

The storage class of a DeviceObject / KnxData value.

EnumeratorValue
KnxDataTypeEnum_Bit0
KnxDataTypeEnum_Byte1
KnxDataTypeEnum_Float2
KnxDataTypeEnum_ByteArray3
KnxDataTypeEnum_NA255

LedModesEnum

Drive mode for the KNX status LED (see ILed).

EnumeratorValue
LedModesEnum_Regular0
LedModesEnum_Blink1
LedModesEnum_SosBlink2

FlashOperationResultEnum

Result of an IFlash erase/write operation.

EnumeratorValue
FlashOperationResultEnum_EraseOK0
FlashOperationResultEnum_EraseError1
FlashOperationResultEnum_WriteOK2
FlashOperationResultEnum_WriteError3
FlashOperationResultEnum_ExceededMaxSize4
FlashOperationResultEnum_AddressOutOfRange5

StackErrorTypeEnum

Fatal sizing / persistence failures reported through the onStackError callback. The correct reaction is a safe stop — see the Integration Contract · Error contract.

EnumeratorValue
StackErrorTypeEnum_MACHINE_STATE_SIZE_ERROR0
StackErrorTypeEnum_SEGMET1_SIZE_ERROR1
StackErrorTypeEnum_SEGMET2_SIZE_ERROR2
StackErrorTypeEnum_SEGMET3_SIZE_ERROR3
StackErrorTypeEnum_SEGMET4_SIZE_ERROR4
StackErrorTypeEnum_SEGMENT_TOO_LARGE_FOR_FILL5
StackErrorTypeEnum_SEGMENT_FILL_WRITE_FAILED6
StackErrorTypeEnum_MACHINE_STATE_PERSIST_ERROR7
StackErrorTypeEnum_PROGRAM_VERSION_PERSIST_ERROR8
StackErrorTypeEnum_SECURE_STORAGE_INVALID9
StackErrorTypeEnum_FLASH_LAYOUT_INVALID10

The SEGMET1..4 enumerator names are spelled exactly as in the header. A size error means a table size in StackParameters is smaller than the ETS project needs.

SECURE_STORAGE_INVALID and FLASH_LAYOUT_INVALID are both fatal, non-recoverable conditions: the consumer's onStackError handler should halt or reset the device rather than start any new work. The stack narrows the blast radius on its own side (Process() early-returns, and SaveUserData/LoadUserData/UserDataCapacity() become no-ops), but this is defense-in-depth only — it does not substitute for the consumer's own halt/reset decision.

PropertyIdTypeEnum

Interface-object property ids (KNX PIDs) the stack recognises. Values are the standard KNX property ids.

EnumeratorValue
PropertyIdTypeEnum_PID_OBJECT_TYPE1
PropertyIdTypeEnum_PID_GROUP_OBJECT_REFERENCE4
PropertyIdTypeEnum_PID_LOAD_STATE_CONTROL5
PropertyIdTypeEnum_PID_RUN_STATE_CONTROL6
PropertyIdTypeEnum_PID_TABLE_REFERENCE7
PropertyIdTypeEnum_PID_SERIAL_NUMBER11
PropertyIdTypeEnum_PID_MANUFACTURER_ID12
PropertyIdTypeEnum_PID_PROGRAM_VERSION13
PropertyIdTypeEnum_PID_DEVICE_CONTROL14
PropertyIdTypeEnum_PID_ORDER_INFO15
PropertyIdTypeEnum_PID_PEI_TYPE16
PropertyIdTypeEnum_PID_TABLE23
PropertyIdTypeEnum_PID_VERSION25
PropertyIdTypeEnum_PID_MCB_TABLE27
PropertyIdTypeEnum_PID_ROUTING_COUNT51
PropertyIdTypeEnum_PID_PROGMODE54
PropertyIdTypeEnum_PID_MAX_APDULENGTH56
PropertyIdTypeEnum_PID_SUBNET_ADDR57
PropertyIdTypeEnum_PID_DEVICE_ADDR58
PropertyIdTypeEnum_PID_HARDWARE_TYPE78

LogLevelEnum

Severity for the logging subsystem. See Logging.

EnumeratorValue
LogLevelEnum_NA0
LogLevelEnum_Info1
LogLevelEnum_Warning2
LogLevelEnum_Error3
LogLevelEnum_Stack4
LogLevelEnum_Verbose5

Telegram enums

These enums describe the fields of a KNX telegram, used by KnxTelegram and KnxTelegramBuilder. They are grouped here to keep the page scannable.