tinkerforge 2.1.24 → 2.1.25

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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tinkerforge/brick_dc.rb +155 -74
  3. data/lib/tinkerforge/brick_hat.rb +70 -30
  4. data/lib/tinkerforge/brick_hat_zero.rb +56 -22
  5. data/lib/tinkerforge/brick_imu.rb +184 -77
  6. data/lib/tinkerforge/brick_imu_v2.rb +208 -105
  7. data/lib/tinkerforge/brick_master.rb +484 -182
  8. data/lib/tinkerforge/brick_red.rb +197 -74
  9. data/lib/tinkerforge/brick_servo.rb +185 -101
  10. data/lib/tinkerforge/brick_silent_stepper.rb +246 -166
  11. data/lib/tinkerforge/brick_stepper.rb +210 -98
  12. data/lib/tinkerforge/bricklet_accelerometer.rb +58 -23
  13. data/lib/tinkerforge/bricklet_accelerometer_v2.rb +105 -54
  14. data/lib/tinkerforge/bricklet_air_quality.rb +117 -59
  15. data/lib/tinkerforge/bricklet_ambient_light.rb +51 -21
  16. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +40 -22
  17. data/lib/tinkerforge/bricklet_ambient_light_v3.rb +61 -25
  18. data/lib/tinkerforge/bricklet_analog_in.rb +63 -25
  19. data/lib/tinkerforge/bricklet_analog_in_v2.rb +57 -23
  20. data/lib/tinkerforge/bricklet_analog_in_v3.rb +67 -25
  21. data/lib/tinkerforge/bricklet_analog_out.rb +23 -9
  22. data/lib/tinkerforge/bricklet_analog_out_v2.rb +20 -8
  23. data/lib/tinkerforge/bricklet_analog_out_v3.rb +54 -20
  24. data/lib/tinkerforge/bricklet_barometer.rb +66 -26
  25. data/lib/tinkerforge/bricklet_barometer_v2.rb +99 -37
  26. data/lib/tinkerforge/bricklet_can.rb +83 -18
  27. data/lib/tinkerforge/bricklet_can_v2.rb +172 -38
  28. data/lib/tinkerforge/bricklet_co2.rb +34 -14
  29. data/lib/tinkerforge/bricklet_co2_v2.rb +97 -37
  30. data/lib/tinkerforge/bricklet_color.rb +69 -27
  31. data/lib/tinkerforge/bricklet_color_v2.rb +87 -33
  32. data/lib/tinkerforge/bricklet_compass.rb +78 -30
  33. data/lib/tinkerforge/bricklet_current12.rb +58 -24
  34. data/lib/tinkerforge/bricklet_current25.rb +58 -24
  35. data/lib/tinkerforge/bricklet_distance_ir.rb +57 -23
  36. data/lib/tinkerforge/bricklet_distance_ir_v2.rb +83 -31
  37. data/lib/tinkerforge/bricklet_distance_us.rb +40 -16
  38. data/lib/tinkerforge/bricklet_distance_us_v2.rb +67 -25
  39. data/lib/tinkerforge/bricklet_dmx.rb +88 -34
  40. data/lib/tinkerforge/bricklet_dual_button.rb +24 -10
  41. data/lib/tinkerforge/bricklet_dual_button_v2.rb +64 -24
  42. data/lib/tinkerforge/bricklet_dual_relay.rb +27 -11
  43. data/lib/tinkerforge/bricklet_dust_detector.rb +40 -16
  44. data/lib/tinkerforge/bricklet_e_paper_296x128.rb +88 -32
  45. data/lib/tinkerforge/bricklet_energy_monitor.rb +73 -27
  46. data/lib/tinkerforge/bricklet_gps.rb +64 -26
  47. data/lib/tinkerforge/bricklet_gps_v2.rb +117 -47
  48. data/lib/tinkerforge/bricklet_hall_effect.rb +43 -23
  49. data/lib/tinkerforge/bricklet_hall_effect_v2.rb +71 -27
  50. data/lib/tinkerforge/bricklet_humidity.rb +51 -21
  51. data/lib/tinkerforge/bricklet_humidity_v2.rb +83 -31
  52. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +38 -14
  53. data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +81 -29
  54. data/lib/tinkerforge/bricklet_industrial_counter.rb +101 -39
  55. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +45 -17
  56. data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +77 -29
  57. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +36 -14
  58. data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +73 -27
  59. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +40 -16
  60. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +79 -29
  61. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +49 -19
  62. data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +82 -30
  63. data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +61 -23
  64. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +36 -14
  65. data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +67 -25
  66. data/lib/tinkerforge/bricklet_io16.rb +55 -21
  67. data/lib/tinkerforge/bricklet_io16_v2.rb +90 -34
  68. data/lib/tinkerforge/bricklet_io4.rb +55 -23
  69. data/lib/tinkerforge/bricklet_io4_v2.rb +96 -36
  70. data/lib/tinkerforge/bricklet_isolator.rb +72 -28
  71. data/lib/tinkerforge/bricklet_joystick.rb +59 -25
  72. data/lib/tinkerforge/bricklet_joystick_v2.rb +68 -26
  73. data/lib/tinkerforge/bricklet_laser_range_finder.rb +82 -32
  74. data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +96 -36
  75. data/lib/tinkerforge/bricklet_lcd_128x64.rb +192 -70
  76. data/lib/tinkerforge/bricklet_lcd_16x2.rb +45 -18
  77. data/lib/tinkerforge/bricklet_lcd_20x4.rb +58 -23
  78. data/lib/tinkerforge/bricklet_led_strip.rb +60 -22
  79. data/lib/tinkerforge/bricklet_led_strip_v2.rb +91 -46
  80. data/lib/tinkerforge/bricklet_line.rb +34 -14
  81. data/lib/tinkerforge/bricklet_linear_poti.rb +51 -21
  82. data/lib/tinkerforge/bricklet_linear_poti_v2.rb +55 -21
  83. data/lib/tinkerforge/bricklet_load_cell.rb +61 -23
  84. data/lib/tinkerforge/bricklet_load_cell_v2.rb +80 -30
  85. data/lib/tinkerforge/bricklet_moisture.rb +40 -16
  86. data/lib/tinkerforge/bricklet_motion_detector.rb +22 -10
  87. data/lib/tinkerforge/bricklet_motion_detector_v2.rb +62 -24
  88. data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +71 -27
  89. data/lib/tinkerforge/bricklet_multi_touch.rb +31 -13
  90. data/lib/tinkerforge/bricklet_multi_touch_v2.rb +76 -28
  91. data/lib/tinkerforge/bricklet_nfc.rb +123 -58
  92. data/lib/tinkerforge/bricklet_nfc_rfid.rb +33 -13
  93. data/lib/tinkerforge/bricklet_oled_128x64.rb +29 -11
  94. data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +66 -24
  95. data/lib/tinkerforge/bricklet_oled_64x48.rb +29 -11
  96. data/lib/tinkerforge/bricklet_one_wire.rb +66 -24
  97. data/lib/tinkerforge/bricklet_outdoor_weather.rb +71 -27
  98. data/lib/tinkerforge/bricklet_particulate_matter.rb +75 -30
  99. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +19 -9
  100. data/lib/tinkerforge/bricklet_piezo_speaker.rb +22 -10
  101. data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +80 -42
  102. data/lib/tinkerforge/bricklet_ptc.rb +74 -42
  103. data/lib/tinkerforge/bricklet_ptc_v2.rb +95 -48
  104. data/lib/tinkerforge/bricklet_real_time_clock.rb +45 -33
  105. data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +78 -44
  106. data/lib/tinkerforge/bricklet_remote_switch.rb +39 -29
  107. data/lib/tinkerforge/bricklet_remote_switch_v2.rb +87 -49
  108. data/lib/tinkerforge/bricklet_rgb_led.rb +18 -8
  109. data/lib/tinkerforge/bricklet_rgb_led_button.rb +62 -30
  110. data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +79 -33
  111. data/lib/tinkerforge/bricklet_rgb_led_v2.rb +52 -20
  112. data/lib/tinkerforge/bricklet_rotary_encoder.rb +39 -19
  113. data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +60 -24
  114. data/lib/tinkerforge/bricklet_rotary_poti.rb +53 -28
  115. data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +57 -23
  116. data/lib/tinkerforge/bricklet_rs232.rb +90 -28
  117. data/lib/tinkerforge/bricklet_rs232_v2.rb +118 -44
  118. data/lib/tinkerforge/bricklet_rs485.rb +223 -95
  119. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +25 -14
  120. data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +75 -35
  121. data/lib/tinkerforge/bricklet_solid_state_relay.rb +25 -13
  122. data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +59 -25
  123. data/lib/tinkerforge/bricklet_sound_intensity.rb +35 -18
  124. data/lib/tinkerforge/bricklet_sound_pressure_level.rb +72 -31
  125. data/lib/tinkerforge/bricklet_temperature.rb +40 -16
  126. data/lib/tinkerforge/bricklet_temperature_ir.rb +57 -23
  127. data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +71 -27
  128. data/lib/tinkerforge/bricklet_temperature_v2.rb +61 -25
  129. data/lib/tinkerforge/bricklet_thermal_imaging.rb +105 -44
  130. data/lib/tinkerforge/bricklet_thermocouple.rb +45 -24
  131. data/lib/tinkerforge/bricklet_thermocouple_v2.rb +65 -27
  132. data/lib/tinkerforge/bricklet_tilt.rb +24 -10
  133. data/lib/tinkerforge/bricklet_uv_light.rb +36 -18
  134. data/lib/tinkerforge/bricklet_uv_light_v2.rb +85 -37
  135. data/lib/tinkerforge/bricklet_voltage.rb +52 -28
  136. data/lib/tinkerforge/bricklet_voltage_current.rb +91 -73
  137. data/lib/tinkerforge/bricklet_voltage_current_v2.rb +90 -68
  138. data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +80 -30
  139. data/lib/tinkerforge/device_display_names.rb +163 -0
  140. data/lib/tinkerforge/ip_connection.rb +151 -32
  141. data/lib/tinkerforge/version.rb +1 -1
  142. metadata +3 -2
