kdriveExpress SDK 23.2.0
kdrive_express_error.h File Reference

Go to the source code of this file.

Macros

#define KDRIVE_ERROR_NONE   (0x0000)
 No Error, Everything OK. More...
 
#define KDRIVE_UNKNOWN_ERROR   (0x0001)
 Unknown Error Condition. More...
 
#define KDRIVE_POCO_ERROR   (0x0002)
 Error from the POCO Libraries. More...
 
#define KDRIVE_TIMEOUT_ERROR   (0x0003)
 Timeout. More...
 
#define KDRIVE_SOCKET_ERROR   (0x0004)
 Socket Error. More...
 
#define KDRIVE_UNSUPPORTED_DEVICE_ERROR   (0x0005)
 The Interface Device is not a kdriveExpress supported Device. More...
 
#define KDRIVE_BUFFER_TOO_SMALL_ERROR   (0x0006)
 The data buffer is too small to receive copied data. More...
 
#define KDRIVE_AP_DESCRIPTOR_NOT_FOUND_ERROR   (0x0007)
 The access port descriptor wasn't found. More...
 
#define KDRIVE_SP_DESCRIPTOR_NOT_FOUND_ERROR   (0x0008)
 The service port descriptor wasn't found. More...
 
#define KDRIVE_UNSUPPORTED_ERROR   (0x0009)
 The service or function is not supported. More...
 
#define KDRIVE_INVALID_LICENSE_ERROR   (0x000A)
 The license is invalid. More...
 
#define KDRIVE_OBJSER_DESCRIPTOR_NOT_FOUND_ERROR   (0x000B)
 The object server descriptor wasn't found. More...
 
#define KDRIVE_GODIAG_DESCRIPTOR_NOT_FOUND_ERROR   (0x000D)
 The group object descriptor wasn't found. More...
 
#define KDRIVE_RANGE_ERROR   (0x000E)
 Out of range. More...
 
#define KDRIVE_DATA_FORMAT_ERROR   (0x000F)
 Bad data format. More...
 
#define KDRIVE_KEYRING_DESCRIPTOR_NOT_FOUND_ERROR   (0x0010)
 The keyring project descriptor wasn't found. More...
 
#define KDRIVE_AP_ACCESS_PORT_ERROR   (0x1000)
 kdriveAccess error More...
 
#define KDRIVE_AP_NOT_FOUND_AVAILABLE_PORTS_ERROR   (0x1001)
 There are no available access ports. More...
 
#define KDRIVE_AP_PORT_NOT_OPEN_ERROR   (0x1002)
 The port is not open. More...
 
#define KDRIVE_AP_UNSUPPORTED_PORT_TYPE_ERROR   (0x1003)
 The port type is not supported. More...
 
#define KDRIVE_AP_UNSUPPORTED_PROTOCOL_ERROR   (0x1004)
 The protocol is not supported. More...
 
#define KDRIVE_AP_UNSUPPORTED_LAYER_ERROR   (0x1005)
 The layer is not supported. More...
 
#define KDRIVE_AP_PROTOCOL_WRITE_VALIDATION_ERROR   (0x1006)
 Protocol write validation failed. More...
 
#define KDRIVE_AP_LDM_MGMT_PROPERTY_ERROR   (0x1007)
 The local device mangement property is not supported. More...
 
#define KDRIVE_AP_LDM_WRITE_ERROR   (0x1008)
 Write local device management falied. More...
 
#define KDRIVE_AP_NO_RESPONSE_LOCAL_DEVICE_ERROR   (0x1009)
 No response from local device. More...
 
#define KDRIVE_AP_L_DATA_CONFIRM_TIMEOUT_ERROR   (0x100A)
 L_Data.con timeout. More...
 
#define KDRIVE_AP_KNX_NET_IP_ERROR   (0x100B)
 KNXnet/IP exception. More...
 
#define KDRIVE_AP_HOST_PROTOCOL_TYPE_ERROR   (0x100C)
 The requested host protocol is not supported. More...
 
#define KDRIVE_AP_VERSION_NOT_SUPPORTED_ERROR   (0x100D)
 The requested protocol version is not supported. More...
 
#define KDRIVE_AP_SEQUENCE_NUMBER_ERROR   (0x100E)
 The received sequence number is out of order. More...
 
#define KDRIVE_AP_CONNECTION_TYPE_ERROR   (0x100F)
 The device does not support the requested connection type. More...
 
#define KDRIVE_AP_CONNECTION_OPTION_ERROR   (0x1010)
 The device does not support one or more requested connection options. More...
 
#define KDRIVE_AP_NO_MORE_CONNECTIONS_ERROR   (0x1011)
 Device can not open any more connections. More...
 
#define KDRIVE_AP_TUNNELING_LAYER_ERROR   (0x1012)
 The device does not support the requested tunneling layer. More...
 
