Data Structures | |
struct | usb_dev_t |
Structure holding usb device information. More... | |
struct | ip_tunn_slot_info_t |
Structure holding ip tunnling slot information. More... | |
struct | ip_tunn_dev_t |
Structure holding ip tunneling device information. More... | |
struct | ip_rout_info_t |
Structure holding ip routing information. More... | |
Typedefs | |
typedef struct usb_dev_t | usb_dev_t |
Structure holding usb device information. More... | |
typedef struct ip_tunn_slot_info_t | ip_tunn_slot_info_t |
Structure holding ip tunnling slot information. More... | |
typedef struct ip_tunn_dev_t | ip_tunn_dev_t |
Structure holding ip tunneling device information. More... | |
typedef struct ip_rout_info_t | ip_rout_info_t |
Structure holding ip routing information. More... | |
typedef void(* | kdrive_ap_telegram_callback) (const uint8_t telegram[], uint32_t telegram_len, void *user_data) |
Callback function type (pointer to function definition) More... | |
typedef void(* | kdrive_ap_packet_trace_callback) (const uint8_t telegram[], uint32_t telegram_len, int32_t direction, void *user_data) |
Packet Trace callback function type (pointer to function definition) More... | |
Functions | |
kdriveExpress_API int32_t | kdrive_ap_create (void) |
Creates an internal AccessPort interface This should be the first function called when working with the access library. More... | |
kdriveExpress_API bool_t | kdrive_ap_release (int32_t ap) |
Releases the AccessPort interface. More... | |
kdriveExpress_API error_t | kdrive_ap_set_keyring (int32_t ap, int32_t keyring) |
Sets the used knx keyring project. More... | |
kdriveExpress_API uint32_t | kdrive_ap_enum_usb (int32_t ap) |
Scan for all KNX USB Interface devices. More... | |
kdriveExpress_API error_t | kdrive_ap_enum_usb_ex (usb_dev_t items[], uint32_t *items_length) |
Scan for all KNX USB Interface devices. More... | |
kdriveExpress_API error_t | kdrive_ap_only_enum_usb (usb_dev_t items[], uint32_t *items_length) |
Scan for all KNX USB Interface devices. More... | |
kdriveExpress_API error_t | kdrive_ap_open_usb (int32_t ap, uint32_t iface_index) |
Opens a connection to a KNX USB Interface device iface_index should be in the range 0..iface_count-1 where iface_count is > 0. More... | |
kdriveExpress_API error_t | kdrive_ap_enum_ip_tunn (int32_t ap, ip_tunn_dev_t items[], uint32_t *items_length) |
Scans for all KNX IP Tunneling Interface devices The items array must exist (should be pre-allocated by the user). More... | |
kdriveExpress_API error_t | kdrive_ap_read_ip_tunn_device_info (int32_t ap, const char *ip_address, uint16_t port, const char *iface_address, ip_tunn_dev_t *device_info) |
Gets the information for one specific tunneling device. More... | |
kdriveExpress_API error_t | kdrive_ap_open_ip_tunn (int32_t ap, const char *ip_address, uint16_t port, const char *iface_address) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface or default network interface. More... | |
kdriveExpress_API error_t | kdrive_ap_open_ip_tunn_nat (int32_t ap, const char *ip_address, uint16_t port, const char *iface_address) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface in Network Address Translation (NAT) mode. More... | |
kdriveExpress_API error_t | kdrive_ap_open_ip (int32_t ap, const char *ip_address) |
kdriveExpress_API error_t | kdrive_ap_open_ip_ex (int32_t ap, const char *ip_address, const char *iface_address) |
kdriveExpress_API error_t | kdrive_ap_open_ip_nat (int32_t ap, const char *ip_address, const char *iface_address) |
kdriveExpress_API error_t | kdrive_ap_is_ip_tunn_secure (int32_t ap, bool_t *secured) |
Only has works for knxnet ip tunneling ports, returns if security is enabled or not. More... | |
kdriveExpress_API error_t | kdrive_ap_set_ip_tunn_auth_code (int32_t ap, const char *authentication_code) |
Sets the optional authentication code for the KNXnet/IP tunneling connection. More... | |
kdriveExpress_API error_t | kdrive_ap_set_ip_tunn_credentials (int32_t ap, uint8_t user_id, const char *password) |
Sets the user id and the security password for the KNXnet/IP tunneling connection. More... | |
kdriveExpress_API error_t | kdrive_ap_set_ip_tunn_user_id (int32_t ap, uint8_t user_id) |
Sets the security user id for the KNXnet/IP tunneling connection. More... | |
kdriveExpress_API error_t | kdrive_ap_get_ip_tunn_user_id (int32_t ap, uint8_t *user_id) |
Gets the security user id for the KNXnet/IP tunneling connection. More... | |
kdriveExpress_API error_t | kdrive_ap_set_ip_tunn_requested_ia (int32_t ap, uint16_t address) |
Sets the (optional) requested individual address This function is used for KNXnet/IP v2 devices. More... | |
kdriveExpress_API error_t | kdrive_ap_enum_ip_rout (int32_t ap, ip_rout_info_t items[], uint32_t *items_length) |
Scans for all KNX IP Routing devices The items array must exist (should be pre-allocated by the user). More... | |
kdriveExpress_API error_t | kdrive_ap_open_ip_rout (int32_t ap, const char *multicast_address, const char *iface_address, bool_t secured) |
Creates an KNXnet/IP Routing access port. More... | |
kdriveExpress_API error_t | kdrive_ap_is_ip_rout_secure (int32_t ap, bool_t *secured) |
Only has works for knxnet ip routing ports, returns if security is enabled or not. More... | |
kdriveExpress_API error_t | kdrive_ap_set_ip_rout_backbone_key (int32_t ap, const char *key) |
Sets the backbone key for the KNXnet/IP routing connection. More... | |
kdriveExpress_API error_t | kdrive_ap_open_serial_ft12 (int32_t ap, const char *serial_device) |
Opens a connection to a KNX FT1.2 serial interface. More... | |
kdriveExpress_API error_t | kdrive_ap_open_tiny_serial (int32_t ap, const char *serial_device) |
Opens a connection to the KNX Tiny Serial Interface 810. More... | |
kdriveExpress_API error_t | kdrive_ap_close (int32_t ap) |
Closes the access port If the access port is not open nothing happens. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_open (int32_t ap) |
Returns whether the access port is open. More... | |
kdriveExpress_API error_t | kdrive_ap_send (int32_t ap, const uint8_t telegram[], uint32_t telegram_len) |
Sends a KNX Telegram on the Access Port. More... | |
kdriveExpress_API error_t | kdrive_ap_group_write (int32_t ap, uint16_t address, const uint8_t *value, uint32_t bits) |
Sends a GroupValue_Write Telegram The length is specified in bits to enable values less than one byte to be sent (i.e. More... | |
kdriveExpress_API error_t | kdrive_ap_group_read (int32_t ap, uint16_t address) |
Sends a GroupValue_Read Telegram on the Access Port This function does not wait for a GroupValue_Response telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_group_response (int32_t ap, uint16_t address, const uint8_t *value, uint32_t bits) |
Sends a GroupValue_Response Telegram. More... | |
kdriveExpress_API uint32_t | kdrive_ap_read_group_object (int32_t ap, uint16_t address, uint8_t telegram[], uint32_t telegram_len, uint32_t timeout) |
Sends a GroupValue_Read Telegram on the Access Port and waits for a GroupValue_Response indication telegram (with a matching Group Address). More... | |
kdriveExpress_API error_t | kdrive_ap_enable_queue (int32_t ap, bool_t enabled) |
Enables/Disables the receive queue for the access port. More... | |
kdriveExpress_API uint32_t | kdrive_ap_receive (int32_t ap, uint8_t telegram[], uint32_t telegram_len, uint32_t timeout) |
Waits for an inbound KNX telegram and (if received) copies the data into the telegram buffer. More... | |
kdriveExpress_API error_t | kdrive_ap_register_telegram_callback (int32_t ap, kdrive_ap_telegram_callback c, void *user_data, uint32_t *key) |
Registers a callback function. More... | |
kdriveExpress_API error_t | kdrive_ap_register_sec_telegram_callback (int32_t ap, kdrive_ap_telegram_callback c, void *user_data, uint32_t *key) |
Registers a callback function. More... | |
kdriveExpress_API error_t | kdrive_ap_remove_telegram_callback (int32_t ap, uint32_t key) |
Removes (de-registers) a telegram callback. More... | |
kdriveExpress_API error_t | kdrive_ap_get_dest (const uint8_t telegram[], uint32_t telegram_len, uint16_t *address) |
Extracts the Destination Address from the Telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_get_src (const uint8_t telegram[], uint32_t telegram_len, uint16_t *address) |
Extracts the Source Address from the Telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_get_apci (const uint8_t telegram[], uint32_t telegram_len, uint16_t *apci) |
Extracts the APCI from the Telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_get_message_code (const uint8_t telegram[], uint32_t telegram_len, uint8_t *message_code) |
Extracts the Message Code from the Telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_get_serial_number (const uint8_t telegram[], uint32_t telegram_len, uint8_t sn[KDRIVE_SN_LEN]) |
Extracts the Serial Number from the Additional Info (if available) This is extracted from the Additional Info field i.e. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_group (const uint8_t telegram[], uint32_t telegram_len) |
Determines if the specified telegram is a GroupValue telegram This is, one of GroupValue_Read, GroupValue_Write or GroupValue_Response. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_group_write (const uint8_t telegram[], uint32_t telegram_len) |
Determines if the specified telegram is a GroupValue_Write telegram. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_group_read (const uint8_t telegram[], uint32_t telegram_len) |
Determines if the specified telegram is a GroupValue_Read telegram. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_group_response (const uint8_t telegram[], uint32_t telegram_len) |
Determines if the specified telegram is a GroupValue_Response telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_get_group_data (const uint8_t telegram[], uint32_t telegram_len, uint8_t *data, uint32_t *data_len) |
Extracts the Group Value data from the KNX telegram. More... | |
kdriveExpress_API error_t | kdrive_ap_is_compressed_group_data (const uint8_t telegram[], uint32_t telegram_len, bool_t *is_commpressed) |
Determines if the group value size is compressed (6 bits or less). More... | |
kdriveExpress_API error_t | kdrive_ap_set_data_sec (int32_t ap, enum data_sec_t dataSec) |
Set the Data Security of the access point. More... | |
kdriveExpress_API error_t | kdrive_ap_get_data_sec (int32_t ap, enum data_sec_t *dataSec) |
Get the Data Security usage of the access point. More... | |
kdriveExpress_API error_t | kdrive_ap_set_data_sec_own_seq_num (int32_t ap, const uint8_t seq_num[6]) |
Set the own sending sequence number. More... | |
kdriveExpress_API error_t | kdrive_ap_set_data_sec_device_seq_num (int32_t ap, uint16_t address, const uint8_t seq_num[6]) |
Set the sequence number of a device. More... | |
kdriveExpress_API bool_t | kdrive_ap_is_data_sec (const uint8_t telegram[], uint32_t telegram_len) |
Check if the telegram is a data secure one. More... | |
kdriveExpress_API error_t | kdrive_ap_get_layer (int32_t ap, uint16_t *layer) |
Gets the Layer of the Local Device (KNX Interface Device) The default value is Link Layer. More... | |
kdriveExpress_API error_t | kdrive_ap_set_layer (int32_t ap, uint16_t layer) |
Sets the Layer of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_get_ind_addr (int32_t ap, uint16_t *address) |
Gets the Individual Address of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_set_ind_addr (int32_t ap, uint16_t address) |
Sets the Individual Address of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_get_rf_domain_addr (int32_t ap, uint8_t da[KDRIVE_DA_LEN]) |
Gets the Domain Address of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_set_rf_domain_addr (int32_t ap, const uint8_t da[KDRIVE_DA_LEN]) |
Sets the Domain Address of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_get_serial_no (int32_t ap, uint8_t sn[KDRIVE_SN_LEN]) |
Gets the Serial Number of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_set_serial_no (int32_t ap, const uint8_t sn[KDRIVE_SN_LEN]) |
Sets the Serial Number of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_get_tunnel_ind_addr (int32_t ap, uint16_t *address) |
Gets the used Individual Address of the tunnel connection (KNX Interface Device). More... | |
kdriveExpress_API error_t | kdrive_ap_set_tunnel_ind_addr (int32_t ap, uint16_t address) |
Sets the used Individual Address of the tunnel connection (KNX Interface Device). More... | |
kdriveExpress_API error_t | kdrive_ap_get_additional_ind_addr (int32_t ap, uint16_t addresses[], uint32_t *addresses_len) |
Gets the Additional Individual Addresses of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_set_additional_ind_addr (int32_t ap, const uint16_t addresses[], uint16_t addresses_len) |
Sets the Additional Individual Addresses of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_get_filter_dest_addr (int32_t ap, bool_t *is_enabled) |
Gets the destination individual address filter setting. More... | |
kdriveExpress_API error_t | kdrive_ap_set_filter_dest_addr (int32_t ap, bool_t enable) |
Enable or disable filter destination individual address for L-Data.ind telegrams. More... | |
kdriveExpress_API error_t | kdrive_ap_get_filter_rf_domain_addr (int32_t ap, bool_t *is_enabled) |
Gets the rf domain adrress filter setting. More... | |
kdriveExpress_API error_t | kdrive_ap_set_filter_rf_domain_addr (int32_t ap, bool_t enable) |
Enable or disable filter rf domain address for L-Data.ind telegrams. More... | |
kdriveExpress_API error_t | kdrive_ap_get_bus_state (int32_t ap, bool_t use_cache, uint32_t *bus_state) |
Reads the current bus state from the interface (use_cache == false) or gets the last status of the knx bus from the cache (use_cache == true). More... | |
kdriveExpress_API error_t | kdrive_ap_get_max_apdu_length (int32_t ap, uint32_t *max_apdu_length) |
Gets the maximum supported apdu length of the Local Device (KNX Interface Device) More... | |
kdriveExpress_API error_t | kdrive_ap_packet_trace_connect (int32_t ap) |
Starts the Packet Trace, for a specific access port. More... | |
kdriveExpress_API error_t | kdrive_ap_packet_trace_disconnect (int32_t ap) |
Stops the Packet Trace. More... | |
kdriveExpress_API error_t | kdrive_ap_set_packet_trace_callback (int32_t ap, kdrive_ap_packet_trace_callback c, void *user_data) |
Sets the packet trace callback function, for a specific access port. More... | |
typedef struct ip_rout_info_t ip_rout_info_t |
Structure holding ip routing information.
typedef struct ip_tunn_dev_t ip_tunn_dev_t |
Structure holding ip tunneling device information.
typedef struct ip_tunn_slot_info_t ip_tunn_slot_info_t |
Structure holding ip tunnling slot information.
typedef void(* kdrive_ap_packet_trace_callback) (const uint8_t telegram[], uint32_t telegram_len, int32_t direction, void *user_data) |
Packet Trace callback function type (pointer to function definition)
[in] | telegram | holds the received telegram, the buffer is temporary |
[in] | telegram_len | indicates the length of the telegram |
[in] | direction | the packet direction: KDRIVE_PACKET_DIR_TX (send) or KDRIVE_PACKET_DIR_RX (received) |
[in] | user_data | pointer to user data or NULL |
typedef void(* kdrive_ap_telegram_callback) (const uint8_t telegram[], uint32_t telegram_len, void *user_data) |
Callback function type (pointer to function definition)
[in] | telegram | holds the received telegram, the buffer is temporary |
[in] | telegram_len | indicates the length of the telegram |
[in] | user_data | pointer to user data or NULL |
Structure holding usb device information.
kdriveExpress_API error_t kdrive_ap_close | ( | int32_t | ap | ) |
Closes the access port If the access port is not open nothing happens.
[in] | ap | the access port descriptor |
kdriveExpress_API int32_t kdrive_ap_create | ( | void | ) |
Creates an internal AccessPort interface This should be the first function called when working with the access library.
It creates a unique access port descriptor which will be passed to all kdrive access functions. When finished, call kdrive_ap_release. If create fails the function returns KDRIVE_INVALID_DESCRIPTOR
kdriveExpress_API error_t kdrive_ap_enable_queue | ( | int32_t | ap, |
bool_t | enabled | ||
) |
Enables/Disables the receive queue for the access port.
[in] | ap | the access port descriptor |
[in] | enabled | true enables the receive queue false disables the queue |
kdriveExpress_API error_t kdrive_ap_enum_ip_rout | ( | int32_t | ap, |
ip_rout_info_t | items[], | ||
uint32_t * | items_length | ||
) |
Scans for all KNX IP Routing devices The items array must exist (should be pre-allocated by the user).
The max size of the array must be passed in as items_length. items_length will be updated to correspond to the length of the found devices. If the array is to small than only the possible values will returned.
[in] | ap | the access port descriptor |
[out] | items | the array of routing information struct items with the found ip routing devices |
[in,out] | items_length | the data array capacity (in) and actual length of the data array (out) |
kdriveExpress_API error_t kdrive_ap_enum_ip_tunn | ( | int32_t | ap, |
ip_tunn_dev_t | items[], | ||
uint32_t * | items_length | ||
) |
Scans for all KNX IP Tunneling Interface devices The items array must exist (should be pre-allocated by the user).
The max size of the array must be passed in as items_length. items_length will be updated to correspond to the length of the found devices. If the array is to small than only the possible values will returned.
[in] | ap | the access port descriptor |
[out] | items | the array of tunneling device struct items with the found ip tunning devices |
[in,out] | items_length | the data array capacity (in) and actual length of the data array (out) |
kdriveExpress_API uint32_t kdrive_ap_enum_usb | ( | int32_t | ap | ) |
Scan for all KNX USB Interface devices.
[in] | ap | the access port descriptor |
kdriveExpress_API error_t kdrive_ap_enum_usb_ex | ( | usb_dev_t | items[], |
uint32_t * | items_length | ||
) |
Scan for all KNX USB Interface devices.
Note: This function also opens and closes a connection to usb interface to read some info e.g. media type, individual address etc. It also list only not already opened usb interfaces. If you do not need this additional informations you could use kdrive_ap_only_enum_usb.
The items array must exist (should be pre-allocated by the user). The max size of the array must be passed in as items_length. items_length will be updated to correspond to the length of the found devices. If the array is to small than only the possible values will returned.
[out] | items | the array of usb device struct items with the found usb devices |
[in,out] | items_length | the data array capacity (in) and actual length of the data array (out) |
kdriveExpress_API error_t kdrive_ap_get_additional_ind_addr | ( | int32_t | ap, |
uint16_t | addresses[], | ||
uint32_t * | addresses_len | ||
) |
Gets the Additional Individual Addresses of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor of a tunneling access port |
[out] | addresses | the array of additional individual addresses |
[in,out] | addresses_len | the array capacity (in) and actual length of the array (out) |
kdriveExpress_API error_t kdrive_ap_get_apci | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint16_t * | apci | ||
) |
Extracts the APCI from the Telegram.
[in] | telegram | the the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
[out] | apci | APCI |
kdriveExpress_API error_t kdrive_ap_get_bus_state | ( | int32_t | ap, |
bool_t | use_cache, | ||
uint32_t * | bus_state | ||
) |
Reads the current bus state from the interface (use_cache == false) or gets the last status of the knx bus from the cache (use_cache == true).
Normally the interface inform the client when the bus state changed.
[in] | ap | the access port descriptor |
[in] | use_cache | read from interface (false) or use last known status (true) |
[out] | bus_state | the current knx bus state (KDRIVE_KNX_BUS_STATE_UNKNOWN, KDRIVE_KNX_BUS_STATE_DISCONNECTED or KDRIVE_KNX_BUS_STATE_CONNECTED) |
kdriveExpress_API error_t kdrive_ap_get_data_sec | ( | int32_t | ap, |
enum data_sec_t * | dataSec | ||
) |
Get the Data Security usage of the access point.
It can be: KDRIVE_ACCESS_DATA_SEC_OFF = 0x00 KDRIVE_ACCESS_DATA_SEC_ON = 0x01 KDRIVE_ACCESS_DATA_SEC_AUTO = 0xFF
[in] | ap | the access port descriptor |
[out] | dataSec | current Data Security usage |
kdriveExpress_API error_t kdrive_ap_get_dest | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint16_t * | address | ||
) |
Extracts the Destination Address from the Telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
[out] | address | the destination address |
kdriveExpress_API error_t kdrive_ap_get_filter_dest_addr | ( | int32_t | ap, |
bool_t * | is_enabled | ||
) |
Gets the destination individual address filter setting.
The default is 1 (filter is enabled).
[in] | ap | the access port descriptor of a FT1.2 or routing access port |
[out] | is_enabled | 1 if filter is enabled or 0 otherwise |
kdriveExpress_API error_t kdrive_ap_get_filter_rf_domain_addr | ( | int32_t | ap, |
bool_t * | is_enabled | ||
) |
Gets the rf domain adrress filter setting.
The default is 1 (filter is enabled).
[in] | ap | the access port descriptor |
[out] | is_enabled | 1 if filter is enabled or 0 otherwise |
kdriveExpress_API error_t kdrive_ap_get_group_data | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint8_t * | data, | ||
uint32_t * | data_len | ||
) |
Extracts the Group Value data from the KNX telegram.
If the telegram is not a GroupValue_Write or GroupValue_Response telegram an Invalid Telegram error is returned. The data buffer should be large enough to hold the data from the telegram. This length is checked against the length held in the telegram and if insufficient an Access Port Error is returned (Buffer Overflow).
[in] | telegram | the KNX Telegram (Group Value Telegram) |
[in] | telegram_len | the length of the telegram |
[out] | data | The data buffer |
[in,out] | data_len | the data buffer capacity (in) and actual length of the data buffer (out) |
kdriveExpress_API error_t kdrive_ap_get_ind_addr | ( | int32_t | ap, |
uint16_t * | address | ||
) |
Gets the Individual Address of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[out] | address | the individual address of the local device |
kdriveExpress_API error_t kdrive_ap_get_ip_tunn_user_id | ( | int32_t | ap, |
uint8_t * | user_id | ||
) |
Gets the security user id for the KNXnet/IP tunneling connection.
[in] | ap | the access port descriptor |
[out] | user_id | the security user id of the local device |
kdriveExpress_API error_t kdrive_ap_get_layer | ( | int32_t | ap, |
uint16_t * | layer | ||
) |
Gets the Layer of the Local Device (KNX Interface Device) The default value is Link Layer.
[in] | ap | the access port descriptor |
[out] | layer | the KNX layer of the local device |
kdriveExpress_API error_t kdrive_ap_get_max_apdu_length | ( | int32_t | ap, |
uint32_t * | max_apdu_length | ||
) |
Gets the maximum supported apdu length of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[out] | max_apdu_length | the maximum apdu length from the interface |
kdriveExpress_API error_t kdrive_ap_get_message_code | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint8_t * | message_code | ||
) |
Extracts the Message Code from the Telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
[out] | message_code | the Message Code |
kdriveExpress_API error_t kdrive_ap_get_rf_domain_addr | ( | int32_t | ap, |
uint8_t | da[KDRIVE_DA_LEN] | ||
) |
Gets the Domain Address of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[out] | da | the domain address of the local device |
kdriveExpress_API error_t kdrive_ap_get_serial_no | ( | int32_t | ap, |
uint8_t | sn[KDRIVE_SN_LEN] | ||
) |
Gets the Serial Number of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[out] | sn | the serial number of the local device |
kdriveExpress_API error_t kdrive_ap_get_serial_number | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint8_t | sn[KDRIVE_SN_LEN] | ||
) |
Extracts the Serial Number from the Additional Info (if available) This is extracted from the Additional Info field i.e.
for KNX-RF telegrams
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
[out] | sn | the Serial Number |
kdriveExpress_API error_t kdrive_ap_get_src | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
uint16_t * | address | ||
) |
Extracts the Source Address from the Telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
[out] | address | the source address |
kdriveExpress_API error_t kdrive_ap_get_tunnel_ind_addr | ( | int32_t | ap, |
uint16_t * | address | ||
) |
Gets the used Individual Address of the tunnel connection (KNX Interface Device).
This address is the device address PID_KNX_INDIVIDUAL_ADDRESS or a additional individual address PID_ADDITIONAL_INDIVIDUAL_ADDRESSES (normal case). The interface communicates it at the connecting procedure. So if somebody changed the additional individual addresses than this value is not up to data!
[in] | ap | the access port descriptor of a tunneling access port |
[out] | address | the used individual address for the tunnel |
kdriveExpress_API error_t kdrive_ap_group_read | ( | int32_t | ap, |
uint16_t | address | ||
) |
Sends a GroupValue_Read Telegram on the Access Port This function does not wait for a GroupValue_Response telegram.
[in] | ap | the access port descriptor |
[in] | address | is the Group Address (destination) |
kdriveExpress_API error_t kdrive_ap_group_response | ( | int32_t | ap, |
uint16_t | address, | ||
const uint8_t * | value, | ||
uint32_t | bits | ||
) |
Sends a GroupValue_Response Telegram.
[in] | ap | the access port descriptor |
[in] | address | is the Group Address (destination) |
[in] | value | is the datapoint value to be sent |
[in] | bits | respresents the length of the datapoint value, in bits |
kdriveExpress_API error_t kdrive_ap_group_write | ( | int32_t | ap, |
uint16_t | address, | ||
const uint8_t * | value, | ||
uint32_t | bits | ||
) |
Sends a GroupValue_Write Telegram The length is specified in bits to enable values less than one byte to be sent (i.e.
1 bit boolean) etc.
[in] | ap | the access port descriptor |
[in] | address | is the Group Address (destination) |
[in] | value | is the datapoint value to be sent |
[in] | bits | respresents the length of the datapoint value, in bits |
kdriveExpress_API error_t kdrive_ap_is_compressed_group_data | ( | const uint8_t | telegram[], |
uint32_t | telegram_len, | ||
bool_t * | is_commpressed | ||
) |
Determines if the group value size is compressed (6 bits or less).
If the telegram is not a GroupValue_Write or GroupValue_Response telegram an Invalid Telegram error is returned.
[in] | telegram | the KNX Telegram (Group Value Telegram) |
[in] | telegram_len | the length of the telegram |
[out] | is_commpressed | 1 : compressed (6 bits or less) or 0 : not compressed (>= 1 byte) |
kdriveExpress_API bool_t kdrive_ap_is_data_sec | ( | const uint8_t | telegram[], |
uint32_t | telegram_len | ||
) |
Check if the telegram is a data secure one.
[in] | telegram | the KNX Telegram |
[in] | telegram_len | the length of the telegram |
kdriveExpress_API bool_t kdrive_ap_is_group | ( | const uint8_t | telegram[], |
uint32_t | telegram_len | ||
) |
Determines if the specified telegram is a GroupValue telegram This is, one of GroupValue_Read, GroupValue_Write or GroupValue_Response.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
kdriveExpress_API bool_t kdrive_ap_is_group_read | ( | const uint8_t | telegram[], |
uint32_t | telegram_len | ||
) |
Determines if the specified telegram is a GroupValue_Read telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
kdriveExpress_API bool_t kdrive_ap_is_group_response | ( | const uint8_t | telegram[], |
uint32_t | telegram_len | ||
) |
Determines if the specified telegram is a GroupValue_Response telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
kdriveExpress_API bool_t kdrive_ap_is_group_write | ( | const uint8_t | telegram[], |
uint32_t | telegram_len | ||
) |
Determines if the specified telegram is a GroupValue_Write telegram.
[in] | telegram | the KNX telegram |
[in] | telegram_len | the length of the KNX telegram |
kdriveExpress_API error_t kdrive_ap_is_ip_rout_secure | ( | int32_t | ap, |
bool_t * | secured | ||
) |
Only has works for knxnet ip routing ports, returns if security is enabled or not.
[in] | ap | the (routing) access port descriptor |
[out] | secured | is security enabled or disabled for routing port |
kdriveExpress_API error_t kdrive_ap_is_ip_tunn_secure | ( | int32_t | ap, |
bool_t * | secured | ||
) |
Only has works for knxnet ip tunneling ports, returns if security is enabled or not.
[in] | ap | the (tunneling) access port descriptor |
[out] | secured | is security used for tunning port |
kdriveExpress_API bool_t kdrive_ap_is_open | ( | int32_t | ap | ) |
Returns whether the access port is open.
[in] | ap | the access port descriptor |
kdriveExpress_API error_t kdrive_ap_only_enum_usb | ( | usb_dev_t | items[], |
uint32_t * | items_length | ||
) |
Scan for all KNX USB Interface devices.
This function does not open a connection to the usb interface so also already opened devices are seen but some information like media type and individual address is not available (set to 0). When you need this information see kdrive_ap_enum_usb_ex.
Note: usb_dev_t.ind_addr and usb_dev_t.media_tytes are not read so the are not valid!
The items array must exist (should be pre-allocated by the user). The max size of the array must be passed in as items_length. items_length will be updated to correspond to the length of the found devices. If the array is to small than only the possible values will returned.
[out] | items | the array of usb device struct items with the found usb devices |
[in,out] | items_length | the data array capacity (in) and actual length of the data array (out) |
kdriveExpress_API error_t kdrive_ap_open_ip | ( | int32_t | ap, |
const char * | ip_address | ||
) |
Call it with iface_address=0.
Opens a connection to a KNX IP Tunneling Interface device on default network interface
[in] | ap | the access port descriptor |
[in] | ip_address | The IP Address and (optional) the port which is separated by a colon. When the port is not set then the default port for KNXnet/IP (3671) is used e.g. "192.168.1.47" "192.168.1.47:3671" |
kdriveExpress_API error_t kdrive_ap_open_ip_ex | ( | int32_t | ap, |
const char * | ip_address, | ||
const char * | iface_address | ||
) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface or default network interface
[in] | ap | the access port descriptor |
[in] | ip_address | The IP Address and (optional) the port which is separated by a colon. When the port is not set then the default port for KNXnet/IP (3671) is used e.g. "192.168.1.47" "192.168.1.47:3671" |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
kdriveExpress_API error_t kdrive_ap_open_ip_nat | ( | int32_t | ap, |
const char * | ip_address, | ||
const char * | iface_address | ||
) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface in Network Address Translation (NAT) mode.
[in] | ap | the access port descriptor |
[in] | ip_address | The IP Address and (optional) the port which is separated by a colon. When the port is not set then the default port for KNXnet/IP (3671) is used e.g. "192.168.1.47" "192.168.1.47:3671" |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
kdriveExpress_API error_t kdrive_ap_open_ip_rout | ( | int32_t | ap, |
const char * | multicast_address, | ||
const char * | iface_address, | ||
bool_t | secured | ||
) |
Creates an KNXnet/IP Routing access port.
When is_secure is true then backbone key must set before open.
or via keyring file
[in] | ap | the access port descriptor |
[in] | multicast_address | (optional) The Multicast IP Address When the multicast_address = 0 (null pointer) then the default KNXnet/IP multicast address is used (224.0.23.12) |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
[in] | secured | with (1) or without encrypted comunication (0) |
kdriveExpress_API error_t kdrive_ap_open_ip_tunn | ( | int32_t | ap, |
const char * | ip_address, | ||
uint16_t | port, | ||
const char * | iface_address | ||
) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface or default network interface.
Interfaces which supports this protocol: all KNX conform KNXnet/IP Tunneling interfaces e.g. Weinzierl KNX IP Interface 730/731/732 e.g. Weinzierl KNX IP Interface 740 Wireless e.g. Weinzierl KNX IP Router 750/751/752 e.g. Weinzierl KNX IP LineMaster 760/762 e.g. Weinzierl KNX IP BAOS 770/771/772/773/774/777
When a secure KNX IP Tunneling device is used then user id, password and authentication code (optional) must set before open.
or via keyring file
For use a given tunneling individual address set it with
[in] | ap | the access port descriptor |
[in] | ip_address | the IP Address |
[in] | port | (optional) the server port. When the port is 0 then the default port for KNXnet/IP (3671) is used |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
kdriveExpress_API error_t kdrive_ap_open_ip_tunn_nat | ( | int32_t | ap, |
const char * | ip_address, | ||
uint16_t | port, | ||
const char * | iface_address | ||
) |
Opens a connection to a KNX IP Tunneling Interface device on a specific network interface in Network Address Translation (NAT) mode.
[in] | ap | the access port descriptor |
[in] | ip_address | the IP Address |
[in] | port | (optional) the server port. When the port is 0 then the default port for KNXnet/IP (3671) is used |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
kdriveExpress_API error_t kdrive_ap_open_serial_ft12 | ( | int32_t | ap, |
const char * | serial_device | ||
) |
Opens a connection to a KNX FT1.2 serial interface.
Interfaces which supports this protocol: all KNX conform FT1.2 serial interfaces e.g. Weinzierl KNX Serial BAOS 870 e.g. Weinzierl KNX BAOS Module 820/822/830/838
[in] | ap | the access port descriptor |
[in] | serial_device | is the device where the interface is attached, i.e. COM1 or /dev/ttyS0 etc |
kdriveExpress_API error_t kdrive_ap_open_tiny_serial | ( | int32_t | ap, |
const char * | serial_device | ||
) |
Opens a connection to the KNX Tiny Serial Interface 810.
This is a modified TP-UART Protocol without real-time requirements to the host
Interfaces which supports this protocol: Weinzierl KNX Tiny Serial Interface 810
[in] | ap | the access port descriptor |
[in] | serial_device | is the device where the interface is attached, i.e. COM1 or /dev/ttyS0 etc |
kdriveExpress_API error_t kdrive_ap_open_usb | ( | int32_t | ap, |
uint32_t | iface_index | ||
) |
Opens a connection to a KNX USB Interface device iface_index should be in the range 0..iface_count-1 where iface_count is > 0.
Interfaces which supports this protocol: all KNX conform USB interfaces e.g. Weinzierl KNX USB Interface 310/311/320/330
[in] | ap | the access port descriptor |
[in] | iface_index | the interface device enumeration index |
kdriveExpress_API error_t kdrive_ap_packet_trace_connect | ( | int32_t | ap | ) |
Starts the Packet Trace, for a specific access port.
When no packet trace callback was set (the default) then it write Rx and Tx packets to the logger (level: information), otherwise it calls the callback function. precondition: the access port is open
[in] | ap | the access port descriptor |
kdriveExpress_API error_t kdrive_ap_packet_trace_disconnect | ( | int32_t | ap | ) |
Stops the Packet Trace.
[in] | ap | the access port descriptor |
kdriveExpress_API uint32_t kdrive_ap_read_group_object | ( | int32_t | ap, |
uint16_t | address, | ||
uint8_t | telegram[], | ||
uint32_t | telegram_len, | ||
uint32_t | timeout | ||
) |
Sends a GroupValue_Read Telegram on the Access Port and waits for a GroupValue_Response indication telegram (with a matching Group Address).
If the response telegram has been received you can use kdrive_ap_get_group_data to get the response data. This function waits until either a telegram is received or the timeout elapses. If the timeout elapses the number of bytes returned is 0. On receipt of a matching GroupValue_Response telegram indication the corresponding telegram length is returned.
[in] | ap | the access port descriptor |
[in] | address | is the Group Address (destination) |
[out] | telegram | buffer to hold the inbound telegram |
[in] | telegram_len | As an input this holds the size of the telegram buffer |
[in] | timeout | The time period to wait in milliseconds for the response to arrive |
kdriveExpress_API error_t kdrive_ap_read_ip_tunn_device_info | ( | int32_t | ap, |
const char * | ip_address, | ||
uint16_t | port, | ||
const char * | iface_address, | ||
ip_tunn_dev_t * | device_info | ||
) |
Gets the information for one specific tunneling device.
[in] | ap | the access port descriptor |
[in] | ip_address | the IP Address |
[in] | port | (optional) the server port. When the port is 0 then the default port for KNXnet/IP (3671) is used |
[in] | iface_address | (optional) The Interface Adaptor IP Address If iface_address = 0 (null pointer) then the default network interface is used |
[out] | device_info | tunneling device struct item of the IP device |
kdriveExpress_API uint32_t kdrive_ap_receive | ( | int32_t | ap, |
uint8_t | telegram[], | ||
uint32_t | telegram_len, | ||
uint32_t | timeout | ||
) |
Waits for an inbound KNX telegram and (if received) copies the data into the telegram buffer.
This function waits until either a telegram is received or the timeout elapses. If the timeout elapses the number of bytes returned is 0. On receipt of a telegram the corresponding telegram length is returned.
[in] | ap | the access port descriptor |
[out] | telegram | buffer to hold the inbound telegram |
[in,out] | telegram_len | As an input this holds the size of the telegram buffer and as output the length of the received telegram |
[in] | timeout | The time period to wait in milliseconds for a telegram to arrive |
kdriveExpress_API error_t kdrive_ap_register_sec_telegram_callback | ( | int32_t | ap, |
kdrive_ap_telegram_callback | c, | ||
void * | user_data, | ||
uint32_t * | key | ||
) |
Registers a callback function.
This callback function will be called when a secure telegram is received by the Access Port. A notification thread is used internally so this callback will be in the context of the notification thread (and not the main thread). That is, care should be taken when calling out from the callback. This function generates a unique key to represent the callback. This key can be used to remove the callback at a later state.
[in] | ap | the access port descriptor |
[in] | c | the telegram callback pointer to function |
[in] | user_data | (optional) pointer to user data |
[out] | key | is set as a unique internal handle representing the callback function and can be used to remove the callback |
kdriveExpress_API error_t kdrive_ap_register_telegram_callback | ( | int32_t | ap, |
kdrive_ap_telegram_callback | c, | ||
void * | user_data, | ||
uint32_t * | key | ||
) |
Registers a callback function.
This callback function will be called when a telegram is received by the Access Port. A notification thread is used internally so this callback will be in the context of the notification thread (and not the main thread). That is, care should be taken when calling out from the callback. This function generates a unique key to represent the callback. This key can be used to remove the callback at a later state.
[in] | ap | the access port descriptor |
[in] | c | the telegram callback pointer to function |
[in] | user_data | (optional) pointer to user data |
[out] | key | is set as a unique internal handle representing the callback function and can be used to remove the callback |
kdriveExpress_API bool_t kdrive_ap_release | ( | int32_t | ap | ) |
Releases the AccessPort interface.
This should be the last function called when working with the access library. Returns true if successfully released false otherwise (i.e. the descriptor wasn't found).
[in] | ap | the access port descriptor |
kdriveExpress_API error_t kdrive_ap_remove_telegram_callback | ( | int32_t | ap, |
uint32_t | key | ||
) |
Removes (de-registers) a telegram callback.
[in] | ap | the access port descriptor |
[in] | key | is the key returned from kdrive_ap_register_telegram_callback |
kdriveExpress_API error_t kdrive_ap_send | ( | int32_t | ap, |
const uint8_t | telegram[], | ||
uint32_t | telegram_len | ||
) |
Sends a KNX Telegram on the Access Port.
[in] | ap | the access port descriptor |
[in] | telegram | is the EMIC encoded KNX Telegram |
[in] | telegram_len | indicates the length of the telegram |
kdriveExpress_API error_t kdrive_ap_set_additional_ind_addr | ( | int32_t | ap, |
const uint16_t | addresses[], | ||
uint16_t | addresses_len | ||
) |
Sets the Additional Individual Addresses of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor of a tunneling access port |
[out] | addresses | the array of additional individual addresses |
[in] | addresses_len | the array length |
kdriveExpress_API error_t kdrive_ap_set_data_sec | ( | int32_t | ap, |
enum data_sec_t | dataSec | ||
) |
Set the Data Security of the access point.
It can be set to: KDRIVE_ACCESS_DATA_SEC_OFF = 0x00 KDRIVE_ACCESS_DATA_SEC_ON = 0x01 KDRIVE_ACCESS_DATA_SEC_AUTO = 0xFF
[in] | ap | the access port descriptor |
[in] | dataSec | Data Security usage to set |
kdriveExpress_API error_t kdrive_ap_set_data_sec_device_seq_num | ( | int32_t | ap, |
uint16_t | address, | ||
const uint8_t | seq_num[6] | ||
) |
Set the sequence number of a device.
[in] | ap | the access port descriptor |
[in] | address | individual address of the device |
[in] | seq_num | the sequence number of the device |
kdriveExpress_API error_t kdrive_ap_set_data_sec_own_seq_num | ( | int32_t | ap, |
const uint8_t | seq_num[6] | ||
) |
Set the own sending sequence number.
[in] | ap | the access port descriptor |
[in] | seq_num | own sending sequence number |
kdriveExpress_API error_t kdrive_ap_set_filter_dest_addr | ( | int32_t | ap, |
bool_t | enable | ||
) |
Enable or disable filter destination individual address for L-Data.ind telegrams.
If enabled (=1) than individual addressed telegrams for other destinations will not route. Only available for Weinzierl cEMI FT1.2 Interface. The other interfaces filter the individual address already self in the link layer.
[in] | ap | the access port descriptor of a FT1.2 or routing access port |
[in] | enable | enable (1) or disable (0) the filter |
kdriveExpress_API error_t kdrive_ap_set_filter_rf_domain_addr | ( | int32_t | ap, |
bool_t | enable | ||
) |
Enable or disable filter rf domain address for L-Data.ind telegrams.
If enabled (=1) than telegrams for other domains will not route. Only available, if medium of interface is RF. If it has a other medium nothing happens.
[in] | ap | the access port descriptor |
[in] | enable | enable (1) or disable (0) the filter |
kdriveExpress_API error_t kdrive_ap_set_ind_addr | ( | int32_t | ap, |
uint16_t | address | ||
) |
Sets the Individual Address of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[in] | address | the individual address of the local device |
kdriveExpress_API error_t kdrive_ap_set_ip_rout_backbone_key | ( | int32_t | ap, |
const char * | key | ||
) |
Sets the backbone key for the KNXnet/IP routing connection.
[in] | ap | the access port descriptor |
[in] | key | the backbone key of the local device as hex string |
kdriveExpress_API error_t kdrive_ap_set_ip_tunn_auth_code | ( | int32_t | ap, |
const char * | authentication_code | ||
) |
Sets the optional authentication code for the KNXnet/IP tunneling connection.
This function is used only for secure KNXnet/IP devices. Call this before open the connection. The default value is an empty string.
[in] | ap | the access port descriptor |
[in] | authentication_code | the authentication code of the local device, an empty string means that no validation of the auth code will be done |
kdriveExpress_API error_t kdrive_ap_set_ip_tunn_credentials | ( | int32_t | ap, |
uint8_t | user_id, | ||
const char * | password | ||
) |
Sets the user id and the security password for the KNXnet/IP tunneling connection.
This function is used for secure KNXnet/IP devices. Call this before opening the connection.
[in] | ap | the (tunneling) access port descriptor |
[in] | user_id | the security user id of the local device |
[in] | password | the security password of the local device |
kdriveExpress_API error_t kdrive_ap_set_ip_tunn_requested_ia | ( | int32_t | ap, |
uint16_t | address | ||
) |
Sets the (optional) requested individual address This function is used for KNXnet/IP v2 devices.
The default value is 0 ( = considered any). Call this before opening the connection.
[in] | ap | the (tunneling) access port descriptor |
[in] | address | the individual address of the tunnel to open 0.0.0 is considered any |
kdriveExpress_API error_t kdrive_ap_set_ip_tunn_user_id | ( | int32_t | ap, |
uint8_t | user_id | ||
) |
Sets the security user id for the KNXnet/IP tunneling connection.
This function is used for secure KNXnet/IP devices. Call this before opening the connection. The default value is 1.
[in] | ap | the access port descriptor |
[in] | user_id | the security user id of the local device |
kdriveExpress_API error_t kdrive_ap_set_keyring | ( | int32_t | ap, |
int32_t | keyring | ||
) |
Sets the used knx keyring project.
Use 0 when you want remove it
[in] | ap | the access port descriptor |
[in] | keyring | the keyring project descriptor |
kdriveExpress_API error_t kdrive_ap_set_layer | ( | int32_t | ap, |
uint16_t | layer | ||
) |
Sets the Layer of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[in] | layer | the KNX layer of the local device KDRIVE_LAYER_LINK, KDRIVE_LAYER_BUSMON or KDRIVE_LAYER_RAW |
kdriveExpress_API error_t kdrive_ap_set_packet_trace_callback | ( | int32_t | ap, |
kdrive_ap_packet_trace_callback | c, | ||
void * | user_data | ||
) |
Sets the packet trace callback function, for a specific access port.
This callback function will be called when a packet rx or tx by the Access Port. A notification thread is used internally so this callback will be in the context of the notification thread (and not the main thread). That is, care should be taken when calling out from the callback. There can only be one callback per access port. To remove the callback add an empty callback (0).
[in] | ap | the access port descriptor |
[in] | c | the packet trace callback pointer to function |
[in] | user_data | (optional) pointer to user data |
kdriveExpress_API error_t kdrive_ap_set_rf_domain_addr | ( | int32_t | ap, |
const uint8_t | da[KDRIVE_DA_LEN] | ||
) |
Sets the Domain Address of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[in] | da | the new domain address of the local device |
kdriveExpress_API error_t kdrive_ap_set_serial_no | ( | int32_t | ap, |
const uint8_t | sn[KDRIVE_SN_LEN] | ||
) |
Sets the Serial Number of the Local Device (KNX Interface Device)
[in] | ap | the access port descriptor |
[in] | sn | the new serial number of the local device |
kdriveExpress_API error_t kdrive_ap_set_tunnel_ind_addr | ( | int32_t | ap, |
uint16_t | address | ||
) |
Sets the used Individual Address of the tunnel connection (KNX Interface Device).
Returns an error, if it can not changed because for the tunnel address is the device individual address used.
[in] | ap | the access port descriptor of a tunneling access port |
[in] | address | the individual address of the tunnel |