@@ -1,14 +1,16 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-11-25. #
3
+ # This file was automatically generated on 2020-04-07. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.24 #
5
+ # Ruby Bindings Version 2.1.25 #
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 #
9
9
  # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
+ require_relative './ip_connection'
13
+
12
14
  module Tinkerforge
13
15
  # Controls remote mains switches and receives signals from remotes
14
16
  class BrickletRemoteSwitchV2 < Device
@@ -105,7 +107,7 @@ module Tinkerforge
105
107
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
106
108
  # the IP Connection <tt>ipcon</tt>.
107
109
  def initialize(uid, ipcon)
108
- super uid, ipcon
110
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
109
111
 
110
112
  @api_version = [2, 0, 0]
111
113
 
@@ -134,11 +136,12 @@ module Tinkerforge
134
136
  @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
135
137
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
136
138
 
137
- @callback_formats[CALLBACK_SWITCHING_DONE] = ''
138
- @callback_formats[CALLBACK_REMOTE_STATUS_A] = 'C C C S'
139
- @callback_formats[CALLBACK_REMOTE_STATUS_B] = 'L C C C S'
140
- @callback_formats[CALLBACK_REMOTE_STATUS_C] = 'k C C S'
139
+ @callback_formats[CALLBACK_SWITCHING_DONE] = [8, '']
140
+ @callback_formats[CALLBACK_REMOTE_STATUS_A] = [13, 'C C C S']
141
+ @callback_formats[CALLBACK_REMOTE_STATUS_B] = [17, 'L C C C S']
142
+ @callback_formats[CALLBACK_REMOTE_STATUS_C] = [13, 'k C C S']
141
143
 