#define KDRIVE_AP_CONNECTION_ID_ERROR   (0x1013)
 The device cannot find an active data connection with the specified ID. More...
 
#define KDRIVE_AP_DATA_CONNECTION_ERROR   (0x1014)
 The device detects an error concerning the data connection with the specified ID. More...
 
#define KDRIVE_AP_KNX_CONNECTION_ERROR   (0x1015)
 No connection to the KNX bus. More...
 
#define KDRIVE_AP_INVALID_TELEGRAM_ERROR   (0x1016)
 Invalid Telegram. More...
 
#define KDRIVE_AP_TELEGRAM_TIMEOUT_ERROR   (0x1017)
 Telegram timeout. More...
 
#define KDRIVE_AP_NO_PREFERRED_PROTOCOL_FOUND_ERROR   (0x1023)
 0x1018 to 0x1022 are reserved. More...
 
#define KDRIVE_AP_NO_PREFERRED_LAYER_FOUND_ERROR   (0x1024)
 No prefered layer found. More...
 
#define KDRIVE_AP_PROTOCOL_NOT_SET_ERROR   (0x1025)
 The protocol is not set. More...
 
#define KDRIVE_AP_INTERFACE_NOT_SET_ERROR   (0x1026)
 The interface is not connected. More...
 
#define KDRIVE_AP_NO_MORE_UNIQUE_CONNECTIONS_ERROR   (0x1027)
 Device has no more now unique additional addresses. More...
 
#define KDRIVE_AP_AUTHORISATION_ERROR   (0x1028)
 The client is not authorized to use the requested individual address. More...
 
#define KDRIVE_AP_TUNNELLING_ADDRESS_ERROR   (0x1029)
 The requested individual address is not a tunneling individual address. More...
 
#define KDRIVE_AP_CONNECTION_IN_USE_ERROR   (0x102A)
 The requested individual address is in use. More...
 
#define KDRIVE_AP_AUTHENTICATION_CODE_INVALID_ERROR   (0x102B)
 The device authentication code is invalid. More...
 
#define KDRIVE_AP_AUTHENTICATION_FAILED_ERROR   (0x102C)
 Authentication failed. More...
 
#define KDRIVE_AP_RAW_CONFIRM_TIMEOUT_ERROR   (0x10F0)
 L_Raw.con timeout. More...
 
#define KDRIVE_SP_SERVICES_ERROR   (0x2000)
 kdriveServices error More...
 
#define KDRIVE_SP_UNKNOWN_SERVICE_TYPE_ERROR   (0x2001)
 Unknown service type. More...
 
#define KDRIVE_SP_SERVICE_PORT_NOT_SET_ERROR   (0x2002)
 Service port has not been set
More...
 
#define KDRIVE_SP_OPERATION_CANCELLED_ERROR   (0x2003)
 Service operation was canceled
More...
 
#define KDRIVE_SP_NEGATIVE_CONFIRM_ERROR   (0x2004)
 
#define KDRIVE_SP_NO_RESPONSE_FROM_DEVICE_ERROR   (0x2004) /*!* No response from device */
 
#define KDRIVE_SP_INVALID_INPUT_PARAMETER_ERROR   (0x2005)
 Invalid service input parameter. More...
 
#define KDRIVE_SP_DEVICE_ERROR   (0x2006)
 Device error (valid response but invalid data) More...
 
#define KDRIVE_SP_OBJECT_TYPE_NOT_SUPPORTED_ERROR   (0x2007)
 Object Type not supported
More...
 
#define KDRIVE_SP_PROPERTY_ID_NOT_SUPPORTED_ERROR   (0x2008)
 Property Id not supported
More...
 
#define KDRIVE_SP_NO_DEVICE_IN_PROG_MODE_ERROR   (0x2009)
 No devices were found in programming mode (expected 1)
More...
 
#define KDRIVE_SP_MORE_DEVICES_IN_PROG_MODE_ERROR   (0x200A)
 Too many devices were found in programming mode (expected 1)
More...
 
#define KDRIVE_SP_WRITE_IND_ADDR_FAILED_ERROR   (0x200B)
 Individual address write failed
More...
 
#define KDRIVE_SP_WRITE_DOMAIN_ADDR_FAILED_ERROR   (0x200C)
 Domain address write failed
More...
 
#define KDRIVE_SP_ACCESS_PORT_NOT_SET_ERROR   (0x200D)
 The Access Port has not been set in the Service Port
More...
 
#define KDRIVE_SP_NEGATIVE_RESPONSE_ERROR   (0x200E)
 Negative response from device (valid response received) More...
 
#define KDRIVE_SP_IND_ADDR_ALREADY_USED_ERROR   (0x2011)
 Individual Address is already used by another device. More...
 
