Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef BRICKLET_INDUSTRIAL_DIGITAL_IN_4_H
00012 #define BRICKLET_INDUSTRIAL_DIGITAL_IN_4_H
00013
00014 #include "ip_connection.h"
00015
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019
00029 typedef Device IndustrialDigitalIn4;
00030
00034 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_VALUE 1
00035
00039 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_SET_GROUP 2
00040
00044 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_GROUP 3
00045
00049 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_AVAILABLE_FOR_GROUP 4
00050
00054 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_SET_DEBOUNCE_PERIOD 5
00055
00059 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_DEBOUNCE_PERIOD 6
00060
00064 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_SET_INTERRUPT 7
00065
00069 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_INTERRUPT 8
00070
00074 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_EDGE_COUNT 10
00075
00079 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_SET_EDGE_COUNT_CONFIG 11
00080
00084 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_EDGE_COUNT_CONFIG 12
00085
00089 #define INDUSTRIAL_DIGITAL_IN_4_FUNCTION_GET_IDENTITY 255
00090
00109 #define INDUSTRIAL_DIGITAL_IN_4_CALLBACK_INTERRUPT 9
00110
00111
00115 #define INDUSTRIAL_DIGITAL_IN_4_EDGE_TYPE_RISING 0
00116
00120 #define INDUSTRIAL_DIGITAL_IN_4_EDGE_TYPE_FALLING 1
00121
00125 #define INDUSTRIAL_DIGITAL_IN_4_EDGE_TYPE_BOTH 2
00126
00136 #define INDUSTRIAL_DIGITAL_IN_4_DEVICE_IDENTIFIER 223
00137
00144 void industrial_digital_in_4_create(IndustrialDigitalIn4 *industrial_digital_in_4, const char *uid, IPConnection *ipcon);
00145
00152 void industrial_digital_in_4_destroy(IndustrialDigitalIn4 *industrial_digital_in_4);
00153
00173 int industrial_digital_in_4_get_response_expected(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t function_id, bool *ret_response_expected);
00174
00190 int industrial_digital_in_4_set_response_expected(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t function_id, bool response_expected);
00191
00198 int industrial_digital_in_4_set_response_expected_all(IndustrialDigitalIn4 *industrial_digital_in_4, bool response_expected);
00199
00206 void industrial_digital_in_4_register_callback(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t id, void *callback, void *user_data);
00207
00214 int industrial_digital_in_4_get_api_version(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t ret_api_version[3]);
00215
00232 int industrial_digital_in_4_get_value(IndustrialDigitalIn4 *industrial_digital_in_4, uint16_t *ret_value_mask);
00233
00256 int industrial_digital_in_4_set_group(IndustrialDigitalIn4 *industrial_digital_in_4, char group[4]);
00257
00263 int industrial_digital_in_4_get_group(IndustrialDigitalIn4 *industrial_digital_in_4, char ret_group[4]);
00264
00272 int industrial_digital_in_4_get_available_for_group(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t *ret_available);
00273
00285 int industrial_digital_in_4_set_debounce_period(IndustrialDigitalIn4 *industrial_digital_in_4, uint32_t debounce);
00286
00292 int industrial_digital_in_4_get_debounce_period(IndustrialDigitalIn4 *industrial_digital_in_4, uint32_t *ret_debounce);
00293
00308 int industrial_digital_in_4_set_interrupt(IndustrialDigitalIn4 *industrial_digital_in_4, uint16_t interrupt_mask);
00309
00315 int industrial_digital_in_4_get_interrupt(IndustrialDigitalIn4 *industrial_digital_in_4, uint16_t *ret_interrupt_mask);
00316
00328 int industrial_digital_in_4_get_edge_count(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t pin, bool reset_counter, uint32_t *ret_count);
00329
00354 int industrial_digital_in_4_set_edge_count_config(IndustrialDigitalIn4 *industrial_digital_in_4, uint16_t selection_mask, uint8_t edge_type, uint8_t debounce);
00355
00364 int industrial_digital_in_4_get_edge_count_config(IndustrialDigitalIn4 *industrial_digital_in_4, uint8_t pin, uint8_t *ret_edge_type, uint8_t *ret_debounce);
00365
00378 int industrial_digital_in_4_get_identity(IndustrialDigitalIn4 *industrial_digital_in_4, char ret_uid[8], char ret_connected_uid[8], char *ret_position, uint8_t ret_hardware_version[3], uint8_t ret_firmware_version[3], uint16_t *ret_device_identifier);
00379
00380 #ifdef __cplusplus
00381 }
00382 #endif
00383
00384 #endif