144
+ @ipcon.add_device self
142
145
  end
143
146
 
144
147
  # Returns the current switching state. If the current state is busy, the
@@ -148,72 +151,74 @@ module Tinkerforge
148
151
  # How long the switching takes is dependent on the number of repeats, see
149
152
  # BrickletRemoteSwitchV2#set_repeats.
150
153
  def get_switching_state
151
- send_request FUNCTION_GET_SWITCHING_STATE, [], '', 1, 'C'
154
+ check_validity
155
+
156
+ send_request FUNCTION_GET_SWITCHING_STATE, [], '', 9, 'C'
152
157
  end
153
158
 
154
- # Sets the number of times the code is send when one of the Switch Socket
159
+ # Sets the number of times the code is sent when one of the Switch Socket
155
160
  # functions is called. The repeats basically correspond to the amount of time
156
161
  # that a button of the remote is pressed.
157
162
  #
158
163
  # Some dimmers are controlled by the length of a button pressed,
159
164
  # this can be simulated by increasing the repeats.
160
- #
161
- # The default value is 5.
162
165
  def set_repeats(repeats)
163
- send_request FUNCTION_SET_REPEATS, [repeats], 'C', 0, ''
166
+ check_validity
167
+
168
+ send_request FUNCTION_SET_REPEATS, [repeats], 'C', 8, ''
164
169
  end