#define KDRIVE_SP_DEVICE_PROTECTED_ERROR   (0x2020)
 NegativeResponse: The device is protected (=MaskVersion is 0xFFFF) and no valid key is known. More...
 
#define KDRIVE_SP_MEMORY_ERROR   (0x20A1)
 NegativeResponse: Memory error. More...
 
#define KDRIVE_SP_COMMAND_INVALID_ERROR   (0x20A2)
 NegativeResponse: Command invalid. More...
 
#define KDRIVE_SP_COMMAND_IMPOSSIBLE_ERROR   (0x20A3)
 NegativeResponse: Command impossible. More...
 
#define KDRIVE_SP_LENGTH_EXCEEDS_MAX_APDU_ERROR   (0x20A4)
 NegativeResponse: Device capabilities. More...
 
#define KDRIVE_SP_DATA_OVERFLOW_ERROR   (0x20A5)
 NegativeResponse: Data overflow. More...
 
#define KDRIVE_SP_DATA_MIN_ERROR   (0x20A6)
 NegativeResponse: Out of MinRange. More...
 
#define KDRIVE_SP_DATA_MAX_ERROR   (0x20A7)
 NegativeResponse: Out of MaxRange. More...
 
#define KDRIVE_SP_DATA_VOID_ERROR   (0x20A8)
 NegativeResponse: Void data. More...
 
#define KDRIVE_SP_TEMPORARILY_NOT_AVAILABLE_ERROR   (0x20A9)
 NegativeResponse: Temporarily not available. More...
 
#define KDRIVE_SP_ACCESS_WRITE_ONLY_ERROR   (0x20AA)
 NegativeResponse: Write only. More...
 
#define KDRIVE_SP_ACCESS_READ_ONLY_ERROR   (0x20AB)
 NegativeResponse: Read only. More...
 
#define KDRIVE_SP_ACCESS_DENIED_ERROR   (0x20AC)
 NegativeResponse: Access denied. More...
 
#define KDRIVE_SP_ADDRESS_VOID_ERROR   (0x20AD)
 NegativeResponse: Void address. More...
 
#define KDRIVE_SP_DATA_TYPE_CONFLICT_ERROR   (0x20AE)
 NegativeResponse: Data type conflict. More...
 
#define KDRIVE_SP_UNSUPPORTED_ERASE_CODE_ERROR   (0x2100)
 RESERVED FOR NegativeResponse: (for resart type 1 service) Unsupported erase code. More...
 
#define KDRIVE_SP_INVALID_CHANNEL_ERROR   (0x2101)
 RESERVED FOR NegativeResponse: (for resart type 1 service) Invalid channel. More...
 
#define KDRIVE_KER_PROTOCOL_ERROR   (0x3000) /*!* kdriveKernel error */
 
#define KDRIVE_KER_REPEATED_ERROR   (0x3001) /*!* Telegram Repeated */
 
#define KDRIVE_KER_SEQUENCE_NUMBER_ERROR   (0x3002) /*!* Sequence Number Error */
 
#define KDRIVE_KER_IGNORED_ERROR   (0x3003) /*!* Telegram Ignored */
 
#define KDRIVE_KER_DISCONNECTED_ERROR   (0x3004) /*!* Connection Disconnected */
 
#define KDRIVE_KER_REJECTED_ERROR   (0x3005) /*!* Telegram Rejected */
 
#define KDRIVE_KER_NO_LAYERS_DEFINED_ERROR   (0x3006) /*!* No layers defined */
 
#define KDRIVE_KER_NO_RESPONSE_FROM_DEVICE_ERROR   (0x3007) /*!* No response from device */
 
#define KDRIVE_KER_PACKET_ERROR   (0x3008) /*!* Packet type not supported */
 
#define KDRIVE_KER_NO_MORE_CONNECTIONS_ERROR   (0x3009) /*!* No more connections allowed */
 
#define KDRIVE_KER_CONNECTION_FAILED_ERROR   (0x300A) /*!* Could not open transport layer connection */
 
#define KDRIVE_KER_CONFIRM_TIMEOUT_ERROR   (0x300B) /*!* No confirm from device (T-Ack missing) */
 
#define KDRIVE_OBJSER_OBJECTSERVER_ERROR   (0x4000)
 kdriveObjectServer error More...
 
#define KDRIVE_OBJSER_OBJ_EXIST_ERROR   (0x4001)
 Object already exists in the Object Store (with the same number) More...
 
#define KDRIVE_OBJSER_OBJ_NOT_FOUND_ERROR   (0x4002)
 Object was not found in the Object Store. More...
 
#define KDRIVE_OBJSER_DATA_FORMAT_ERROR   (0x4003)
 Object data format mismatch (datapoint size mismatch) More...
 
#define KDRIVE_OBJSER_INVALID_AP_ERROR   (0x4008)
 Invalid Access Port: AccessPort has not been set. More...
 

Typedefs

