knx
ETS configurable knx-stack
property.h File Reference
#include <stdint.h>
#include "save_restore.h"
Include dependency graph for property.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PropertyDescription
 
class  Property
 

Enumerations

enum  PropertyDataType {
  PDT_CONTROL = 0x00 , PDT_CHAR = 0x01 , PDT_UNSIGNED_CHAR = 0x02 , PDT_INT = 0x03 ,
  PDT_UNSIGNED_INT = 0x04 , PDT_KNX_FLOAT = 0x05 , PDT_DATE = 0x06 , PDT_TIME = 0x07 ,
  PDT_LONG = 0x08 , PDT_UNSIGNED_LONG = 0x09 , PDT_FLOAT = 0x0a , PDT_DOUBLE = 0x0b ,
  PDT_CHAR_BLOCK = 0x0c , PDT_POLL_GROUP_SETTING = 0x0d , PDT_SHORT_CHAR_BLOCK = 0x0e , PDT_DATE_TIME = 0x0f ,
  PDT_VARIABLE_LENGTH = 0x10 , PDT_GENERIC_01 = 0x11 , PDT_GENERIC_02 = 0x12 , PDT_GENERIC_03 = 0x13 ,
  PDT_GENERIC_04 = 0x14 , PDT_GENERIC_05 = 0x15 , PDT_GENERIC_06 = 0x16 , PDT_GENERIC_07 = 0x17 ,
  PDT_GENERIC_08 = 0x18 , PDT_GENERIC_09 = 0x19 , PDT_GENERIC_10 = 0x1a , PDT_GENERIC_11 = 0x1b ,
  PDT_GENERIC_12 = 0x1c , PDT_GENERIC_13 = 0x1d , PDT_GENERIC_14 = 0x1e , PDT_GENERIC_15 = 0x1f ,
  PDT_GENERIC_16 = 0x20 , PDT_GENERIC_17 = 0x21 , PDT_GENERIC_18 = 0x22 , PDT_GENERIC_19 = 0x23 ,
  PDT_GENERIC_20 = 0x24 , PDT_UTF8 = 0x2f , PDT_VERSION = 0x30 , PDT_ALARM_INFO = 0x31 ,
  PDT_BINARY_INFORMATION = 0x32 , PDT_BITSET8 = 0x33 , PDT_BITSET16 = 0x34 , PDT_ENUM8 = 0x35 ,
  PDT_SCALING = 0x36 , PDT_NE_VL = 0x3c , PDT_NE_FL = 0x3d , PDT_FUNCTION = 0x3e ,
  PDT_ESCAPE = 0x3f
}
 The data type of a property. More...
 