165
170
 
166
171
  # Returns the number of repeats as set by BrickletRemoteSwitchV2#set_repeats.
167
172
  def get_repeats
168
- send_request FUNCTION_GET_REPEATS, [], '', 1, 'C'
173
+ check_validity
174
+
175
+ send_request FUNCTION_GET_REPEATS, [], '', 9, 'C'
169
176
  end
170
177
 
171
178
  # To switch a type A socket you have to give the house code, receiver code and the
172
179
  # state (on or off) you want to switch to.
173
180
  #
174
- # The house code and receiver code have a range of 0 to 31 (5bit).
175
- #
176
181
  # A detailed description on how you can figure out the house and receiver code
177
182
  # can be found :ref:`here <remote_switch_bricklet_type_a_house_and_receiver_code>`.
178
183
  def switch_socket_a(house_code, receiver_code, switch_to)
179
- send_request FUNCTION_SWITCH_SOCKET_A, [house_code, receiver_code, switch_to], 'C C C', 0, ''
184
+ check_validity
185
+
186
+ send_request FUNCTION_SWITCH_SOCKET_A, [house_code, receiver_code, switch_to], 'C C C', 8, ''
180
187
  end
181
188
 
182
189
  # To switch a type B socket you have to give the address, unit and the state
183
190
  # (on or off) you want to switch to.
184
191
  #
185
- # The address has a range of 0 to 67108863 (26bit) and the unit has a range
186
- # of 0 to 15 (4bit). To switch all devices with the same address use 255 for
187
- # the unit.
192
+ # To switch all devices with the same address use 255 for the unit.
188
193
  #
189
194
  # A detailed description on how you can teach a socket the address and unit can
190
195
  # be found :ref:`here <remote_switch_bricklet_type_b_address_and_unit>`.
191
196
  def switch_socket_b(address, unit, switch_to)
192
- send_request FUNCTION_SWITCH_SOCKET_B, [address, unit, switch_to], 'L C C', 0, ''
197
+ check_validity
198
+
199
+ send_request FUNCTION_SWITCH_SOCKET_B, [address, unit, switch_to], 'L C C', 8, ''
193
200
  end
194
201
 
195
202
  # To control a type B dimmer you have to give the address, unit and the
196
203
  # dim value you want to set the dimmer to.
197
204
  #
198
- # The address has a range of 0 to 67108863 (26bit), the unit and the dim value
199
- # has a range of 0 to 15 (4bit).
200
- #
201
205
  # A detailed description on how you can teach a dimmer the address and unit can
202
206
  # be found :ref:`here <remote_switch_bricklet_type_b_address_and_unit>`.
203
207
  def dim_socket_b(address, unit, dim_value)
204
- send_request FUNCTION_DIM_SOCKET_B, [address, unit, dim_value], 'L C C', 0, ''
208
+ check_validity
209
+
210
+ send_request FUNCTION_DIM_SOCKET_B, [address, unit, dim_value], 'L C C', 8, ''
205
211
  end
206
212
 
207
213
  # To switch a type C socket you have to give the system code, device code and the
208
214
  # state (on or off) you want to switch to.
209
215
  #
210
- # The system code has a range of 'A' to 'P' (4bit) and the device code has a
211
- # range of 1 to 16 (4bit).
212
- #
213
216
  # A detailed description on how you can figure out the system and device code
214
217
  # can be found :ref:`here <remote_switch_bricklet_type_c_system_and_device_code>`.
215
218
  def switch_socket_c(system_code, device_code, switch_to)
216
- send_request FUNCTION_SWITCH_SOCKET_C, [system_code, device_code, switch_to], 'k C C', 0, ''
219
+ check_validity
220
+
221
+ send_request FUNCTION_SWITCH_SOCKET_C, [system_code, device_code, switch_to], 'k C C', 8, ''
217
222
  end
218
223
 
219
224
  # Sets the configuration for **receiving** data from a remote of type A, B or C.
@@ -223,15 +228,17 @@ module Tinkerforge
223
228
  # is triggered (if enabled).
224
229
  # * Callback Enabled: Enable or disable callback (see CALLBACK_REMOTE_STATUS_A callback,
225
230
  # CALLBACK_REMOTE_STATUS_B callback and CALLBACK_REMOTE_STATUS_C callback).