typedef void(* kdrive_error_callback) (error_t e, void *user_data)
 Error Callback function type (pointer to function definition) More...
 

Functions

kdriveExpress_API bool_t kdrive_is_negative_response_error (error_t e)
 Returns whether the given kdrive error code is a negative response error like KDRIVE_SP_NEGATIVE_RESPONSE_ERROR or KDRIVE_SP_ACCESS_READ_ONLY_ERROR NOTE: When the kdrive_express_services module is not enabled than this function reurns always 0 (false)! More...
 
kdriveExpress_API void kdrive_get_error_message (error_t e, char *str, uint32_t str_len)
 Gets the error message. More...
 
kdriveExpress_API void kdrive_register_error_callback (kdrive_error_callback c, void *user_data)
 Registers the error callback function. More...
 

Macro Definition Documentation

◆ KDRIVE_AP_ACCESS_PORT_ERROR

#define KDRIVE_AP_ACCESS_PORT_ERROR   (0x1000)

kdriveAccess error

◆ KDRIVE_AP_AUTHENTICATION_CODE_INVALID_ERROR

#define KDRIVE_AP_AUTHENTICATION_CODE_INVALID_ERROR   (0x102B)

The device authentication code is invalid.

◆ KDRIVE_AP_AUTHENTICATION_FAILED_ERROR

#define KDRIVE_AP_AUTHENTICATION_FAILED_ERROR   (0x102C)

Authentication failed.

◆ KDRIVE_AP_AUTHORISATION_ERROR

#define KDRIVE_AP_AUTHORISATION_ERROR   (0x1028)

The client is not authorized to use the requested individual address.

◆ KDRIVE_AP_CONNECTION_ID_ERROR

#define KDRIVE_AP_CONNECTION_ID_ERROR   (0x1013)

The device cannot find an active data connection with the specified ID.

◆ KDRIVE_AP_CONNECTION_IN_USE_ERROR

#define KDRIVE_AP_CONNECTION_IN_USE_ERROR   (0x102A)

The requested individual address is in use.

◆ KDRIVE_AP_CONNECTION_OPTION_ERROR

#define KDRIVE_AP_CONNECTION_OPTION_ERROR   (0x1010)

The device does not support one or more requested connection options.

◆ KDRIVE_AP_CONNECTION_TYPE_ERROR

#define KDRIVE_AP_CONNECTION_TYPE_ERROR   (0x100F)

The device does not support the requested connection type.

◆ KDRIVE_AP_DATA_CONNECTION_ERROR

#define KDRIVE_AP_DATA_CONNECTION_ERROR   (0x1014)

The device detects an error concerning the data connection with the specified ID.

◆ KDRIVE_AP_DESCRIPTOR_NOT_FOUND_ERROR

#define KDRIVE_AP_DESCRIPTOR_NOT_FOUND_ERROR   (0x0007)

The access port descriptor wasn't found.

◆ KDRIVE_AP_HOST_PROTOCOL_TYPE_ERROR

#define KDRIVE_AP_HOST_PROTOCOL_TYPE_ERROR   (0x100C)

The requested host protocol is not supported.

◆ KDRIVE_AP_INTERFACE_NOT_SET_ERROR

#define KDRIVE_AP_INTERFACE_NOT_SET_ERROR   (0x1026)

The interface is not connected.

◆ KDRIVE_AP_INVALID_TELEGRAM_ERROR

#define KDRIVE_AP_INVALID_TELEGRAM_ERROR   (0x1016)

Invalid Telegram.

◆ KDRIVE_AP_KNX_CONNECTION_ERROR

#define KDRIVE_AP_KNX_CONNECTION_ERROR   (0x1015)

No connection to the KNX bus.

◆ KDRIVE_AP_KNX_NET_IP_ERROR

#define KDRIVE_AP_KNX_NET_IP_ERROR   (0x100B)

KNXnet/IP exception.

◆ KDRIVE_AP_L_DATA_CONFIRM_TIMEOUT_ERROR

#define KDRIVE_AP_L_DATA_CONFIRM_TIMEOUT_ERROR   (0x100A)

L_Data.con timeout.

◆ KDRIVE_AP_LDM_MGMT_PROPERTY_ERROR

#define KDRIVE_AP_LDM_MGMT_PROPERTY_ERROR   (0x1007)

The local device mangement property is not supported.

◆ KDRIVE_AP_LDM_WRITE_ERROR

#define KDRIVE_AP_LDM_WRITE_ERROR   (0x1008)

Write local device management falied.

◆ KDRIVE_AP_NO_MORE_CONNECTIONS_ERROR

#define KDRIVE_AP_NO_MORE_CONNECTIONS_ERROR   (0x1011)

Device can not open any more connections.

◆ KDRIVE_AP_NO_MORE_UNIQUE_CONNECTIONS_ERROR