enum  PropertyID {
  PID_OBJECT_TYPE = 1 , PID_LOAD_STATE_CONTROL = 5 , PID_RUN_STATE_CONTROL = 6 , PID_TABLE_REFERENCE = 7 ,
  PID_SERVICE_CONTROL = 8 , PID_FIRMWARE_REVISION = 9 , PID_SERIAL_NUMBER = 11 , PID_MANUFACTURER_ID = 12 ,
  PID_PROG_VERSION = 13 , PID_DEVICE_CONTROL = 14 , PID_ORDER_INFO = 15 , PID_PEI_TYPE = 16 ,
  PID_PORT_CONFIGURATION = 17 , PID_TABLE = 23 , PID_VERSION = 25 , PID_MCB_TABLE = 27 ,
  PID_ERROR_CODE = 28 , PID_OBJECT_INDEX = 29 , PID_DOWNLOAD_COUNTER = 30 , PID_ROUTING_COUNT = 51 ,
  PID_PROG_MODE = 54 , PID_MAX_APDU_LENGTH = 56 , PID_SUBNET_ADDR = 57 , PID_DEVICE_ADDR = 58 ,
  PID_IO_LIST = 71 , PID_HARDWARE_TYPE = 78 , PID_RF_DOMAIN_ADDRESS_CEMI_SERVER = 82 , PID_DEVICE_DESCRIPTOR = 83 ,
  PID_RF_MULTI_TYPE = 51 , PID_RF_DOMAIN_ADDRESS = 56 , PID_RF_RETRANSMITTER = 57 , PID_RF_FILTERING_MODE_SUPPORT = 58 ,
  PID_RF_FILTERING_MODE_SELECT = 59 , PID_RF_BIDIR_TIMEOUT = 60 , PID_RF_DIAG_SA_FILTER_TABLE = 61 , PID_RF_DIAG_BUDGET_TABLE = 62 ,
  PID_RF_DIAG_PROBE = 63 , PID_PROJECT_INSTALLATION_ID = 51 , PID_KNX_INDIVIDUAL_ADDRESS = 52 , PID_ADDITIONAL_INDIVIDUAL_ADDRESSES = 53 ,
  PID_CURRENT_IP_ASSIGNMENT_METHOD = 54 , PID_IP_ASSIGNMENT_METHOD = 55 , PID_IP_CAPABILITIES = 56 , PID_CURRENT_IP_ADDRESS = 57 ,
  PID_CURRENT_SUBNET_MASK = 58 , PID_CURRENT_DEFAULT_GATEWAY = 59 , PID_IP_ADDRESS = 60 , PID_SUBNET_MASK = 61 ,
  PID_DEFAULT_GATEWAY = 62 , PID_DHCP_BOOTP_SERVER = 63 , PID_MAC_ADDRESS = 64 , PID_SYSTEM_SETUP_MULTICAST_ADDRESS = 65 ,
  PID_ROUTING_MULTICAST_ADDRESS = 66 , PID_TTL = 67 , PID_KNXNETIP_DEVICE_CAPABILITIES = 68 , PID_KNXNETIP_DEVICE_STATE = 69 ,
  PID_KNXNETIP_ROUTING_CAPABILITIES = 70 , PID_PRIORITY_FIFO_ENABLED = 71 , PID_QUEUE_OVERFLOW_TO_IP = 72 , PID_QUEUE_OVERFLOW_TO_KNX = 73 ,
  PID_MSG_TRANSMIT_TO_IP = 74 , PID_MSG_TRANSMIT_TO_KNX = 75 , PID_FRIENDLY_NAME = 76 , PID_ROUTING_BUSY_WAIT_TIME = 78 ,
  PID_MEDIUM_TYPE = 51 , PID_COMM_MODE = 52 , PID_MEDIUM_AVAILABILITY = 53 , PID_ADD_INFO_TYPES = 54 ,
  PID_TIME_BASE = 55 , PID_TRANSP_ENABLE = 56 , PID_CLIENT_SNA = 57 , PID_CLIENT_DEVICE_ADDRESS = 58 ,
  PID_BIBAT_NEXTBLOCK = 59 , PID_RF_MODE_SELECT = 60 , PID_RF_MODE_SUPPORT = 61 , PID_RF_FILTERING_MODE_SELECT_CEMI_SERVER = 62 ,
  PID_RF_FILTERING_MODE_SUPPORT_CEMI_SERVER = 63 , PID_COMM_MODES_SUPPORTED = 64 , PID_FILTERING_MODE_SUPPORT = 65 , PID_FILTERING_MODE_SELECT = 66 ,
  PID_MAX_INTERFACE_APDU_LENGTH = 68 , PID_MAX_LOCAL_APDU_LENGTH = 69 , PID_SECURITY_MODE = 51 , PID_P2P_KEY_TABLE = 52 ,
  PID_GRP_KEY_TABLE = 53 , PID_SECURITY_INDIVIDUAL_ADDRESS_TABLE = 54 , PID_SECURITY_FAILURES_LOG = 55 , PID_TOOL_KEY = 56 ,
  PID_SECURITY_REPORT = 57 , PID_SECURITY_REPORT_CONTROL = 58 , PID_SEQUENCE_NUMBER_SENDING = 59 , PID_ZONE_KEY_TABLE = 60 ,
  PID_GO_SECURITY_FLAGS = 61 , PID_ROLE_TABLE = 62 , PID_TOOL_SEQUENCE_NUMBER_SENDING = 250 , PID_MEDIUM_STATUS = 51 ,
  PID_MAIN_LCCONFIG = 52 , PID_SUB_LCCONFIG = 53 , PID_MAIN_LCGRPCONFIG = 54 , PID_SUB_LCGRPCONFIG = 55 ,
  PID_ROUTETABLE_CONTROL = 56 , PID_COUPLER_SERVICES_CONTROL = 57 , PID_MAX_APDU_LENGTH_ROUTER = 58 , PID_L2_COUPLER_TYPE = 59 ,
  PID_HOP_COUNT = 61 , PID_MEDIUM = 63 , PID_FILTER_TABLE_USE = 67 , PID_RF_ENABLE_SBC = 112 ,
  PID_IP_ENABLE_SBC = 120
}
 