226
- #
227
- # Default is ('A', 2, false).
228
231
  def set_remote_configuration(remote_type, minimum_repeats, callback_enabled)
229
- send_request FUNCTION_SET_REMOTE_CONFIGURATION, [remote_type, minimum_repeats, callback_enabled], 'C S ?', 0, ''
232
+ check_validity
233
+
234
+ send_request FUNCTION_SET_REMOTE_CONFIGURATION, [remote_type, minimum_repeats, callback_enabled], 'C S ?', 8, ''
230
235
  end
231
236
 
232
237
  # Returns the remote configuration as set by BrickletRemoteSwitchV2#set_remote_configuration
233
238
  def get_remote_configuration
234
- send_request FUNCTION_GET_REMOTE_CONFIGURATION, [], '', 4, 'C S ?'
239
+ check_validity
240
+
241
+ send_request FUNCTION_GET_REMOTE_CONFIGURATION, [], '', 12, 'C S ?'
235
242
  end
236
243
 
237
244
  # Returns the house code, receiver code, switch state (on/off) and number of
@@ -245,7 +252,9 @@ module Tinkerforge
245
252
  # Use the callback to get this data automatically when a button is pressed,
246
253
  # see BrickletRemoteSwitchV2#set_remote_configuration and CALLBACK_REMOTE_STATUS_A callback.
247
254
  def get_remote_status_a
248
- send_request FUNCTION_GET_REMOTE_STATUS_A, [], '', 5, 'C C C S'
255
+ check_validity
256
+
257
+ send_request FUNCTION_GET_REMOTE_STATUS_A, [], '', 13, 'C C C S'
249
258
  end
250
259
 
251
260
  # Returns the address (unique per remote), unit (button number), switch state
@@ -260,7 +269,9 @@ module Tinkerforge
260
269
  # Use the callback to get this data automatically when a button is pressed,
261
270
  # see BrickletRemoteSwitchV2#set_remote_configuration and CALLBACK_REMOTE_STATUS_B callback.
262
271
  def get_remote_status_b
263
- send_request FUNCTION_GET_REMOTE_STATUS_B, [], '', 9, 'L C C C S'
272
+ check_validity
273
+
274
+ send_request FUNCTION_GET_REMOTE_STATUS_B, [], '', 17, 'L C C C S'
264
275
  end
265
276
 
266
277
  # Returns the system code, device code, switch state (on/off) and number of repeats for
@@ -273,7 +284,9 @@ module Tinkerforge
273
284
  # Use the callback to get this data automatically when a button is pressed,
274
285
  # see BrickletRemoteSwitchV2#set_remote_configuration and CALLBACK_REMOTE_STATUS_C callback.
275
286
  def get_remote_status_c
276
- send_request FUNCTION_GET_REMOTE_STATUS_C, [], '', 5, 'k C C S'
287
+ check_validity
288
+
289
+ send_request FUNCTION_GET_REMOTE_STATUS_C, [], '', 13, 'k C C S'
277
290
  end
278
291
 
279
292
  # Returns the error count for the communication between Brick and Bricklet.
@@ -288,7 +301,9 @@ module Tinkerforge
288
301
  # The errors counts are for errors that occur on the Bricklet side. All
289
302
  # Bricks have a similar function that returns the errors on the Brick side.
290
303
  def get_spitfp_error_count
291
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
304
+ check_validity
305
+
306
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
292
307
  end
293
308
 
294
309
  # Sets the bootloader mode and returns the status after the requested
@@ -301,12 +316,16 @@ module Tinkerforge
301
316
  # This function is used by Brick Viewer during flashing. It should not be
302
317
  # necessary to call it in a normal user program.
303
318
  def set_bootloader_mode(mode)
304
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
319
+ check_validity
320
+
321
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
305
322
  end
306
323
 
307
324
  # Returns the current bootloader mode, see BrickletRemoteSwitchV2#set_bootloader_mode.
308
325
  def get_bootloader_mode
309
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
326
+ check_validity
327
+
328
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
310
329
  end
311
330
 
312
331
  # Sets the firmware pointer for BrickletRemoteSwitchV2#write_firmware. The pointer has
@@ -316,7 +335,9 @@ module Tinkerforge
316
335
  # This function is used by Brick Viewer during flashing. It should not be
317
336
  # necessary to call it in a normal user program.
318
337
  def set_write_firmware_pointer(pointer)
319
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
338
+ check_validity
339
+
340
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
320
341
  end