#define KDRIVE_AP_NO_MORE_UNIQUE_CONNECTIONS_ERROR   (0x1027)

Device has no more now unique additional addresses.

◆ KDRIVE_AP_NO_PREFERRED_LAYER_FOUND_ERROR

#define KDRIVE_AP_NO_PREFERRED_LAYER_FOUND_ERROR   (0x1024)

No prefered layer found.

◆ KDRIVE_AP_NO_PREFERRED_PROTOCOL_FOUND_ERROR

#define KDRIVE_AP_NO_PREFERRED_PROTOCOL_FOUND_ERROR   (0x1023)

0x1018 to 0x1022 are reserved.

Were EPB access port error messages No prefered protocol found

◆ KDRIVE_AP_NO_RESPONSE_LOCAL_DEVICE_ERROR

#define KDRIVE_AP_NO_RESPONSE_LOCAL_DEVICE_ERROR   (0x1009)

No response from local device.

◆ KDRIVE_AP_NOT_FOUND_AVAILABLE_PORTS_ERROR

#define KDRIVE_AP_NOT_FOUND_AVAILABLE_PORTS_ERROR   (0x1001)

There are no available access ports.

◆ KDRIVE_AP_PORT_NOT_OPEN_ERROR

#define KDRIVE_AP_PORT_NOT_OPEN_ERROR   (0x1002)

The port is not open.

◆ KDRIVE_AP_PROTOCOL_NOT_SET_ERROR

#define KDRIVE_AP_PROTOCOL_NOT_SET_ERROR   (0x1025)

The protocol is not set.

◆ KDRIVE_AP_PROTOCOL_WRITE_VALIDATION_ERROR

#define KDRIVE_AP_PROTOCOL_WRITE_VALIDATION_ERROR   (0x1006)

Protocol write validation failed.

◆ KDRIVE_AP_RAW_CONFIRM_TIMEOUT_ERROR

#define KDRIVE_AP_RAW_CONFIRM_TIMEOUT_ERROR   (0x10F0)

L_Raw.con timeout.

◆ KDRIVE_AP_SEQUENCE_NUMBER_ERROR

#define KDRIVE_AP_SEQUENCE_NUMBER_ERROR   (0x100E)

The received sequence number is out of order.

◆ KDRIVE_AP_TELEGRAM_TIMEOUT_ERROR

#define KDRIVE_AP_TELEGRAM_TIMEOUT_ERROR   (0x1017)

Telegram timeout.

◆ KDRIVE_AP_TUNNELING_LAYER_ERROR

#define KDRIVE_AP_TUNNELING_LAYER_ERROR   (0x1012)

The device does not support the requested tunneling layer.

◆ KDRIVE_AP_TUNNELLING_ADDRESS_ERROR

#define KDRIVE_AP_TUNNELLING_ADDRESS_ERROR   (0x1029)

The requested individual address is not a tunneling individual address.

◆ KDRIVE_AP_UNSUPPORTED_LAYER_ERROR

#define KDRIVE_AP_UNSUPPORTED_LAYER_ERROR   (0x1005)

The layer is not supported.

◆ KDRIVE_AP_UNSUPPORTED_PORT_TYPE_ERROR

#define KDRIVE_AP_UNSUPPORTED_PORT_TYPE_ERROR   (0x1003)

The port type is not supported.

◆ KDRIVE_AP_UNSUPPORTED_PROTOCOL_ERROR

#define KDRIVE_AP_UNSUPPORTED_PROTOCOL_ERROR   (0x1004)

The protocol is not supported.

◆ KDRIVE_AP_VERSION_NOT_SUPPORTED_ERROR

#define KDRIVE_AP_VERSION_NOT_SUPPORTED_ERROR   (0x100D)

The requested protocol version is not supported.

◆ KDRIVE_BUFFER_TOO_SMALL_ERROR

#define KDRIVE_BUFFER_TOO_SMALL_ERROR   (0x0006)

The data buffer is too small to receive copied data.

◆ KDRIVE_DATA_FORMAT_ERROR

#define KDRIVE_DATA_FORMAT_ERROR   (0x000F)

Bad data format.

◆ KDRIVE_ERROR_NONE

◆ KDRIVE_GODIAG_DESCRIPTOR_NOT_FOUND_ERROR

#define KDRIVE_GODIAG_DESCRIPTOR_NOT_FOUND_ERROR   (0x000D)

The group object descriptor wasn't found.

◆ KDRIVE_INVALID_LICENSE_ERROR

#define KDRIVE_INVALID_LICENSE_ERROR   (0x000A)

The license is invalid.

◆ KDRIVE_KER_CONFIRM_TIMEOUT_ERROR

#define KDRIVE_KER_CONFIRM_TIMEOUT_ERROR   (0x300B) /*!* No confirm from device (T-Ack missing) */