enum  LoadState {
  LS_UNLOADED = 0 , LS_LOADED = 1 , LS_LOADING = 2 , LS_ERROR = 3 ,
  LS_UNLOADING = 4 , LS_LOADCOMPLETING = 5
}
 
enum  LoadEvents {
  LE_NOOP = 0 , LE_START_LOADING = 1 , LE_LOAD_COMPLETED = 2 , LE_ADDITIONAL_LOAD_CONTROLS = 3 ,
  LE_UNLOAD = 4
}
 
enum  ErrorCode {
  E_NO_FAULT = 0 , E_GENERAL_DEVICE_FAULT = 1 , E_COMMUNICATION_FAULT = 2 , E_CONFIGURATION_FAULT = 3 ,
  E_HARDWARE_FAULT = 4 , E_SOFTWARE_FAULT = 5 , E_INSUFFICIENT_NON_VOLATILE_MEMORY = 6 , E_INSUFFICIENT_VOLATILE_MEMORY = 7 ,
  E_GOT_MEM_ALLOC_ZERO = 8 , E_CRC_ERROR = 9 , E_WATCHDOG_RESET = 10 , E_INVALID_OPCODE = 11 ,
  E_GENERAL_PROTECTION_FAULT = 12 , E_MAX_TABLE_LENGTH_EXEEDED = 13 , E_GOT_UNDEF_LOAD_CMD = 14 , E_GAT_NOT_SORTED = 15 ,
  E_INVALID_CONNECTION_NUMBER = 16 , E_INVALID_GO_NUMBER = 17 , E_GO_TYPE_TOO_BIG = 18
}
 
enum  AccessLevel {
  ReadLv0 = 0x00 , ReadLv1 = 0x10 , ReadLv2 = 0x20 , ReadLv3 = 0x30 ,
  WriteLv0 = 0x00 , WriteLv1 = 0x01 , WriteLv2 = 0x02 , WriteLv3 = 0x03
}
 The access level necessary to read a property of an interface object. More...
 

Enumeration Type Documentation

◆ AccessLevel

The access level necessary to read a property of an interface object.

Enumerator
ReadLv0 
ReadLv1 
ReadLv2 
ReadLv3 
WriteLv0 
WriteLv1 
WriteLv2 
WriteLv3 

Definition at line 239 of file property.h.

◆ ErrorCode

enum ErrorCode
Enumerator
E_NO_FAULT 
E_GENERAL_DEVICE_FAULT 
E_COMMUNICATION_FAULT 
E_CONFIGURATION_FAULT 
E_HARDWARE_FAULT 
E_SOFTWARE_FAULT 
E_INSUFFICIENT_NON_VOLATILE_MEMORY 
E_INSUFFICIENT_VOLATILE_MEMORY 
E_GOT_MEM_ALLOC_ZERO 
E_CRC_ERROR 
E_WATCHDOG_RESET 
E_INVALID_OPCODE 
E_GENERAL_PROTECTION_FAULT 
E_MAX_TABLE_LENGTH_EXEEDED 
E_GOT_UNDEF_LOAD_CMD 
E_GAT_NOT_SORTED 
E_INVALID_CONNECTION_NUMBER 
E_INVALID_GO_NUMBER 
E_GO_TYPE_TOO_BIG 

Definition at line 215 of file property.h.

◆ LoadEvents