321
342
 
322
343
  # Writes 64 Bytes of firmware at the position as written by
@@ -328,7 +349,9 @@ module Tinkerforge
328
349
  # This function is used by Brick Viewer during flashing. It should not be
329
350
  # necessary to call it in a normal user program.
330
351
  def write_firmware(data)
331
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
352
+ check_validity
353
+
354
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
332
355
  end
333
356
 
334
357
  # Sets the status LED configuration. By default the LED shows
@@ -339,22 +362,28 @@ module Tinkerforge
339
362
  #
340
363
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
341
364
  def set_status_led_config(config)
342
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
365
+ check_validity
366
+
367
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
343
368
  end
344
369
 
345
370
  # Returns the configuration as set by BrickletRemoteSwitchV2#set_status_led_config
346
371
  def get_status_led_config
347
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
372
+ check_validity
373
+
374
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
348
375
  end
349
376
 
350
- # Returns the temperature in °C as measured inside the microcontroller. The
377
+ # Returns the temperature as measured inside the microcontroller. The
351
378
  # value returned is not the ambient temperature!
352
379
  #
353
380
  # The temperature is only proportional to the real temperature and it has bad
354
381
  # accuracy. Practically it is only useful as an indicator for
355
382
  # temperature changes.
356
383
  def get_chip_temperature
357
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
384
+ check_validity
385
+
386
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
358
387
  end
359
388
 
360
389
  # Calling this function will reset the Bricklet. All configurations
@@ -364,7 +393,9 @@ module Tinkerforge
364
393
  # calling functions on the existing ones will result in
365
394
  # undefined behavior!
366
395
  def reset
367
- send_request FUNCTION_RESET, [], '', 0, ''
396
+ check_validity
397
+
398
+ send_request FUNCTION_RESET, [], '', 8, ''
368
399
  end
369
400
 
370
401
  # Writes a new UID into flash. If you want to set a new UID
@@ -373,25 +404,32 @@ module Tinkerforge
373
404
  #
374
405
  # We recommend that you use Brick Viewer to change the UID.
375
406
  def write_uid(uid)
376
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
407
+ check_validity
408
+
409
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
377
410
  end
378
411
 
379
412
  # Returns the current UID as an integer. Encode as
380
413
  # Base58 to get the usual string version.
381
414
  def read_uid
382
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
415
+ check_validity
416
+
417
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
383
418
  end
384
419
 
385
420
  # Returns the UID, the UID where the Bricklet is connected to,
386
421
  # the position, the hardware and firmware version as well as the
387
422
  # device identifier.
388
423
  #
389
- # The position can be 'a', 'b', 'c' or 'd'.
424
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
425
+ # The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
426
+ # connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
427
+ # position 'z'.
390
428
  #
391
429
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
392
430
  # |device_identifier_constant|
393
431
  def get_identity
394
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
432
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
395
433
  end
396
434
 
397
435
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
@@ -1,14 +1,16 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-11-25. #
3
+ # This file was automatically generated on 2020-04-07. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.24 #
5
+ # Ruby Bindings Version 2.1.25 #
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 #
9
9
  # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
+ require_relative './ip_connection'
13
+
12
14
  module Tinkerforge
13
15
  # Controls one RGB LED
14
16
  class BrickletRGBLED < Device
@@ -23,7 +25,7 @@ module Tinkerforge
23
25
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
24
26
  # the IP Connection <tt>ipcon</tt>.
25
27
  def initialize(uid, ipcon)
26
- super uid, ipcon
28
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
27
29
 
28
30
  @api_version = [2, 0, 0]
29
31
 
@@ -32,28 +34,36 @@ module Tinkerforge
32
34
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
33
35
 
34
36
 
37
+ @ipcon.add_device self
35
38
  end
36
39
 
37
- # Sets the *r*, *g* and *b* values for the LED. Each value can be between 0 and 255.
40
+ # Sets the *r*, *g* and *b* values for the LED.
38
41
  def set_rgb_value(r, g, b)
39
- send_request FUNCTION_SET_RGB_VALUE, [r, g, b], 'C C C', 0, ''
42
+ check_validity
43
+
44
+ send_request FUNCTION_SET_RGB_VALUE, [r, g, b], 'C C C', 8, ''
40
45
  end
41
46
 
42
47
  # Returns the *r*, *g* and *b* values of the LED as set by BrickletRGBLED#set_rgb_value.