◆ KDRIVE_KER_CONNECTION_FAILED_ERROR

#define KDRIVE_KER_CONNECTION_FAILED_ERROR   (0x300A) /*!* Could not open transport layer connection */

◆ KDRIVE_KER_DISCONNECTED_ERROR

#define KDRIVE_KER_DISCONNECTED_ERROR   (0x3004) /*!* Connection Disconnected */

◆ KDRIVE_KER_IGNORED_ERROR

#define KDRIVE_KER_IGNORED_ERROR   (0x3003) /*!* Telegram Ignored */

◆ KDRIVE_KER_NO_LAYERS_DEFINED_ERROR

#define KDRIVE_KER_NO_LAYERS_DEFINED_ERROR   (0x3006) /*!* No layers defined */

◆ KDRIVE_KER_NO_MORE_CONNECTIONS_ERROR

#define KDRIVE_KER_NO_MORE_CONNECTIONS_ERROR   (0x3009) /*!* No more connections allowed */

◆ KDRIVE_KER_NO_RESPONSE_FROM_DEVICE_ERROR

#define KDRIVE_KER_NO_RESPONSE_FROM_DEVICE_ERROR   (0x3007) /*!* No response from device */

◆ KDRIVE_KER_PACKET_ERROR

#define KDRIVE_KER_PACKET_ERROR   (0x3008) /*!* Packet type not supported */

◆ KDRIVE_KER_PROTOCOL_ERROR

#define KDRIVE_KER_PROTOCOL_ERROR   (0x3000) /*!* kdriveKernel error */

◆ KDRIVE_KER_REJECTED_ERROR

#define KDRIVE_KER_REJECTED_ERROR   (0x3005) /*!* Telegram Rejected */

◆ KDRIVE_KER_REPEATED_ERROR

#define KDRIVE_KER_REPEATED_ERROR   (0x3001) /*!* Telegram Repeated */

◆ KDRIVE_KER_SEQUENCE_NUMBER_ERROR

#define KDRIVE_KER_SEQUENCE_NUMBER_ERROR   (0x3002) /*!* Sequence Number Error */

◆ KDRIVE_KEYRING_DESCRIPTOR_NOT_FOUND_ERROR

#define KDRIVE_KEYRING_DESCRIPTOR_NOT_FOUND_ERROR   (0x0010)

The keyring project descriptor wasn't found.

◆ KDRIVE_OBJSER_DATA_FORMAT_ERROR

#define KDRIVE_OBJSER_DATA_FORMAT_ERROR   (0x4003)

Object data format mismatch (datapoint size mismatch)

◆ KDRIVE_OBJSER_DESCRIPTOR_NOT_FOUND_ERROR

#define KDRIVE_OBJSER_DESCRIPTOR_NOT_FOUND_ERROR   (0x000B)

The object server descriptor wasn't found.

◆ KDRIVE_OBJSER_INVALID_AP_ERROR

#define KDRIVE_OBJSER_INVALID_AP_ERROR   (0x4008)

Invalid Access Port: AccessPort has not been set.

◆ KDRIVE_OBJSER_OBJ_EXIST_ERROR

#define KDRIVE_OBJSER_OBJ_EXIST_ERROR   (0x4001)

Object already exists in the Object Store (with the same number)

◆ KDRIVE_OBJSER_OBJ_NOT_FOUND_ERROR

#define KDRIVE_OBJSER_OBJ_NOT_FOUND_ERROR   (0x4002)

Object was not found in the Object Store.

◆ KDRIVE_OBJSER_OBJECTSERVER_ERROR

#define KDRIVE_OBJSER_OBJECTSERVER_ERROR   (0x4000)

kdriveObjectServer error

◆ KDRIVE_POCO_ERROR

#define KDRIVE_POCO_ERROR   (0x0002)

Error from the POCO Libraries.

◆ KDRIVE_RANGE_ERROR

#define KDRIVE_RANGE_ERROR   (0x000E)

Out of range.

◆ KDRIVE_SOCKET_ERROR

#define KDRIVE_SOCKET_ERROR   (0x0004)

Socket Error.

◆ KDRIVE_SP_ACCESS_DENIED_ERROR

#define KDRIVE_SP_ACCESS_DENIED_ERROR   (0x20AC)

NegativeResponse: Access denied.

◆ KDRIVE_SP_ACCESS_PORT_NOT_SET_ERROR

#define KDRIVE_SP_ACCESS_PORT_NOT_SET_ERROR   (0x200D)

The Access Port has not been set in the Service Port

◆ KDRIVE_SP_ACCESS_READ_ONLY_ERROR

#define KDRIVE_SP_ACCESS_READ_ONLY_ERROR   (0x20AB)

NegativeResponse: Read only.

◆ KDRIVE_SP_ACCESS_WRITE_ONLY_ERROR