enum LoadEvents
Enumerator
LE_NOOP 
LE_START_LOADING 
LE_LOAD_COMPLETED 
LE_ADDITIONAL_LOAD_CONTROLS 
LE_UNLOAD 

Definition at line 205 of file property.h.

◆ LoadState

enum LoadState
Enumerator
LS_UNLOADED 
LS_LOADED 
LS_LOADING 
LS_ERROR 
LS_UNLOADING 
LS_LOADCOMPLETING 

Definition at line 195 of file property.h.

◆ PropertyDataType

The data type of a property.

Enumerator
PDT_CONTROL 

length: 1 read, 10 write

PDT_CHAR 

length: 1

PDT_UNSIGNED_CHAR 

length: 1

PDT_INT 

length: 2

PDT_UNSIGNED_INT 

length: 2

PDT_KNX_FLOAT 

length: 2

PDT_DATE 

length: 3

PDT_TIME 

length: 3

PDT_LONG 

length: 4

PDT_UNSIGNED_LONG 

length: 4

PDT_FLOAT 

length: 4

PDT_DOUBLE 

length: 8

PDT_CHAR_BLOCK 

length: 10

PDT_POLL_GROUP_SETTING 

length: 3

PDT_SHORT_CHAR_BLOCK 

length: 5

PDT_DATE_TIME 

length: 8

PDT_VARIABLE_LENGTH 
PDT_GENERIC_01 

length: 1

PDT_GENERIC_02 

length: 2

PDT_GENERIC_03 

length: 3

PDT_GENERIC_04 

length: 4

PDT_GENERIC_05 

length: 5

PDT_GENERIC_06 

length: 6

PDT_GENERIC_07 

length: 7

PDT_GENERIC_08 

length: 8

PDT_GENERIC_09 

length: 9

PDT_GENERIC_10 

length: 10

PDT_GENERIC_11 

length: 11

PDT_GENERIC_12 

length: 12

PDT_GENERIC_13 

length: 13

PDT_GENERIC_14 

length: 14

PDT_GENERIC_15 

length: 15

PDT_GENERIC_16 

length: 16

PDT_GENERIC_17 

length: 17

PDT_GENERIC_18 

length: 18

PDT_GENERIC_19 

length: 19

PDT_GENERIC_20 

length: 20

PDT_UTF8 

length: 3

PDT_VERSION 

length: 3

PDT_ALARM_INFO 

length: 3

PDT_BINARY_INFORMATION 

length: 3

PDT_BITSET8 

length: 3

PDT_BITSET16 

length: 3

PDT_ENUM8 

length: 3

PDT_SCALING 

length: 3

PDT_NE_VL 

length: 3

PDT_NE_FL 

length: 3

PDT_FUNCTION 

length: 3

PDT_ESCAPE 

length: 3

Definition at line 16 of file property.h.

◆ PropertyID

enum PropertyID
Enumerator
PID_OBJECT_TYPE 

Interface Object Type independent Properties.

PID_LOAD_STATE_CONTROL 
PID_RUN_STATE_CONTROL 
PID_TABLE_REFERENCE 
PID_SERVICE_CONTROL 
PID_FIRMWARE_REVISION 
PID_SERIAL_NUMBER 
PID_MANUFACTURER_ID 
PID_PROG_VERSION 
PID_DEVICE_CONTROL 
PID_ORDER_INFO 
PID_PEI_TYPE 
PID_PORT_CONFIGURATION 
PID_TABLE 
PID_VERSION 
PID_MCB_TABLE 
PID_ERROR_CODE 
PID_OBJECT_INDEX 
PID_DOWNLOAD_COUNTER 
PID_ROUTING_COUNT 

Properties in the Device Object.

PID_PROG_MODE 
PID_MAX_APDU_LENGTH 
PID_SUBNET_ADDR 
PID_DEVICE_ADDR 
PID_IO_LIST 
PID_HARDWARE_TYPE 
PID_RF_DOMAIN_ADDRESS_CEMI_SERVER 
PID_DEVICE_DESCRIPTOR 
PID_RF_MULTI_TYPE 

Properties in the RF Medium Object.