43
48
  def get_rgb_value
44
- send_request FUNCTION_GET_RGB_VALUE, [], '', 3, 'C C C'
49
+ check_validity
50
+
51
+ send_request FUNCTION_GET_RGB_VALUE, [], '', 11, 'C C C'
45
52
  end
46
53
 
47
54
  # Returns the UID, the UID where the Bricklet is connected to,
48
55
  # the position, the hardware and firmware version as well as the
49
56
  # device identifier.
50
57
  #
51
- # The position can be 'a', 'b', 'c' or 'd'.
58
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
59
+ # The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
60
+ # connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
61
+ # position 'z'.
52
62
  #
53
63
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
54
64
  # |device_identifier_constant|
55
65
  def get_identity
56
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
66
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
57
67
  end
58
68
 
59
69
  end
@@ -1,14 +1,16 @@
1
1
  # -*- ruby encoding: utf-8 -*-
2
2
  #############################################################
3
- # This file was automatically generated on 2019-11-25. #
3
+ # This file was automatically generated on 2020-04-07. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.24 #
5
+ # Ruby Bindings Version 2.1.25 #
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 #
9
9
  # to the generators git repository on tinkerforge.com #
10
10
  #############################################################
11
11
 
12
+ require_relative './ip_connection'
13
+
12
14
  module Tinkerforge
13
15
  # Push button with built-in RGB LED
14
16
  class BrickletRGBLEDButton < Device
@@ -60,7 +62,7 @@ module Tinkerforge
60
62
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
61
63
  # the IP Connection <tt>ipcon</tt>.
62
64
  def initialize(uid, ipcon)
63
- super uid, ipcon
65
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
64
66
 
65
67
  @api_version = [2, 0, 0]
66
68
 
@@ -82,43 +84,48 @@ module Tinkerforge
82
84
  @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
83
85
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
84
86
 
85
- @callback_formats[CALLBACK_BUTTON_STATE_CHANGED] = 'C'
87
+ @callback_formats[CALLBACK_BUTTON_STATE_CHANGED] = [9, 'C']
86
88
 
89
+ @ipcon.add_device self
87
90
  end
88
91
 
89
92
  # Sets the color of the LED.
90
- #
91
- # By default the LED is off (0, 0, 0).
92
93
  def set_color(red, green, blue)
93
- send_request FUNCTION_SET_COLOR, [red, green, blue], 'C C C', 0, ''
94
+ check_validity
95
+
96
+ send_request FUNCTION_SET_COLOR, [red, green, blue], 'C C C', 8, ''
94
97
  end
95
98
 
96
99
  # Returns the LED color as set by BrickletRGBLEDButton#set_color.
97
100
  def get_color
98
- send_request FUNCTION_GET_COLOR, [], '', 3, 'C C C'
101
+ check_validity
102
+
103
+ send_request FUNCTION_GET_COLOR, [], '', 11, 'C C C'
99
104
  end
100
105
 
101
106
  # Returns the current state of the button (either pressed or released).
102
107
  def get_button_state
103
- send_request FUNCTION_GET_BUTTON_STATE, [], '', 1, 'C'
108
+ check_validity
109
+
110
+ send_request FUNCTION_GET_BUTTON_STATE, [], '', 9, 'C'
104
111
  end
105
112
 
106
113
  # Sets a color calibration. Some colors appear brighter then others,
107
- # so a calibration may be necessary for nice uniform colors.
108
- #
109
- # The values range from 0% to 100%.
114
+ # so a calibration may be necessary for uniform colors.
110
115
  #
111
116
  # The calibration is saved in flash. You don't need to call this
112
117
  # function on every startup.
113
- #
114
- # Default value is (100, 100, 55).
115
118
  def set_color_calibration(red, green, blue)
116
- send_request FUNCTION_SET_COLOR_CALIBRATION, [red, green, blue], 'C C C', 0, ''
119
+ check_validity
120
+
121
+ send_request FUNCTION_SET_COLOR_CALIBRATION, [red, green, blue], 'C C C', 8, ''
117
122
  end
118
123
 
119
124
  # Returns the color calibration as set by BrickletRGBLEDButton#set_color_calibration.
120
125
  def get_color_calibration
121
- send_request FUNCTION_GET_COLOR_CALIBRATION, [], '', 3, 'C C C'
126
+ check_validity
127
+
128
+ send_request FUNCTION_GET_COLOR_CALIBRATION, [], '', 11, 'C C C'
122
129
  end