#define KDRIVE_SP_ACCESS_WRITE_ONLY_ERROR   (0x20AA)

NegativeResponse: Write only.

◆ KDRIVE_SP_ADDRESS_VOID_ERROR

#define KDRIVE_SP_ADDRESS_VOID_ERROR   (0x20AD)

NegativeResponse: Void address.

◆ KDRIVE_SP_COMMAND_IMPOSSIBLE_ERROR

#define KDRIVE_SP_COMMAND_IMPOSSIBLE_ERROR   (0x20A3)

NegativeResponse: Command impossible.

◆ KDRIVE_SP_COMMAND_INVALID_ERROR

#define KDRIVE_SP_COMMAND_INVALID_ERROR   (0x20A2)

NegativeResponse: Command invalid.

◆ KDRIVE_SP_DATA_MAX_ERROR

#define KDRIVE_SP_DATA_MAX_ERROR   (0x20A7)

NegativeResponse: Out of MaxRange.

◆ KDRIVE_SP_DATA_MIN_ERROR

#define KDRIVE_SP_DATA_MIN_ERROR   (0x20A6)

NegativeResponse: Out of MinRange.

◆ KDRIVE_SP_DATA_OVERFLOW_ERROR

#define KDRIVE_SP_DATA_OVERFLOW_ERROR   (0x20A5)

NegativeResponse: Data overflow.

◆ KDRIVE_SP_DATA_TYPE_CONFLICT_ERROR

#define KDRIVE_SP_DATA_TYPE_CONFLICT_ERROR   (0x20AE)

NegativeResponse: Data type conflict.

◆ KDRIVE_SP_DATA_VOID_ERROR

#define KDRIVE_SP_DATA_VOID_ERROR   (0x20A8)

NegativeResponse: Void data.

◆ KDRIVE_SP_DESCRIPTOR_NOT_FOUND_ERROR

#define KDRIVE_SP_DESCRIPTOR_NOT_FOUND_ERROR   (0x0008)

The service port descriptor wasn't found.

◆ KDRIVE_SP_DEVICE_ERROR

#define KDRIVE_SP_DEVICE_ERROR   (0x2006)

Device error (valid response but invalid data)

◆ KDRIVE_SP_DEVICE_PROTECTED_ERROR

#define KDRIVE_SP_DEVICE_PROTECTED_ERROR   (0x2020)

NegativeResponse: The device is protected (=MaskVersion is 0xFFFF) and no valid key is known.

◆ KDRIVE_SP_IND_ADDR_ALREADY_USED_ERROR

#define KDRIVE_SP_IND_ADDR_ALREADY_USED_ERROR   (0x2011)

Individual Address is already used by another device.

◆ KDRIVE_SP_INVALID_CHANNEL_ERROR

#define KDRIVE_SP_INVALID_CHANNEL_ERROR   (0x2101)

RESERVED FOR NegativeResponse: (for resart type 1 service) Invalid channel.

◆ KDRIVE_SP_INVALID_INPUT_PARAMETER_ERROR

#define KDRIVE_SP_INVALID_INPUT_PARAMETER_ERROR   (0x2005)

Invalid service input parameter.

◆ KDRIVE_SP_LENGTH_EXCEEDS_MAX_APDU_ERROR

#define KDRIVE_SP_LENGTH_EXCEEDS_MAX_APDU_ERROR   (0x20A4)

NegativeResponse: Device capabilities.

◆ KDRIVE_SP_MEMORY_ERROR

#define KDRIVE_SP_MEMORY_ERROR   (0x20A1)

NegativeResponse: Memory error.

◆ KDRIVE_SP_MORE_DEVICES_IN_PROG_MODE_ERROR

#define KDRIVE_SP_MORE_DEVICES_IN_PROG_MODE_ERROR   (0x200A)

Too many devices were found in programming mode (expected 1)

◆ KDRIVE_SP_NEGATIVE_CONFIRM_ERROR

#define KDRIVE_SP_NEGATIVE_CONFIRM_ERROR   (0x2004)
Deprecated:
use KDRIVE_SP_NO_RESPONSE_FROM_DEVICE_ERROR instead

◆ KDRIVE_SP_NEGATIVE_RESPONSE_ERROR

#define KDRIVE_SP_NEGATIVE_RESPONSE_ERROR   (0x200E)

Negative response from device (valid response received)

◆ KDRIVE_SP_NO_DEVICE_IN_PROG_MODE_ERROR

#define KDRIVE_SP_NO_DEVICE_IN_PROG_MODE_ERROR   (0x2009)

No devices were found in programming mode (expected 1)

◆ KDRIVE_SP_NO_RESPONSE_FROM_DEVICE_ERROR

#define KDRIVE_SP_NO_RESPONSE_FROM_DEVICE_ERROR   (0x2004) /*!* No response from device */

