tinkerforge 2.1.22 → 2.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tinkerforge/brick_dc.rb +3 -3
  3. data/lib/tinkerforge/brick_hat.rb +11 -7
  4. data/lib/tinkerforge/brick_hat_zero.rb +2 -2
  5. data/lib/tinkerforge/brick_imu.rb +3 -3
  6. data/lib/tinkerforge/brick_imu_v2.rb +3 -3
  7. data/lib/tinkerforge/brick_master.rb +5 -5
  8. data/lib/tinkerforge/brick_red.rb +2 -2
  9. data/lib/tinkerforge/brick_servo.rb +3 -3
  10. data/lib/tinkerforge/brick_silent_stepper.rb +3 -3
  11. data/lib/tinkerforge/brick_stepper.rb +4 -4
  12. data/lib/tinkerforge/bricklet_accelerometer.rb +2 -2
  13. data/lib/tinkerforge/bricklet_accelerometer_v2.rb +81 -6
  14. data/lib/tinkerforge/bricklet_air_quality.rb +2 -2
  15. data/lib/tinkerforge/bricklet_ambient_light.rb +2 -2
  16. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +2 -2
  17. data/lib/tinkerforge/bricklet_ambient_light_v3.rb +2 -2
  18. data/lib/tinkerforge/bricklet_analog_in.rb +2 -2
  19. data/lib/tinkerforge/bricklet_analog_in_v2.rb +2 -2
  20. data/lib/tinkerforge/bricklet_analog_in_v3.rb +2 -2
  21. data/lib/tinkerforge/bricklet_analog_out.rb +2 -2
  22. data/lib/tinkerforge/bricklet_analog_out_v2.rb +2 -2
  23. data/lib/tinkerforge/bricklet_analog_out_v3.rb +2 -2
  24. data/lib/tinkerforge/bricklet_barometer.rb +2 -2
  25. data/lib/tinkerforge/bricklet_barometer_v2.rb +2 -2
  26. data/lib/tinkerforge/bricklet_can.rb +2 -2
  27. data/lib/tinkerforge/bricklet_can_v2.rb +2 -2
  28. data/lib/tinkerforge/bricklet_co2.rb +2 -2
  29. data/lib/tinkerforge/bricklet_co2_v2.rb +2 -2
  30. data/lib/tinkerforge/bricklet_color.rb +4 -4
  31. data/lib/tinkerforge/bricklet_color_v2.rb +449 -0
  32. data/lib/tinkerforge/bricklet_compass.rb +356 -0
  33. data/lib/tinkerforge/bricklet_current12.rb +2 -2
  34. data/lib/tinkerforge/bricklet_current25.rb +2 -2
  35. data/lib/tinkerforge/bricklet_distance_ir.rb +2 -2
  36. data/lib/tinkerforge/bricklet_distance_ir_v2.rb +2 -2
  37. data/lib/tinkerforge/bricklet_distance_us.rb +2 -2
  38. data/lib/tinkerforge/bricklet_distance_us_v2.rb +300 -0
  39. data/lib/tinkerforge/bricklet_dmx.rb +2 -2
  40. data/lib/tinkerforge/bricklet_dual_button.rb +2 -2
  41. data/lib/tinkerforge/bricklet_dual_button_v2.rb +2 -2
  42. data/lib/tinkerforge/bricklet_dual_relay.rb +2 -2
  43. data/lib/tinkerforge/bricklet_dust_detector.rb +2 -2
  44. data/lib/tinkerforge/bricklet_e_paper_296x128.rb +2 -2
  45. data/lib/tinkerforge/bricklet_energy_monitor.rb +375 -0
  46. data/lib/tinkerforge/bricklet_gps.rb +2 -2
  47. data/lib/tinkerforge/bricklet_gps_v2.rb +2 -2
  48. data/lib/tinkerforge/bricklet_hall_effect.rb +2 -2
  49. data/lib/tinkerforge/bricklet_hall_effect_v2.rb +2 -2
  50. data/lib/tinkerforge/bricklet_humidity.rb +2 -2
  51. data/lib/tinkerforge/bricklet_humidity_v2.rb +2 -2
  52. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +2 -2
  53. data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +2 -2
  54. data/lib/tinkerforge/bricklet_industrial_counter.rb +2 -2
  55. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +2 -2
  56. data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +2 -2
  57. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +2 -2
  58. data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +2 -2
  59. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +2 -2
  60. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +2 -2
  61. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +2 -2
  62. data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +2 -2
  63. data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +2 -2
  64. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +2 -2
  65. data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +2 -2
  66. data/lib/tinkerforge/bricklet_io16.rb +2 -2
  67. data/lib/tinkerforge/bricklet_io16_v2.rb +2 -2
  68. data/lib/tinkerforge/bricklet_io4.rb +2 -2
  69. data/lib/tinkerforge/bricklet_io4_v2.rb +2 -2
  70. data/lib/tinkerforge/bricklet_isolator.rb +2 -2
  71. data/lib/tinkerforge/bricklet_joystick.rb +2 -2
  72. data/lib/tinkerforge/bricklet_joystick_v2.rb +2 -2
  73. data/lib/tinkerforge/bricklet_laser_range_finder.rb +2 -2
  74. data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +5 -5
  75. data/lib/tinkerforge/bricklet_lcd_128x64.rb +24 -2
  76. data/lib/tinkerforge/bricklet_lcd_16x2.rb +2 -2
  77. data/lib/tinkerforge/bricklet_lcd_20x4.rb +2 -2
  78. data/lib/tinkerforge/bricklet_led_strip.rb +2 -2
  79. data/lib/tinkerforge/bricklet_led_strip_v2.rb +2 -2
  80. data/lib/tinkerforge/bricklet_line.rb +2 -2
  81. data/lib/tinkerforge/bricklet_linear_poti.rb +2 -2
  82. data/lib/tinkerforge/bricklet_linear_poti_v2.rb +2 -2
  83. data/lib/tinkerforge/bricklet_load_cell.rb +2 -2
  84. data/lib/tinkerforge/bricklet_load_cell_v2.rb +2 -2
  85. data/lib/tinkerforge/bricklet_moisture.rb +2 -2
  86. data/lib/tinkerforge/bricklet_motion_detector.rb +2 -2
  87. data/lib/tinkerforge/bricklet_motion_detector_v2.rb +2 -2
  88. data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +2 -2
  89. data/lib/tinkerforge/bricklet_multi_touch.rb +2 -2
  90. data/lib/tinkerforge/bricklet_multi_touch_v2.rb +334 -0
  91. data/lib/tinkerforge/bricklet_nfc.rb +2 -2
  92. data/lib/tinkerforge/bricklet_nfc_rfid.rb +2 -2
  93. data/lib/tinkerforge/bricklet_oled_128x64.rb +2 -2
  94. data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +24 -2
  95. data/lib/tinkerforge/bricklet_oled_64x48.rb +2 -2
  96. data/lib/tinkerforge/bricklet_one_wire.rb +2 -2
  97. data/lib/tinkerforge/bricklet_outdoor_weather.rb +2 -2
  98. data/lib/tinkerforge/bricklet_particulate_matter.rb +2 -2
  99. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +2 -2
  100. data/lib/tinkerforge/bricklet_piezo_speaker.rb +2 -2
  101. data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +2 -2
  102. data/lib/tinkerforge/bricklet_ptc.rb +2 -2
  103. data/lib/tinkerforge/bricklet_ptc_v2.rb +2 -2
  104. data/lib/tinkerforge/bricklet_real_time_clock.rb +2 -2
  105. data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +2 -2
  106. data/lib/tinkerforge/bricklet_remote_switch.rb +2 -2
  107. data/lib/tinkerforge/bricklet_remote_switch_v2.rb +2 -2
  108. data/lib/tinkerforge/bricklet_rgb_led.rb +2 -2
  109. data/lib/tinkerforge/bricklet_rgb_led_button.rb +2 -2
  110. data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +2 -2
  111. data/lib/tinkerforge/bricklet_rgb_led_v2.rb +2 -2
  112. data/lib/tinkerforge/bricklet_rotary_encoder.rb +2 -2
  113. data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +2 -2
  114. data/lib/tinkerforge/bricklet_rotary_poti.rb +2 -2
  115. data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +259 -0
  116. data/lib/tinkerforge/bricklet_rs232.rb +2 -2
  117. data/lib/tinkerforge/bricklet_rs232_v2.rb +2 -2
  118. data/lib/tinkerforge/bricklet_rs485.rb +70 -60
  119. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +2 -2
  120. data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +2 -2
  121. data/lib/tinkerforge/bricklet_solid_state_relay.rb +2 -2
  122. data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +2 -2
  123. data/lib/tinkerforge/bricklet_sound_intensity.rb +2 -2
  124. data/lib/tinkerforge/bricklet_sound_pressure_level.rb +2 -2
  125. data/lib/tinkerforge/bricklet_temperature.rb +2 -2
  126. data/lib/tinkerforge/bricklet_temperature_ir.rb +5 -3
  127. data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +3 -11
  128. data/lib/tinkerforge/bricklet_temperature_v2.rb +2 -2
  129. data/lib/tinkerforge/bricklet_thermal_imaging.rb +2 -2
  130. data/lib/tinkerforge/bricklet_thermocouple.rb +2 -2
  131. data/lib/tinkerforge/bricklet_thermocouple_v2.rb +2 -2
  132. data/lib/tinkerforge/bricklet_tilt.rb +2 -2
  133. data/lib/tinkerforge/bricklet_uv_light.rb +2 -2
  134. data/lib/tinkerforge/bricklet_uv_light_v2.rb +2 -2
  135. data/lib/tinkerforge/bricklet_voltage.rb +2 -2
  136. data/lib/tinkerforge/bricklet_voltage_current.rb +2 -2
  137. data/lib/tinkerforge/bricklet_voltage_current_v2.rb +13 -2
  138. data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +365 -0
  139. data/lib/tinkerforge/ip_connection.rb +1 -1
  140. data/lib/tinkerforge/version.rb +1 -1
  141. metadata +10 -3
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #
@@ -0,0 +1,334 @@
1
+ # -*- ruby encoding: utf-8 -*-
2
+ #############################################################
3
+ # This file was automatically generated on 2019-08-23. #
4
+ # #
5
+ # Ruby Bindings Version 2.1.23 #
6
+ # #
7
+ # If you have a bugfix for this file and want to commit it, #
8
+ # please fix the bug in the generator. You can find a link #
9
+ # to the generators git repository on tinkerforge.com #
10
+ #############################################################
11
+
12
+ module Tinkerforge
13
+ # Capacitive touch sensor for 12 electrodes
14
+ class BrickletMultiTouchV2 < Device
15
+ DEVICE_IDENTIFIER = 2129 # :nodoc:
16
+ DEVICE_DISPLAY_NAME = 'Multi Touch Bricklet 2.0' # :nodoc:
17
+
18
+ # Returns the current touch state, see BrickletMultiTouchV2#get_touch_state for
19
+ # information about the state.
20
+ #
21
+ # This callback is triggered every time the touch state changes with
22
+ # a given period (see BrickletMultiTouchV2#set_touch_state_callback_configuration)
23
+ CALLBACK_TOUCH_STATE = 4
24
+
25
+ FUNCTION_GET_TOUCH_STATE = 1 # :nodoc:
26
+ FUNCTION_SET_TOUCH_STATE_CALLBACK_CONFIGURATION = 2 # :nodoc:
27
+ FUNCTION_GET_TOUCH_STATE_CALLBACK_CONFIGURATION = 3 # :nodoc:
28
+ FUNCTION_RECALIBRATE = 5 # :nodoc:
29
+ FUNCTION_SET_ELECTRODE_CONFIG = 6 # :nodoc:
30
+ FUNCTION_GET_ELECTRODE_CONFIG = 7 # :nodoc:
31
+ FUNCTION_SET_ELECTRODE_SENSITIVITY = 8 # :nodoc:
32
+ FUNCTION_GET_ELECTRODE_SENSITIVITY = 9 # :nodoc:
33
+ FUNCTION_SET_TOUCH_LED_CONFIG = 10 # :nodoc:
34
+ FUNCTION_GET_TOUCH_LED_CONFIG = 11 # :nodoc:
35
+ FUNCTION_GET_SPITFP_ERROR_COUNT = 234 # :nodoc:
36
+ FUNCTION_SET_BOOTLOADER_MODE = 235 # :nodoc:
37
+ FUNCTION_GET_BOOTLOADER_MODE = 236 # :nodoc:
38
+ FUNCTION_SET_WRITE_FIRMWARE_POINTER = 237 # :nodoc:
39
+ FUNCTION_WRITE_FIRMWARE = 238 # :nodoc:
40
+ FUNCTION_SET_STATUS_LED_CONFIG = 239 # :nodoc:
41
+ FUNCTION_GET_STATUS_LED_CONFIG = 240 # :nodoc:
42
+ FUNCTION_GET_CHIP_TEMPERATURE = 242 # :nodoc:
43
+ FUNCTION_RESET = 243 # :nodoc:
44
+ FUNCTION_WRITE_UID = 248 # :nodoc:
45
+ FUNCTION_READ_UID = 249 # :nodoc:
46
+ FUNCTION_GET_IDENTITY = 255 # :nodoc:
47
+
48
+ TOUCH_LED_CONFIG_OFF = 0 # :nodoc:
49
+ TOUCH_LED_CONFIG_ON = 1 # :nodoc:
50
+ TOUCH_LED_CONFIG_SHOW_HEARTBEAT = 2 # :nodoc:
51
+ TOUCH_LED_CONFIG_SHOW_TOUCH = 3 # :nodoc:
52
+ BOOTLOADER_MODE_BOOTLOADER = 0 # :nodoc:
53
+ BOOTLOADER_MODE_FIRMWARE = 1 # :nodoc:
54
+ BOOTLOADER_MODE_BOOTLOADER_WAIT_FOR_REBOOT = 2 # :nodoc:
55
+ BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_REBOOT = 3 # :nodoc:
56
+ BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_ERASE_AND_REBOOT = 4 # :nodoc:
57
+ BOOTLOADER_STATUS_OK = 0 # :nodoc:
58
+ BOOTLOADER_STATUS_INVALID_MODE = 1 # :nodoc:
59
+ BOOTLOADER_STATUS_NO_CHANGE = 2 # :nodoc:
60
+ BOOTLOADER_STATUS_ENTRY_FUNCTION_NOT_PRESENT = 3 # :nodoc:
61
+ BOOTLOADER_STATUS_DEVICE_IDENTIFIER_INCORRECT = 4 # :nodoc:
62
+ BOOTLOADER_STATUS_CRC_MISMATCH = 5 # :nodoc:
63
+ STATUS_LED_CONFIG_OFF = 0 # :nodoc:
64
+ STATUS_LED_CONFIG_ON = 1 # :nodoc:
65
+ STATUS_LED_CONFIG_SHOW_HEARTBEAT = 2 # :nodoc:
66
+ STATUS_LED_CONFIG_SHOW_STATUS = 3 # :nodoc:
67
+
68
+ # Creates an object with the unique device ID <tt>uid</tt> and adds it to
69
+ # the IP Connection <tt>ipcon</tt>.
70
+ def initialize(uid, ipcon)
71
+ super uid, ipcon
72
+
73
+ @api_version = [2, 0, 0]
74
+
75
+ @response_expected[FUNCTION_GET_TOUCH_STATE] = RESPONSE_EXPECTED_ALWAYS_TRUE
76
+ @response_expected[FUNCTION_SET_TOUCH_STATE_CALLBACK_CONFIGURATION] = RESPONSE_EXPECTED_TRUE
77
+ @response_expected[FUNCTION_GET_TOUCH_STATE_CALLBACK_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
78
+ @response_expected[FUNCTION_RECALIBRATE] = RESPONSE_EXPECTED_FALSE
79
+ @response_expected[FUNCTION_SET_ELECTRODE_CONFIG] = RESPONSE_EXPECTED_FALSE
80
+ @response_expected[FUNCTION_GET_ELECTRODE_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
81
+ @response_expected[FUNCTION_SET_ELECTRODE_SENSITIVITY] = RESPONSE_EXPECTED_FALSE
82
+ @response_expected[FUNCTION_GET_ELECTRODE_SENSITIVITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
83
+ @response_expected[FUNCTION_SET_TOUCH_LED_CONFIG] = RESPONSE_EXPECTED_FALSE
84
+ @response_expected[FUNCTION_GET_TOUCH_LED_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
85
+ @response_expected[FUNCTION_GET_SPITFP_ERROR_COUNT] = RESPONSE_EXPECTED_ALWAYS_TRUE
86
+ @response_expected[FUNCTION_SET_BOOTLOADER_MODE] = RESPONSE_EXPECTED_ALWAYS_TRUE
87
+ @response_expected[FUNCTION_GET_BOOTLOADER_MODE] = RESPONSE_EXPECTED_ALWAYS_TRUE
88
+ @response_expected[FUNCTION_SET_WRITE_FIRMWARE_POINTER] = RESPONSE_EXPECTED_FALSE
89
+ @response_expected[FUNCTION_WRITE_FIRMWARE] = RESPONSE_EXPECTED_ALWAYS_TRUE
90
+ @response_expected[FUNCTION_SET_STATUS_LED_CONFIG] = RESPONSE_EXPECTED_FALSE
91
+ @response_expected[FUNCTION_GET_STATUS_LED_CONFIG] = RESPONSE_EXPECTED_ALWAYS_TRUE
92
+ @response_expected[FUNCTION_GET_CHIP_TEMPERATURE] = RESPONSE_EXPECTED_ALWAYS_TRUE
93
+ @response_expected[FUNCTION_RESET] = RESPONSE_EXPECTED_FALSE
94
+ @response_expected[FUNCTION_WRITE_UID] = RESPONSE_EXPECTED_FALSE
95
+ @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
96
+ @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
97
+
98
+ @callback_formats[CALLBACK_TOUCH_STATE] = '?13'
99
+
100
+ end
101
+
102
+ # Returns the current touch state. The state is given as a array of
103
+ # bools.
104
+ #
105
+ # Element 0 to 11 represent the 12 electrodes and element 12 represents
106
+ # the proximity.
107
+ #
108
+ # If an electrode is touched, the corresponding element is *true*. If
109
+ # a hand or similar is in proximity to the electrodes, element 12 is
110
+ # *true*.
111
+ #
112
+ # The proximity is activated with a distance of 1-2cm. An electrode
113
+ # is already counted as touched if a finger is nearly touching the
114
+ # electrode. This means that you can put a piece of paper or foil
115
+ # or similar on top of a electrode to build a touch panel with
116
+ # a professional look.
117
+ #
118
+ # If you want to get the value periodically, it is recommended to use the
119
+ # CALLBACK_TOUCH_STATE callback. You can set the callback configuration
120
+ # with BrickletMultiTouchV2#set_touch_state_callback_configuration.
121
+ def get_touch_state
122
+ send_request FUNCTION_GET_TOUCH_STATE, [], '', 13, '?13'
123
+ end
124
+
125
+ # The period in ms is the period with which the CALLBACK_TOUCH_STATE callback
126
+ # is triggered periodically. A value of 0 turns the callback off.
127
+ #
128
+ # If the `value has to change`-parameter is set to true, the callback is only
129
+ # triggered after the value has changed. If the value didn't change within the
130
+ # period, the callback is triggered immediately on change.
131
+ #
132
+ # If it is set to false, the callback is continuously triggered with the period,
133
+ # independent of the value.
134
+ #
135
+ # The default value is (0, false).
136
+ def set_touch_state_callback_configuration(period, value_has_to_change)
137
+ send_request FUNCTION_SET_TOUCH_STATE_CALLBACK_CONFIGURATION, [period, value_has_to_change], 'L ?', 0, ''
138
+ end
139
+
140
+ # Returns the callback configuration as set by
141
+ # BrickletMultiTouchV2#set_touch_state_callback_configuration.
142
+ def get_touch_state_callback_configuration
143
+ send_request FUNCTION_GET_TOUCH_STATE_CALLBACK_CONFIGURATION, [], '', 5, 'L ?'
144
+ end
145
+
146
+ # Recalibrates the electrodes. Call this function whenever you changed
147
+ # or moved you electrodes.
148
+ def recalibrate
149
+ send_request FUNCTION_RECALIBRATE, [], '', 0, ''
150
+ end
151
+
152
+ # Enables/disables electrodes with a bool array (see BrickletMultiTouchV2#get_touch_state).
153
+ #
154
+ # *True* enables the electrode, *false* disables the electrode. A
155
+ # disabled electrode will always return *false* as its state. If you
156
+ # don't need all electrodes you can disable the electrodes that are
157
+ # not needed.
158
+ #
159
+ # It is recommended that you disable the proximity electrode (element 12) if
160
+ # the proximity feature is not needed. This will reduce the amount of
161
+ # traffic that is produced by the CALLBACK_TOUCH_STATE callback.
162
+ #
163
+ # Disabling electrodes will also reduce power consumption.
164
+ #
165
+ # Default: All electrodes enabled.
166
+ def set_electrode_config(enabled_electrodes)
167
+ send_request FUNCTION_SET_ELECTRODE_CONFIG, [enabled_electrodes], '?13', 0, ''
168
+ end
169
+
170
+ # Returns the electrode configuration, as set by BrickletMultiTouchV2#set_electrode_config.
171
+ def get_electrode_config
172
+ send_request FUNCTION_GET_ELECTRODE_CONFIG, [], '', 13, '?13'
173
+ end
174
+
175
+ # Sets the sensitivity of the electrodes. An electrode with a high sensitivity
176
+ # will register a touch earlier then an electrode with a low sensitivity.
177
+ #
178
+ # If you build a big electrode you might need to decrease the sensitivity, since
179
+ # the area that can be charged will get bigger. If you want to be able to
180
+ # activate an electrode from further away you need to increase the sensitivity.
181
+ #
182
+ # After a new sensitivity is set, you likely want to call BrickletMultiTouchV2#recalibrate
183
+ # to calibrate the electrodes with the newly defined sensitivity.
184
+ #
185
+ # The valid sensitivity value range is 5-201.
186
+ #
187
+ # The default sensitivity value is 181.
188
+ def set_electrode_sensitivity(sensitivity)
189
+ send_request FUNCTION_SET_ELECTRODE_SENSITIVITY, [sensitivity], 'C', 0, ''
190
+ end
191
+
192
+ # Returns the current sensitivity, as set by BrickletMultiTouchV2#set_electrode_sensitivity.
193
+ def get_electrode_sensitivity
194
+ send_request FUNCTION_GET_ELECTRODE_SENSITIVITY, [], '', 1, 'C'
195
+ end
196
+
197
+ # Configures the touch LED to be either turned off, turned on, blink in
198
+ # heartbeat mode or show the touch state (electrode touched = LED on).
199
+ #
200
+ # The default value is 3 (show touch state).
201
+ def set_touch_led_config(config)
202
+ send_request FUNCTION_SET_TOUCH_LED_CONFIG, [config], 'C', 0, ''
203
+ end
204
+
205
+ # Returns the LED configuration as set by BrickletMultiTouchV2#set_touch_led_config
206
+ def get_touch_led_config
207
+ send_request FUNCTION_GET_TOUCH_LED_CONFIG, [], '', 1, 'C'
208
+ end
209
+
210
+ # Returns the error count for the communication between Brick and Bricklet.
211
+ #
212
+ # The errors are divided into
213
+ #
214
+ # * ACK checksum errors,
215
+ # * message checksum errors,
216
+ # * framing errors and
217
+ # * overflow errors.
218
+ #
219
+ # The errors counts are for errors that occur on the Bricklet side. All
220
+ # Bricks have a similar function that returns the errors on the Brick side.
221
+ def get_spitfp_error_count
222
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
223
+ end
224
+
225
+ # Sets the bootloader mode and returns the status after the requested
226
+ # mode change was instigated.
227
+ #
228
+ # You can change from bootloader mode to firmware mode and vice versa. A change
229
+ # from bootloader mode to firmware mode will only take place if the entry function,
230
+ # device identifier and CRC are present and correct.
231
+ #
232
+ # This function is used by Brick Viewer during flashing. It should not be
233
+ # necessary to call it in a normal user program.
234
+ def set_bootloader_mode(mode)
235
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
236
+ end
237
+
238
+ # Returns the current bootloader mode, see BrickletMultiTouchV2#set_bootloader_mode.
239
+ def get_bootloader_mode
240
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
241
+ end
242
+
243
+ # Sets the firmware pointer for BrickletMultiTouchV2#write_firmware. The pointer has
244
+ # to be increased by chunks of size 64. The data is written to flash
245
+ # every 4 chunks (which equals to one page of size 256).
246
+ #
247
+ # This function is used by Brick Viewer during flashing. It should not be
248
+ # necessary to call it in a normal user program.
249
+ def set_write_firmware_pointer(pointer)
250
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
251
+ end
252
+
253
+ # Writes 64 Bytes of firmware at the position as written by
254
+ # BrickletMultiTouchV2#set_write_firmware_pointer before. The firmware is written
255
+ # to flash every 4 chunks.
256
+ #
257
+ # You can only write firmware in bootloader mode.
258
+ #
259
+ # This function is used by Brick Viewer during flashing. It should not be
260
+ # necessary to call it in a normal user program.
261
+ def write_firmware(data)
262
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
263
+ end
264
+
265
+ # Sets the status LED configuration. By default the LED shows
266
+ # communication traffic between Brick and Bricklet, it flickers once
267
+ # for every 10 received data packets.
268
+ #
269
+ # You can also turn the LED permanently on/off or show a heartbeat.
270
+ #
271
+ # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
272
+ def set_status_led_config(config)
273
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
274
+ end
275
+
276
+ # Returns the configuration as set by BrickletMultiTouchV2#set_status_led_config
277
+ def get_status_led_config
278
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
279
+ end
280
+
281
+ # Returns the temperature in °C as measured inside the microcontroller. The
282
+ # value returned is not the ambient temperature!
283
+ #
284
+ # The temperature is only proportional to the real temperature and it has bad
285
+ # accuracy. Practically it is only useful as an indicator for
286
+ # temperature changes.
287
+ def get_chip_temperature
288
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
289
+ end
290
+
291
+ # Calling this function will reset the Bricklet. All configurations
292
+ # will be lost.
293
+ #
294
+ # After a reset you have to create new device objects,
295
+ # calling functions on the existing ones will result in
296
+ # undefined behavior!
297
+ def reset
298
+ send_request FUNCTION_RESET, [], '', 0, ''
299
+ end
300
+
301
+ # Writes a new UID into flash. If you want to set a new UID
302
+ # you have to decode the Base58 encoded UID string into an
303
+ # integer first.
304
+ #
305
+ # We recommend that you use Brick Viewer to change the UID.
306
+ def write_uid(uid)
307
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
308
+ end
309
+
310
+ # Returns the current UID as an integer. Encode as
311
+ # Base58 to get the usual string version.
312
+ def read_uid
313
+ send_request FUNCTION_READ_UID, [], '', 4, 'L'
314
+ end
315
+
316
+ # Returns the UID, the UID where the Bricklet is connected to,
317
+ # the position, the hardware and firmware version as well as the
318
+ # device identifier.
319
+ #
320
+ # The position can be 'a', 'b', 'c' or 'd'.
321
+ #
322
+ # The device identifier numbers can be found :ref:`here <device_identifier>`.
323
+ # |device_identifier_constant|
324
+ def get_identity
325
+ send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
326
+ end
327
+
328
+ # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
329
+ def register_callback(id, &block)
330
+ callback = block
331
+ @registered_callbacks[id] = callback
332
+ end
333
+ end
334
+ end
@@ -1,8 +1,8 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-05-21. #
3
+ # This file was automatically generated on 2019-08-23. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.23 #
6
6
  # #
7
7
  # If you have a bugfix for this file and want to commit it, #
8
8
  # please fix the bug in the generator. You can find a link #