123
130
 
124
131
  # Returns the error count for the communication between Brick and Bricklet.
@@ -133,7 +140,9 @@ module Tinkerforge
133
140
  # The errors counts are for errors that occur on the Bricklet side. All
134
141
  # Bricks have a similar function that returns the errors on the Brick side.
135
142
  def get_spitfp_error_count
136
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
143
+ check_validity
144
+
145
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
137
146
  end
138
147
 
139
148
  # Sets the bootloader mode and returns the status after the requested
@@ -146,12 +155,16 @@ module Tinkerforge
146
155
  # This function is used by Brick Viewer during flashing. It should not be
147
156
  # necessary to call it in a normal user program.
148
157
  def set_bootloader_mode(mode)
149
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
158
+ check_validity
159
+
160
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
150
161
  end
151
162
 
152
163
  # Returns the current bootloader mode, see BrickletRGBLEDButton#set_bootloader_mode.
153
164
  def get_bootloader_mode
154
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
165
+ check_validity
166
+
167
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
155
168
  end
156
169
 
157
170
  # Sets the firmware pointer for BrickletRGBLEDButton#write_firmware. The pointer has
@@ -161,7 +174,9 @@ module Tinkerforge
161
174
  # This function is used by Brick Viewer during flashing. It should not be
162
175
  # necessary to call it in a normal user program.
163
176
  def set_write_firmware_pointer(pointer)
164
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
177
+ check_validity
178
+
179
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
165
180
  end
166
181
 
167
182
  # Writes 64 Bytes of firmware at the position as written by
@@ -173,7 +188,9 @@ module Tinkerforge
173
188
  # This function is used by Brick Viewer during flashing. It should not be
174
189
  # necessary to call it in a normal user program.
175
190
  def write_firmware(data)
176
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
191
+ check_validity
192
+
193
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
177
194
  end
178
195
 
179
196
  # Sets the status LED configuration. By default the LED shows
@@ -184,22 +201,28 @@ module Tinkerforge
184
201
  #
185
202
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
186
203
  def set_status_led_config(config)
187
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
204
+ check_validity
205
+
206
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
188
207
  end
189
208
 
190
209
  # Returns the configuration as set by BrickletRGBLEDButton#set_status_led_config
191
210
  def get_status_led_config
192
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
211
+ check_validity
212
+
213
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
193
214
  end
194
215
 
195
- # Returns the temperature in °C as measured inside the microcontroller. The
216
+ # Returns the temperature as measured inside the microcontroller. The
196
217
  # value returned is not the ambient temperature!
197
218
  #
198
219
  # The temperature is only proportional to the real temperature and it has bad
199
220
  # accuracy. Practically it is only useful as an indicator for
200
221
  # temperature changes.
201
222
  def get_chip_temperature
202
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
223
+ check_validity
224
+
225
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
203
226
  end
204
227
 
205
228
  # Calling this function will reset the Bricklet. All configurations
@@ -209,7 +232,9 @@ module Tinkerforge
209
232
  # calling functions on the existing ones will result in
210
233
  # undefined behavior!
211
234
  def reset
212
- send_request FUNCTION_RESET, [], '', 0, ''
235
+ check_validity
236
+
237
+ send_request FUNCTION_RESET, [], '', 8, ''
213
238
  end
214
239
 
215
240
  # Writes a new UID into flash. If you want to set a new UID
@@ -218,25 +243,32 @@ module Tinkerforge
218
243
  #
219
244
  # We recommend that you use Brick Viewer to change the UID.
220
245
  def write_uid(uid)
221
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
246
+ check_validity
247
+
248
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
222
249
  end
223
250
 
224
251
  # Returns the current UID as an integer. Encode as
225
252
  # Base58 to get the usual string version.
226
253
  def read_uid
227
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
254
+ check_validity
255
+
256
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
228
257
  end
229
258
 
230
259
  # Returns the UID, the UID where the Bricklet is connected to,
231
260
  # the position, the hardware and firmware version as well as the
232
261
  # device identifier.
233
262
  #
234
- # The position can be 'a', 'b', 'c' or 'd'.
263
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
264
+ # The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
265
+ # connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
266
+ # position 'z'.
235
267
  #
236
268
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
237
269
  # |device_identifier_constant|
238
270
  def get_identity
239
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
271
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
240
272
  end
241
273
 
242
274
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.