13 #ifndef __KDRIVE_EXPRESS_SERVICES_H__
14 #define __KDRIVE_EXPRESS_SERVICES_H__
26 #if KDRIVE_EXPRESS_SERVICES_INCLUDED == 1
28 #define KDRIVE_LOAD_STATE_ADDITIONAL_INFO_LEN (9)
kdriveExpress_API error_t kdrive_sp_switch_prog_mode(int32_t sp, uint16_t ind_addr, bool_t enable)
Enable / Disable the programming mode (switches the learn LED).
kdriveExpress_API error_t kdrive_sp_ext_prop_value_write_uncon(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, uint8_t nr_of_elems, uint16_t start_index, const uint8_t data[], uint32_t data_length)
kdriveExpress_API error_t kdrive_sp_function_property_command(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, const uint8_t input_data[], uint32_t input_data_length, uint8_t *return_code, uint8_t output_data[], uint32_t *output_data_length)
Calls a function property of an interface object in a device.
kdriveExpress_API error_t kdrive_sp_function_property_state_read(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, const uint8_t input_data[], uint32_t input_data_length, uint8_t *return_code, uint8_t output_data[], uint32_t *output_data_length)
Calls a function property of an interface object in a device.
kdriveExpress_API error_t kdrive_sp_system_network_param_write(int32_t sp, uint16_t object_type, uint16_t prop_id, const uint8_t data[], uint32_t data_length)
Writes a system parameter with the SystemNetworkParameterWrite service.
kdriveExpress_API error_t kdrive_sp_network_param_write_broadcast(int32_t sp, uint16_t object_type, uint8_t prop_id, const uint8_t data[], uint32_t data_length)
Writes a parameter with the NetworkParameterWriteBroadcast service.
struct system_network_param_read_t system_network_param_read_t
Structure holding individual address and test info and test result for the SystemNetworkParameterRead...
kdriveExpress_API error_t kdrive_sp_key_write(int32_t sp, uint16_t ind_addr, uint8_t *level, uint32_t key)
Writes an authorization key.
kdriveExpress_API error_t kdrive_sp_load_state_write(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t load_event, uint8_t *load_state)
Writes the load state via PropertyValueWrite (PID_LOAD_STATE_CONTROL).
kdriveExpress_API error_t kdrive_sp_memory_block_write(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, const uint8_t data[], uint32_t data_length)
Writes a contiguous memory block via DMA.
kdriveExpress_API error_t kdrive_sp_ext_function_property_command(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, const uint8_t input_data[], uint32_t input_data_length, uint8_t *return_code, uint8_t output_data[], uint32_t *output_data_length)
kdriveExpress_API error_t kdrive_sp_switch_prog_mode_mask_based(int32_t sp, uint16_t ind_addr, uint16_t mask_version, bool_t enable)
Enable / Disable the programming mode (switches the learn LED).
kdriveExpress_API error_t kdrive_sp_domain_addr_prog_mode_read(int32_t sp, uint32_t wait_time, domain_addr_prog_mode_read_t items[], uint32_t *items_length)
Reads the Domain Addresses of devices in Programming Mode (i.e.
kdriveExpress_API error_t kdrive_is_ind_addr_free(int32_t sp, uint16_t ind_addr, bool_t *is_free)
Checks if the given individual address is free (not used by a device on the bus)
kdriveExpress_API error_t kdrive_sp_set_response_timeout(int32_t sp, uint32_t timeout)
Sets the response timeout.
kdriveExpress_API error_t kdrive_sp_set_ext_memory_services_used(int32_t sp, bool_t ext_used)
Sets whether the memory block services use the (new) extended memory services or the 'normal' memory ...
kdriveExpress_API error_t kdrive_sp_set_max_apdu_length(int32_t sp, uint32_t max_apdu_length)
Sets the maximum apdu length for device services.
kdriveExpress_API error_t kdrive_sp_ext_prop_value_write(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, uint8_t nr_of_elems, uint16_t start_index, const uint8_t data[], uint32_t data_length, uint8_t *return_code)
kdriveExpress_API error_t kdrive_sp_user_memory_write(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, const uint8_t data[], uint32_t data_length)
Writes data via DMA.
kdriveExpress_API error_t kdrive_sp_read_prog_mode_mask_based(int32_t sp, uint16_t ind_addr, uint16_t mask_version, bool_t *enabled)
Reads the current programming mode.
kdriveExpress_API error_t kdrive_sp_ext_prop_value_read(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, uint8_t nr_of_elems, uint16_t start_index, uint8_t data[], uint32_t *data_length)
struct domain_addr_prog_mode_read_t domain_addr_prog_mode_read_t
Structure holding individual address, serial number, domain address for the DomainAddressProgModeRead...
kdriveExpress_API error_t kdrive_sp_user_memory_write_without_verify(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, const uint8_t input_data[], uint32_t input_data_length, uint8_t output_data[], uint32_t *output_data_length)
Writes data via DMA.
kdriveExpress_API error_t kdrive_sp_ext_function_property_state_read(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, const uint8_t input_data[], uint32_t input_data_length, uint8_t *return_code, uint8_t output_data[], uint32_t *output_data_length)
kdriveExpress_API error_t kdrive_sp_ind_addr_sn_read(int32_t sp, const uint8_t sn[KDRIVE_SN_LEN], uint16_t *ind_addr)
Reads the individual address of a device that matches the specified Serial Number.
kdriveExpress_API bool_t kdrive_sp_is_co(int32_t sp)
Returns whether the device services are run as connection-oriented or connection-less.
kdriveExpress_API error_t kdrive_sp_restart_device_type0(int32_t sp, uint16_t ind_addr)
Restarts the device using restart (type 0) There is no response to this telegram so it is not possibl...
kdriveExpress_API error_t kdrive_sp_user_memory_read(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, uint8_t number, uint8_t data[], uint32_t *data_length)
Reads data via DMA.
kdriveExpress_API error_t kdrive_sp_ext_memory_read(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, uint8_t number, uint8_t data[], uint32_t *data_length)
Reads data via A_Extended_Memory_Read service.
kdriveExpress_API error_t kdrive_sp_memory_block_read(int32_t sp, uint16_t ind_addr, uint32_t *memory_addr, uint8_t number, uint8_t data[], uint32_t *data_length)
Reads a contiguous memory block via DMA.
kdriveExpress_API error_t kdrive_sp_ind_addr_sn_write(int32_t sp, const uint8_t sn[KDRIVE_SN_LEN], uint16_t new_ind_addr)
Writes the individual address of a device that matches the specified Serial Number.
kdriveExpress_API error_t kdrive_sp_network_param_write_systembroadcast(int32_t sp, uint16_t object_type, uint8_t prop_id, const uint8_t data[], uint32_t data_length)
Writes a parameter with the NetworkParameterWriteBroadcast service.
kdriveExpress_API error_t kdrive_sp_get_max_apdu_length(int32_t sp, uint32_t *max_apdu_length)
Gets the maximum apdu length for device services.
kdriveExpress_API error_t kdrive_sp_system_network_param_read(int32_t sp, uint16_t object_type, uint16_t prop_id, const uint8_t data[], uint32_t data_length, uint32_t wait_time, system_network_param_read_t items[], uint32_t *items_length)
Reads system parameter with the SystemNetworkParameterRead service.
kdriveExpress_API error_t kdrive_sp_ind_addr_prog_mode_write(int32_t sp, uint16_t new_ind_addr)
Writes the specified individual address to a device in Programming Mode (i.e.
kdriveExpress_API error_t kdrive_sp_domain_addr_sn_write(int32_t sp, const uint8_t sn[KDRIVE_SN_LEN], const uint8_t da[KDRIVE_DA_LEN])
Writes the Domain Address of a device This function validates that the domain address was successfull...
kdriveExpress_API error_t kdrive_sp_memory_write_without_verify(int32_t sp, uint16_t ind_addr, uint16_t memory_addr, const uint8_t input_data[], uint32_t input_data_length, uint8_t output_data[], uint32_t *output_data_length)
Writes data via DMA.
kdriveExpress_API error_t kdrive_sp_switch_prog_mode_property_based(int32_t sp, uint16_t ind_addr, bool_t enable)
Enable / Disable the programming mode (switches the learn LED).
kdriveExpress_API error_t kdrive_sp_device_descriptor_type0_read(int32_t sp, uint16_t ind_addr, uint16_t *mask_version)
Reads device descriptor 0 (mask version) from a device.
kdriveExpress_API error_t kdrive_sp_switch_prog_mode_memory_mapped(int32_t sp, uint16_t ind_addr, bool_t enable)
Enable / Disable the programming mode (switches the learn LED).
kdriveExpress_API error_t kdrive_sp_read_prog_mode(int32_t sp, uint16_t ind_addr, bool_t *enabled)
Reads the current programming mode.
kdriveExpress_API error_t kdrive_sp_prop_value_write(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, uint8_t nr_of_elems, uint16_t start_index, const uint8_t data[], uint32_t data_length)
Writes the value of a property to a device.
kdriveExpress_API error_t kdrive_sp_prop_value_read(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, uint8_t nr_of_elems, uint16_t start_index, uint8_t data[], uint32_t *data_length)
Reads a property value from a device The data buffer must exist (should be pre-allocated by the user)...
kdriveExpress_API error_t kdrive_sp_ext_memory_write(int32_t sp, uint16_t ind_addr, uint32_t memory_addr, const uint8_t data[], uint32_t data_length)
Reads data via A_Extended_Memory_Write service.
kdriveExpress_API error_t kdrive_sp_authorize_request(int32_t sp, uint16_t ind_addr, uint32_t key, uint8_t *level)
Sends an authorize request.
kdriveExpress_API error_t kdrive_sp_ind_addr_prog_mode_read(int32_t sp, uint32_t wait_time, uint16_t data[], uint32_t *data_length)
Reads the individual addresses of devices in Programming Mode (i.e.
kdriveExpress_API error_t kdrive_sp_load_state_read(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t *load_state)
Reads the load state via PropertyValueRead (PID_LOAD_STATE_CONTROL).
kdriveExpress_API error_t kdrive_sp_get_response_timeout(int32_t sp, uint32_t *timeout)
Gets the response timeout.
kdriveExpress_API error_t kdrive_sp_domain_addr_sn_read(int32_t sp, const uint8_t sn[KDRIVE_SN_LEN], uint16_t *ind_addr, uint8_t da[KDRIVE_DA_LEN])
Reads the Domain Address of a device that matches the specified Serial Number.
kdriveExpress_API error_t kdrive_sp_memory_read(int32_t sp, uint16_t ind_addr, uint16_t memory_addr, uint8_t number, uint8_t data[], uint32_t *data_length)
Reads data via DMA.
kdriveExpress_API error_t kdrive_sp_prop_value_write_without_verify(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, uint8_t nr_of_elems, uint16_t start_index, const uint8_t input_data[], uint32_t input_data_length, uint8_t output_data[], uint32_t *output_data_length)
Writes the value of a property to a device.
kdriveExpress_API error_t kdrive_sp_are_ext_memory_services_used(int32_t sp, bool_t *ext_used)
Gets whether the memory block services are use the (new) extended memory services or the 'normal' mem...
kdriveExpress_API error_t kdrive_sp_restart_device_type1(int32_t sp, uint16_t ind_addr, uint8_t erase_code, uint8_t channel_number, uint8_t *error_code, uint16_t *process_time)
Restarts the device using restart (type 1)
struct property_description_t property_description_t
Structure holding a property description.
struct ext_property_description_t ext_property_description_t
Structure holding a extended property description.
kdriveExpress_API error_t kdrive_sp_domain_addr_prog_mode_write(int32_t sp, const uint8_t da[KDRIVE_DA_LEN])
Writes the Domain Address to a device in Programming Mode (i.e.
struct device_descriptor_type2_t device_descriptor_type2_t
Structure holding device descriptor 2 (easy channel information)
kdriveExpress_API bool_t kdrive_sp_release(int32_t sp)
Releases the ServicePort interface.
kdriveExpress_API error_t kdrive_sp_device_descriptor_type2_read(int32_t sp, uint16_t ind_addr, device_descriptor_type2_t *desc)
Reads device descriptor 2 (easy channel information) from a device.
kdriveExpress_API error_t kdrive_sp_read_prog_mode_memory_mapped(int32_t sp, uint16_t ind_addr, bool_t *enabled)
Reads the current programming mode via MemoryRead.
kdriveExpress_API error_t kdrive_sp_set_co(int32_t sp, bool_t connection_oriented)
Sets whether the device services are run as connection-oriented or connection-less.
kdriveExpress_API error_t kdrive_sp_ext_prop_description_read(int32_t sp, uint16_t ind_addr, uint16_t object_type, uint16_t object_instance, uint16_t prop_id, uint16_t prop_index, ext_property_description_t *property_description)
Reads a property description from a device via A_PropertyExtDescription_Read service.
kdriveExpress_API error_t kdrive_sp_load_state_write_ex(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t load_event, const uint8_t additional_info[KDRIVE_LOAD_STATE_ADDITIONAL_INFO_LEN], uint8_t *load_state)
Writes the load state via PropertyValueWrite (PID_LOAD_STATE_CONTROL).
kdriveExpress_API error_t kdrive_sp_memory_write(int32_t sp, uint16_t ind_addr, uint16_t memory_addr, const uint8_t data[], uint32_t data_length)
Writes data via DMA.
kdriveExpress_API error_t kdrive_sp_read_prog_mode_property_based(int32_t sp, uint16_t ind_addr, bool_t *enabled)
Reads the current programming mode via PropertyValueRead.
kdriveExpress_API int32_t kdrive_sp_create(int32_t ap)
Creates an internal ServicePort interface This should be the first function called when working with ...
kdriveExpress_API error_t kdrive_sp_property_description_read(int32_t sp, uint16_t ind_addr, uint8_t object_index, uint8_t prop_id, uint8_t prop_index, property_description_t *property_description)
Reads a property description from a device.
#define kdriveExpress_API
Definition: kdrive_express_config.h:89
unsigned short uint16_t
16 bit unsigned char
Definition: kdrive_express_config.h:31
bool bool_t
Definition: kdrive_express_config.h:58
int int32_t
32 bit signed int
Definition: kdrive_express_config.h:35
unsigned int uint32_t
32 bit unsigned char
Definition: kdrive_express_config.h:32
int32_t error_t
Definition: kdrive_express_config.h:47
unsigned char uint8_t
8 bit unsigned char
Definition: kdrive_express_config.h:30
#define KDRIVE_DA_LEN
The Length of a KNX Domain Address.
Definition: kdrive_express_defs.h:35
#define KDRIVE_SN_LEN
The Length of a KNX Serial Number.
Definition: kdrive_express_defs.h:34
#define KDRIVE_LOAD_STATE_ADDITIONAL_INFO_LEN
The length of the additional info in a A_LoadSate_Write service.
Definition: kdrive_express_services.h:28
Structure holding device descriptor 2 (easy channel information)
Definition: kdrive_express_services.h:178
uint8_t app_ver
application version
Definition: kdrive_express_services.h:181
uint8_t mgmt_profile
management profile
Definition: kdrive_express_services.h:182
uint16_t manufacturer
application manufacturer Code
Definition: kdrive_express_services.h:179
uint8_t ch_count_a
channel count type A
Definition: kdrive_express_services.h:183
uint16_t ch_code_c
channel code type C
Definition: kdrive_express_services.h:188
uint16_t ch_code_a
channel code type A
Definition: kdrive_express_services.h:184
uint8_t ch_count_c
channel count type C
Definition: kdrive_express_services.h:187
uint16_t app_id
application id
Definition: kdrive_express_services.h:180
uint8_t ch_count_d
channel count type D
Definition: kdrive_express_services.h:189
uint16_t ch_code_d
channel code type D
Definition: kdrive_express_services.h:190
uint16_t ch_code_b
channel code type B
Definition: kdrive_express_services.h:186
uint8_t ch_count_b
channel count type B
Definition: kdrive_express_services.h:185
Structure holding individual address, serial number, domain address for the DomainAddressProgModeRead...
Definition: kdrive_express_services.h:1363
uint8_t domain_address[KDRIVE_DA_LEN]
domain address
Definition: kdrive_express_services.h:1366
uint16_t ind_addr
individual address
Definition: kdrive_express_services.h:1364
uint8_t serial_number[KDRIVE_SN_LEN]
serial number
Definition: kdrive_express_services.h:1365
Structure holding a extended property description.
Definition: kdrive_express_services.h:448
uint16_t prop_id
property id
Definition: kdrive_express_services.h:449
uint8_t read_level
read access level
Definition: kdrive_express_services.h:456
uint8_t write_level
write access level
Definition: kdrive_express_services.h:457
bool_t write_enable
is write enable
Definition: kdrive_express_services.h:453
uint16_t main_dpt
main datapoint type
Definition: kdrive_express_services.h:451
uint16_t sub_dpt
sub datapoint type
Definition: kdrive_express_services.h:452
uint16_t max_nr_of_elems
max number of elements
Definition: kdrive_express_services.h:455
uint8_t pdt
property data type
Definition: kdrive_express_services.h:454
uint16_t prop_index
property index
Definition: kdrive_express_services.h:450
Structure holding a property description.
Definition: kdrive_express_services.h:254
uint8_t type
type
Definition: kdrive_express_services.h:258
uint8_t read_level
read access level
Definition: kdrive_express_services.h:260
uint8_t prop_index
property index
Definition: kdrive_express_services.h:256
uint16_t max_nr_of_elems
max number of elements
Definition: kdrive_express_services.h:259
uint8_t prop_id
property id
Definition: kdrive_express_services.h:255
bool_t write_enable
is write enable
Definition: kdrive_express_services.h:257
uint8_t write_level
write access level
Definition: kdrive_express_services.h:261
Structure holding individual address and test info and test result for the SystemNetworkParameterRead...
Definition: kdrive_express_services.h:1321
uint8_t test_info_result[10]
test info and test result
Definition: kdrive_express_services.h:1323
uint16_t ind_addr
individual address
Definition: kdrive_express_services.h:1322
uint32_t length
the length of test info and test result
Definition: kdrive_express_services.h:1324