◆ KDRIVE_SP_OBJECT_TYPE_NOT_SUPPORTED_ERROR

#define KDRIVE_SP_OBJECT_TYPE_NOT_SUPPORTED_ERROR   (0x2007)

Object Type not supported

◆ KDRIVE_SP_OPERATION_CANCELLED_ERROR

#define KDRIVE_SP_OPERATION_CANCELLED_ERROR   (0x2003)

Service operation was canceled

◆ KDRIVE_SP_PROPERTY_ID_NOT_SUPPORTED_ERROR

#define KDRIVE_SP_PROPERTY_ID_NOT_SUPPORTED_ERROR   (0x2008)

Property Id not supported

◆ KDRIVE_SP_SERVICE_PORT_NOT_SET_ERROR

#define KDRIVE_SP_SERVICE_PORT_NOT_SET_ERROR   (0x2002)

Service port has not been set

◆ KDRIVE_SP_SERVICES_ERROR

#define KDRIVE_SP_SERVICES_ERROR   (0x2000)

kdriveServices error

◆ KDRIVE_SP_TEMPORARILY_NOT_AVAILABLE_ERROR

#define KDRIVE_SP_TEMPORARILY_NOT_AVAILABLE_ERROR   (0x20A9)

NegativeResponse: Temporarily not available.

◆ KDRIVE_SP_UNKNOWN_SERVICE_TYPE_ERROR

#define KDRIVE_SP_UNKNOWN_SERVICE_TYPE_ERROR   (0x2001)

Unknown service type.

◆ KDRIVE_SP_UNSUPPORTED_ERASE_CODE_ERROR

#define KDRIVE_SP_UNSUPPORTED_ERASE_CODE_ERROR   (0x2100)

RESERVED FOR NegativeResponse: (for resart type 1 service) Unsupported erase code.

◆ KDRIVE_SP_WRITE_DOMAIN_ADDR_FAILED_ERROR

#define KDRIVE_SP_WRITE_DOMAIN_ADDR_FAILED_ERROR   (0x200C)

Domain address write failed

◆ KDRIVE_SP_WRITE_IND_ADDR_FAILED_ERROR

#define KDRIVE_SP_WRITE_IND_ADDR_FAILED_ERROR   (0x200B)

Individual address write failed

◆ KDRIVE_TIMEOUT_ERROR

◆ KDRIVE_UNKNOWN_ERROR

#define KDRIVE_UNKNOWN_ERROR   (0x0001)

Unknown Error Condition.

◆ KDRIVE_UNSUPPORTED_DEVICE_ERROR

#define KDRIVE_UNSUPPORTED_DEVICE_ERROR   (0x0005)

The Interface Device is not a kdriveExpress supported Device.

◆ KDRIVE_UNSUPPORTED_ERROR

#define KDRIVE_UNSUPPORTED_ERROR   (0x0009)

The service or function is not supported.

Typedef Documentation

◆ kdrive_error_callback

typedef void(* kdrive_error_callback) (error_t e, void *user_data)

Error Callback function type (pointer to function definition)

See also
kdrive_register_error_callback
Parameters
[in]eholds the error code
[in]user_datapointer to user data or NULL

Function Documentation

◆ kdrive_get_error_message()

kdriveExpress_API void kdrive_get_error_message ( error_t  e,
char *  str,
uint32_t  str_len 
)

Gets the error message.

Parameters
[in]eholds the error code
[out]strthe error message as null-terminated string
[in]str_lenindicates the max buffer length for str
Examples
kdrive_express_data_secure.c, kdrive_express_dpt.c, kdrive_express_ip_tunneling.c, kdrive_express_ip_tunneling_enumerate.c, kdrive_express_tunnel_ind_addr.c, and kdrive_express_usb.c.

◆ kdrive_is_negative_response_error()

kdriveExpress_API bool_t kdrive_is_negative_response_error ( error_t  e)

Returns whether the given kdrive error code is a negative response error like KDRIVE_SP_NEGATIVE_RESPONSE_ERROR or KDRIVE_SP_ACCESS_READ_ONLY_ERROR NOTE: When the kdrive_express_services module is not enabled than this function reurns always 0 (false)!

Parameters
[in]eholds the error code

◆ kdrive_register_error_callback()

kdriveExpress_API void kdrive_register_error_callback ( kdrive_error_callback  c,
void *  user_data 
)

Registers the error callback function.

This callback function will be called when an error occurred. 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. To remove the callback egister an empty callback (0).

See also
kdrive_ap_register_telegram_callback
Parameters
[in]cthe telegram callback pointer to function
[in]user_data(optional) pointer to user data
Examples
kdrive_express_data_secure.c, kdrive_express_dpt.c, kdrive_express_ip_tunneling.c, kdrive_express_ip_tunneling_enumerate.c, kdrive_express_tunnel_ind_addr.c, and kdrive_express_usb.c.