PID_RF_DOMAIN_ADDRESS 
PID_RF_RETRANSMITTER 
PID_RF_FILTERING_MODE_SUPPORT 
PID_RF_FILTERING_MODE_SELECT 
PID_RF_BIDIR_TIMEOUT 
PID_RF_DIAG_SA_FILTER_TABLE 
PID_RF_DIAG_BUDGET_TABLE 
PID_RF_DIAG_PROBE 
PID_PROJECT_INSTALLATION_ID 

KNXnet/IP Parameter Object.

PID_KNX_INDIVIDUAL_ADDRESS 
PID_ADDITIONAL_INDIVIDUAL_ADDRESSES 
PID_CURRENT_IP_ASSIGNMENT_METHOD 
PID_IP_ASSIGNMENT_METHOD 
PID_IP_CAPABILITIES 
PID_CURRENT_IP_ADDRESS 
PID_CURRENT_SUBNET_MASK 
PID_CURRENT_DEFAULT_GATEWAY 
PID_IP_ADDRESS 
PID_SUBNET_MASK 
PID_DEFAULT_GATEWAY 
PID_DHCP_BOOTP_SERVER 
PID_MAC_ADDRESS 
PID_SYSTEM_SETUP_MULTICAST_ADDRESS 
PID_ROUTING_MULTICAST_ADDRESS 
PID_TTL 
PID_KNXNETIP_DEVICE_CAPABILITIES 
PID_KNXNETIP_DEVICE_STATE 
PID_KNXNETIP_ROUTING_CAPABILITIES 
PID_PRIORITY_FIFO_ENABLED 
PID_QUEUE_OVERFLOW_TO_IP 
PID_QUEUE_OVERFLOW_TO_KNX 
PID_MSG_TRANSMIT_TO_IP 
PID_MSG_TRANSMIT_TO_KNX 
PID_FRIENDLY_NAME 
PID_ROUTING_BUSY_WAIT_TIME 
PID_MEDIUM_TYPE 

cEMI Server Object

PID_COMM_MODE 
PID_MEDIUM_AVAILABILITY 
PID_ADD_INFO_TYPES 
PID_TIME_BASE 
PID_TRANSP_ENABLE 
PID_CLIENT_SNA 
PID_CLIENT_DEVICE_ADDRESS 
PID_BIBAT_NEXTBLOCK 
PID_RF_MODE_SELECT 
PID_RF_MODE_SUPPORT 
PID_RF_FILTERING_MODE_SELECT_CEMI_SERVER 
PID_RF_FILTERING_MODE_SUPPORT_CEMI_SERVER 
PID_COMM_MODES_SUPPORTED 
PID_FILTERING_MODE_SUPPORT 
PID_FILTERING_MODE_SELECT 
PID_MAX_INTERFACE_APDU_LENGTH 
PID_MAX_LOCAL_APDU_LENGTH 
PID_SECURITY_MODE 

Security Interface Object.

PID_P2P_KEY_TABLE 
PID_GRP_KEY_TABLE 
PID_SECURITY_INDIVIDUAL_ADDRESS_TABLE 
PID_SECURITY_FAILURES_LOG 
PID_TOOL_KEY 
PID_SECURITY_REPORT 
PID_SECURITY_REPORT_CONTROL 
PID_SEQUENCE_NUMBER_SENDING 
PID_ZONE_KEY_TABLE 
PID_GO_SECURITY_FLAGS 
PID_ROLE_TABLE 
PID_TOOL_SEQUENCE_NUMBER_SENDING 
PID_MEDIUM_STATUS 

Router Object.

PID_MAIN_LCCONFIG 
PID_SUB_LCCONFIG 
PID_MAIN_LCGRPCONFIG 
PID_SUB_LCGRPCONFIG 
PID_ROUTETABLE_CONTROL 
PID_COUPLER_SERVICES_CONTROL 
PID_MAX_APDU_LENGTH_ROUTER 
PID_L2_COUPLER_TYPE 
PID_HOP_COUNT 
PID_MEDIUM 
PID_FILTER_TABLE_USE 
PID_RF_ENABLE_SBC 
PID_IP_ENABLE_SBC 

Definition at line 69 of file property.h.