tinkerforge 2.1.24 → 2.1.29

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 (149) hide show
  1. checksums.yaml +5 -5
  2. data/lib/tinkerforge/brick_dc.rb +156 -75
  3. data/lib/tinkerforge/brick_hat.rb +69 -31
  4. data/lib/tinkerforge/brick_hat_zero.rb +55 -23
  5. data/lib/tinkerforge/brick_imu.rb +185 -78
  6. data/lib/tinkerforge/brick_imu_v2.rb +209 -106
  7. data/lib/tinkerforge/brick_master.rb +491 -183
  8. data/lib/tinkerforge/brick_red.rb +197 -74
  9. data/lib/tinkerforge/brick_servo.rb +186 -102
  10. data/lib/tinkerforge/brick_silent_stepper.rb +247 -167
  11. data/lib/tinkerforge/brick_stepper.rb +211 -99
  12. data/lib/tinkerforge/bricklet_accelerometer.rb +57 -23
  13. data/lib/tinkerforge/bricklet_accelerometer_v2.rb +104 -54
  14. data/lib/tinkerforge/bricklet_air_quality.rb +116 -59
  15. data/lib/tinkerforge/bricklet_ambient_light.rb +50 -21
  16. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +44 -24
  17. data/lib/tinkerforge/bricklet_ambient_light_v3.rb +65 -27
  18. data/lib/tinkerforge/bricklet_analog_in.rb +62 -25
  19. data/lib/tinkerforge/bricklet_analog_in_v2.rb +56 -23
  20. data/lib/tinkerforge/bricklet_analog_in_v3.rb +66 -25
  21. data/lib/tinkerforge/bricklet_analog_out.rb +22 -9
  22. data/lib/tinkerforge/bricklet_analog_out_v2.rb +19 -8
  23. data/lib/tinkerforge/bricklet_analog_out_v3.rb +53 -20
  24. data/lib/tinkerforge/bricklet_barometer.rb +100 -27
  25. data/lib/tinkerforge/bricklet_barometer_v2.rb +98 -37
  26. data/lib/tinkerforge/bricklet_can.rb +83 -19
  27. data/lib/tinkerforge/bricklet_can_v2.rb +171 -38
  28. data/lib/tinkerforge/bricklet_co2.rb +33 -14
  29. data/lib/tinkerforge/bricklet_co2_v2.rb +97 -38
  30. data/lib/tinkerforge/bricklet_color.rb +68 -27
  31. data/lib/tinkerforge/bricklet_color_v2.rb +86 -33
  32. data/lib/tinkerforge/bricklet_compass.rb +77 -30
  33. data/lib/tinkerforge/bricklet_current12.rb +57 -24
  34. data/lib/tinkerforge/bricklet_current25.rb +57 -24
  35. data/lib/tinkerforge/bricklet_dc_v2.rb +521 -0
  36. data/lib/tinkerforge/bricklet_distance_ir.rb +56 -23
  37. data/lib/tinkerforge/bricklet_distance_ir_v2.rb +82 -31
  38. data/lib/tinkerforge/bricklet_distance_us.rb +39 -16
  39. data/lib/tinkerforge/bricklet_distance_us_v2.rb +66 -25
  40. data/lib/tinkerforge/bricklet_dmx.rb +87 -34
  41. data/lib/tinkerforge/bricklet_dual_button.rb +23 -10
  42. data/lib/tinkerforge/bricklet_dual_button_v2.rb +63 -24
  43. data/lib/tinkerforge/bricklet_dual_relay.rb +26 -11
  44. data/lib/tinkerforge/bricklet_dust_detector.rb +39 -16
  45. data/lib/tinkerforge/bricklet_e_paper_296x128.rb +87 -32
  46. data/lib/tinkerforge/bricklet_energy_monitor.rb +72 -27
  47. data/lib/tinkerforge/bricklet_gps.rb +63 -26
  48. data/lib/tinkerforge/bricklet_gps_v2.rb +116 -47
  49. data/lib/tinkerforge/bricklet_hall_effect.rb +42 -23
  50. data/lib/tinkerforge/bricklet_hall_effect_v2.rb +70 -27
  51. data/lib/tinkerforge/bricklet_humidity.rb +50 -21
  52. data/lib/tinkerforge/bricklet_humidity_v2.rb +82 -31
  53. data/lib/tinkerforge/bricklet_imu_v3.rb +784 -0
  54. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +37 -14
  55. data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +80 -29
  56. data/lib/tinkerforge/bricklet_industrial_counter.rb +100 -39
  57. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +44 -17
  58. data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +76 -29
  59. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +35 -14
  60. data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +72 -27
  61. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +39 -16
  62. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +79 -30
  63. data/lib/tinkerforge/bricklet_industrial_dual_ac_relay.rb +325 -0
  64. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +48 -19
  65. data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +137 -31
  66. data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +60 -23
  67. data/lib/tinkerforge/bricklet_industrial_ptc.rb +475 -0
  68. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +35 -14
  69. data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +66 -25
  70. data/lib/tinkerforge/bricklet_io16.rb +54 -21
  71. data/lib/tinkerforge/bricklet_io16_v2.rb +89 -34
  72. data/lib/tinkerforge/bricklet_io4.rb +54 -23
  73. data/lib/tinkerforge/bricklet_io4_v2.rb +95 -36
  74. data/lib/tinkerforge/bricklet_isolator.rb +72 -29
  75. data/lib/tinkerforge/bricklet_joystick.rb +58 -25
  76. data/lib/tinkerforge/bricklet_joystick_v2.rb +67 -26
  77. data/lib/tinkerforge/bricklet_laser_range_finder.rb +81 -32
  78. data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +95 -36
  79. data/lib/tinkerforge/bricklet_lcd_128x64.rb +191 -70
  80. data/lib/tinkerforge/bricklet_lcd_16x2.rb +44 -18
  81. data/lib/tinkerforge/bricklet_lcd_20x4.rb +57 -23
  82. data/lib/tinkerforge/bricklet_led_strip.rb +59 -22
  83. data/lib/tinkerforge/bricklet_led_strip_v2.rb +90 -46
  84. data/lib/tinkerforge/bricklet_line.rb +33 -14
  85. data/lib/tinkerforge/bricklet_linear_poti.rb +50 -21
  86. data/lib/tinkerforge/bricklet_linear_poti_v2.rb +54 -21
  87. data/lib/tinkerforge/bricklet_load_cell.rb +60 -23
  88. data/lib/tinkerforge/bricklet_load_cell_v2.rb +79 -30
  89. data/lib/tinkerforge/bricklet_moisture.rb +39 -16
  90. data/lib/tinkerforge/bricklet_motion_detector.rb +21 -10
  91. data/lib/tinkerforge/bricklet_motion_detector_v2.rb +61 -27
  92. data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +70 -27
  93. data/lib/tinkerforge/bricklet_multi_touch.rb +30 -13
  94. data/lib/tinkerforge/bricklet_multi_touch_v2.rb +75 -28
  95. data/lib/tinkerforge/bricklet_nfc.rb +126 -62
  96. data/lib/tinkerforge/bricklet_nfc_rfid.rb +32 -13
  97. data/lib/tinkerforge/bricklet_oled_128x64.rb +28 -11
  98. data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +65 -24
  99. data/lib/tinkerforge/bricklet_oled_64x48.rb +28 -11
  100. data/lib/tinkerforge/bricklet_one_wire.rb +65 -24
  101. data/lib/tinkerforge/bricklet_outdoor_weather.rb +71 -28
  102. data/lib/tinkerforge/bricklet_particulate_matter.rb +74 -30
  103. data/lib/tinkerforge/bricklet_performance_dc.rb +682 -0
  104. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +18 -9
  105. data/lib/tinkerforge/bricklet_piezo_speaker.rb +21 -10
  106. data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +79 -42
  107. data/lib/tinkerforge/bricklet_ptc.rb +73 -42
  108. data/lib/tinkerforge/bricklet_ptc_v2.rb +94 -48
  109. data/lib/tinkerforge/bricklet_real_time_clock.rb +44 -33
  110. data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +77 -44
  111. data/lib/tinkerforge/bricklet_remote_switch.rb +38 -29
  112. data/lib/tinkerforge/bricklet_remote_switch_v2.rb +86 -49
  113. data/lib/tinkerforge/bricklet_rgb_led.rb +17 -8
  114. data/lib/tinkerforge/bricklet_rgb_led_button.rb +61 -30
  115. data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +78 -33
  116. data/lib/tinkerforge/bricklet_rgb_led_v2.rb +51 -20
  117. data/lib/tinkerforge/bricklet_rotary_encoder.rb +38 -19
  118. data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +59 -24
  119. data/lib/tinkerforge/bricklet_rotary_poti.rb +52 -28
  120. data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +56 -23
  121. data/lib/tinkerforge/bricklet_rs232.rb +89 -28
  122. data/lib/tinkerforge/bricklet_rs232_v2.rb +117 -44
  123. data/lib/tinkerforge/bricklet_rs485.rb +222 -95
  124. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +24 -14
  125. data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +74 -35
  126. data/lib/tinkerforge/bricklet_servo_v2.rb +565 -0
  127. data/lib/tinkerforge/bricklet_silent_stepper_v2.rb +1024 -0
  128. data/lib/tinkerforge/bricklet_solid_state_relay.rb +24 -13
  129. data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +58 -25
  130. data/lib/tinkerforge/bricklet_sound_intensity.rb +34 -18
  131. data/lib/tinkerforge/bricklet_sound_pressure_level.rb +71 -31
  132. data/lib/tinkerforge/bricklet_temperature.rb +39 -16
  133. data/lib/tinkerforge/bricklet_temperature_ir.rb +56 -23
  134. data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +70 -27
  135. data/lib/tinkerforge/bricklet_temperature_v2.rb +60 -25
  136. data/lib/tinkerforge/bricklet_thermal_imaging.rb +104 -44
  137. data/lib/tinkerforge/bricklet_thermocouple.rb +44 -24
  138. data/lib/tinkerforge/bricklet_thermocouple_v2.rb +64 -27
  139. data/lib/tinkerforge/bricklet_tilt.rb +23 -10
  140. data/lib/tinkerforge/bricklet_uv_light.rb +35 -18
  141. data/lib/tinkerforge/bricklet_uv_light_v2.rb +84 -37
  142. data/lib/tinkerforge/bricklet_voltage.rb +51 -28
  143. data/lib/tinkerforge/bricklet_voltage_current.rb +90 -73
  144. data/lib/tinkerforge/bricklet_voltage_current_v2.rb +89 -68
  145. data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +79 -30
  146. data/lib/tinkerforge/device_display_names.rb +170 -0
  147. data/lib/tinkerforge/ip_connection.rb +153 -33
  148. data/lib/tinkerforge/version.rb +1 -1
  149. metadata +11 -3
@@ -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 2021-05-06. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.24 #
5
+ # Ruby Bindings Version 2.1.29 #
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
  # Reads temperatures from Pt100 und Pt1000 sensors
14
16
  class BrickletPTCV2 < Device
@@ -90,7 +92,7 @@ module Tinkerforge
90
92
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
91
93
  # the IP Connection <tt>ipcon</tt>.
92
94
  def initialize(uid, ipcon)
93
- super uid, ipcon
95
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
94
96
 
95
97
  @api_version = [2, 0, 0]
96
98
 
@@ -122,22 +124,23 @@ module Tinkerforge
122
124
  @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
123
125
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
124
126
 
125
- @callback_formats[CALLBACK_TEMPERATURE] = 'l'
126
- @callback_formats[CALLBACK_RESISTANCE] = 'l'
127
- @callback_formats[CALLBACK_SENSOR_CONNECTED] = '?'
127
+ @callback_formats[CALLBACK_TEMPERATURE] = [12, 'l']
128
+ @callback_formats[CALLBACK_RESISTANCE] = [12, 'l']
129
+ @callback_formats[CALLBACK_SENSOR_CONNECTED] = [9, '?']
128
130
 
131
+ @ipcon.add_device self
129
132
  end
130
133
 
131
- # Returns the temperature of the connected sensor. The value
132
- # has a range of -246 to 849 °C and is given in °C/100,
133
- # e.g. a value of 4223 means that a temperature of 42.23 °C is measured.
134
+ # Returns the temperature of the connected sensor.
134
135
  #
135
136
  #
136
137
  # If you want to get the value periodically, it is recommended to use the
137
138
  # CALLBACK_TEMPERATURE callback. You can set the callback configuration
138
139
  # with BrickletPTCV2#set_temperature_callback_configuration.
139
140
  def get_temperature
140
- send_request FUNCTION_GET_TEMPERATURE, [], '', 4, 'l'
141
+ check_validity
142
+
143
+ send_request FUNCTION_GET_TEMPERATURE, [], '', 12, 'l'
141
144
  end
142
145
 
143
146
  # The period is the period with which the CALLBACK_TEMPERATURE callback is triggered
@@ -166,12 +169,16 @@ module Tinkerforge
166
169
  #
167
170
  # If the option is set to 'x' (threshold turned off) the callback is triggered with the fixed period.
168
171
  def set_temperature_callback_configuration(period, value_has_to_change, option, min, max)
169
- send_request FUNCTION_SET_TEMPERATURE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 0, ''
172
+ check_validity
173
+
174
+ send_request FUNCTION_SET_TEMPERATURE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 8, ''
170
175
  end
171
176
 
172
177
  # Returns the callback configuration as set by BrickletPTCV2#set_temperature_callback_configuration.
173
178
  def get_temperature_callback_configuration
174
- send_request FUNCTION_GET_TEMPERATURE_CALLBACK_CONFIGURATION, [], '', 14, 'L ? k l l'
179
+ check_validity
180
+
181
+ send_request FUNCTION_GET_TEMPERATURE_CALLBACK_CONFIGURATION, [], '', 22, 'L ? k l l'
175
182
  end
176
183
 
177
184
  # Returns the value as measured by the MAX31865 precision delta-sigma ADC.
@@ -186,7 +193,9 @@ module Tinkerforge
186
193
  # CALLBACK_RESISTANCE callback. You can set the callback configuration
187
194
  # with BrickletPTCV2#set_resistance_callback_configuration.
188
195
  def get_resistance
189
- send_request FUNCTION_GET_RESISTANCE, [], '', 4, 'l'
196
+ check_validity
197
+
198
+ send_request FUNCTION_GET_RESISTANCE, [], '', 12, 'l'
190
199
  end
191
200
 
192
201
  # The period is the period with which the CALLBACK_RESISTANCE callback is triggered
@@ -215,28 +224,34 @@ module Tinkerforge
215
224
  #
216
225
  # If the option is set to 'x' (threshold turned off) the callback is triggered with the fixed period.
217
226
  def set_resistance_callback_configuration(period, value_has_to_change, option, min, max)
218
- send_request FUNCTION_SET_RESISTANCE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 0, ''
227
+ check_validity
228
+
229
+ send_request FUNCTION_SET_RESISTANCE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 8, ''
219
230
  end
220
231
 
221
232
  # Returns the callback configuration as set by BrickletPTCV2#set_resistance_callback_configuration.
222
233
  def get_resistance_callback_configuration
223
- send_request FUNCTION_GET_RESISTANCE_CALLBACK_CONFIGURATION, [], '', 14, 'L ? k l l'
234
+ check_validity
235
+
236
+ send_request FUNCTION_GET_RESISTANCE_CALLBACK_CONFIGURATION, [], '', 22, 'L ? k l l'
224
237
  end
225
238
 
226
239
  # Sets the noise rejection filter to either 50Hz (0) or 60Hz (1).
227
240
  # Noise from 50Hz or 60Hz power sources (including
228
241
  # harmonics of the AC power's fundamental frequency) is
229
242
  # attenuated by 82dB.
230
- #
231
- # Default value is 0 = 50Hz.
232
243
  def set_noise_rejection_filter(filter)
233
- send_request FUNCTION_SET_NOISE_REJECTION_FILTER, [filter], 'C', 0, ''
244
+ check_validity
245
+
246
+ send_request FUNCTION_SET_NOISE_REJECTION_FILTER, [filter], 'C', 8, ''
234
247
  end
235
248
 
236
249
  # Returns the noise rejection filter option as set by
237
250
  # BrickletPTCV2#set_noise_rejection_filter
238
251
  def get_noise_rejection_filter
239
- send_request FUNCTION_GET_NOISE_REJECTION_FILTER, [], '', 1, 'C'
252
+ check_validity
253
+
254
+ send_request FUNCTION_GET_NOISE_REJECTION_FILTER, [], '', 9, 'C'
240
255
  end
241
256
 
242
257
  # Returns *true* if the sensor is connected correctly.
@@ -249,21 +264,25 @@ module Tinkerforge
249
264
  # CALLBACK_SENSOR_CONNECTED callback. You can set the callback configuration
250
265
  # with BrickletPTCV2#set_sensor_connected_callback_configuration.
251
266
  def is_sensor_connected
252
- send_request FUNCTION_IS_SENSOR_CONNECTED, [], '', 1, '?'
267
+ check_validity
268
+
269
+ send_request FUNCTION_IS_SENSOR_CONNECTED, [], '', 9, '?'
253
270
  end
254
271
 
255
272
  # Sets the wire mode of the sensor. Possible values are 2, 3 and 4 which
256
273
  # correspond to 2-, 3- and 4-wire sensors. The value has to match the jumper
257
274
  # configuration on the Bricklet.
258
- #
259
- # The default value is 2 = 2-wire.
260
275
  def set_wire_mode(mode)
261
- send_request FUNCTION_SET_WIRE_MODE, [mode], 'C', 0, ''
276
+ check_validity
277
+
278
+ send_request FUNCTION_SET_WIRE_MODE, [mode], 'C', 8, ''
262
279
  end
263
280
 
264
281
  # Returns the wire mode as set by BrickletPTCV2#set_wire_mode
265
282
  def get_wire_mode
266
- send_request FUNCTION_GET_WIRE_MODE, [], '', 1, 'C'
283
+ check_validity
284
+
285
+ send_request FUNCTION_GET_WIRE_MODE, [], '', 9, 'C'
267
286
  end
268
287
 
269
288
  # Sets the length of a `moving averaging <https://en.wikipedia.org/wiki/Moving_average>`__
@@ -272,34 +291,37 @@ module Tinkerforge
272
291
  # Setting the length to 1 will turn the averaging off. With less
273
292
  # averaging, there is more noise on the data.
274
293
  #
275
- # The range for the averaging is 1-1000.
276
- #
277
294
  # New data is gathered every 20ms. With a moving average of length 1000 the resulting
278
295
  # averaging window has a length of 20s. If you want to do long term measurements the longest
279
296
  # moving average will give the cleanest results.
280
297
  #
281
- # The default value is 1 for resistance and 40 for temperature. The default values match
282
- # the non-changeable averaging settings of the old PTC Bricklet 1.0
298
+ # The default values match the non-changeable averaging settings of the old PTC Bricklet 1.0
283
299
  def set_moving_average_configuration(moving_average_length_resistance, moving_average_length_temperature)
284
- send_request FUNCTION_SET_MOVING_AVERAGE_CONFIGURATION, [moving_average_length_resistance, moving_average_length_temperature], 'S S', 0, ''
300
+ check_validity
301
+
302
+ send_request FUNCTION_SET_MOVING_AVERAGE_CONFIGURATION, [moving_average_length_resistance, moving_average_length_temperature], 'S S', 8, ''
285
303
  end
286
304
 
287
305
  # Returns the moving average configuration as set by BrickletPTCV2#set_moving_average_configuration.
288
306
  def get_moving_average_configuration
289
- send_request FUNCTION_GET_MOVING_AVERAGE_CONFIGURATION, [], '', 4, 'S S'
307
+ check_validity
308
+
309
+ send_request FUNCTION_GET_MOVING_AVERAGE_CONFIGURATION, [], '', 12, 'S S'
290
310
  end
291
311
 
292
312
  # If you enable this callback, the CALLBACK_SENSOR_CONNECTED callback is triggered
293
313
  # every time a Pt sensor is connected/disconnected.
294
- #
295
- # By default this callback is disabled.
296
314
  def set_sensor_connected_callback_configuration(enabled)
297
- send_request FUNCTION_SET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [enabled], '?', 0, ''
315
+ check_validity
316
+
317
+ send_request FUNCTION_SET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [enabled], '?', 8, ''
298
318
  end
299
319
 
300
320
  # Returns the configuration as set by BrickletPTCV2#set_sensor_connected_callback_configuration.
301
321
  def get_sensor_connected_callback_configuration
302
- send_request FUNCTION_GET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [], '', 1, '?'
322
+ check_validity
323
+
324
+ send_request FUNCTION_GET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [], '', 9, '?'
303
325
  end
304
326
 
305
327
  # Returns the error count for the communication between Brick and Bricklet.
@@ -314,7 +336,9 @@ module Tinkerforge
314
336
  # The errors counts are for errors that occur on the Bricklet side. All
315
337
  # Bricks have a similar function that returns the errors on the Brick side.
316
338
  def get_spitfp_error_count
317
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
339
+ check_validity
340
+
341
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
318
342
  end
319
343
 
320
344
  # Sets the bootloader mode and returns the status after the requested
@@ -327,12 +351,16 @@ module Tinkerforge
327
351
  # This function is used by Brick Viewer during flashing. It should not be
328
352
  # necessary to call it in a normal user program.
329
353
  def set_bootloader_mode(mode)
330
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
354
+ check_validity
355
+
356
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
331
357
  end
332
358
 
333
359
  # Returns the current bootloader mode, see BrickletPTCV2#set_bootloader_mode.
334
360
  def get_bootloader_mode
335
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
361
+ check_validity
362
+
363
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
336
364
  end
337
365
 
338
366
  # Sets the firmware pointer for BrickletPTCV2#write_firmware. The pointer has
@@ -342,7 +370,9 @@ module Tinkerforge
342
370
  # This function is used by Brick Viewer during flashing. It should not be
343
371
  # necessary to call it in a normal user program.
344
372
  def set_write_firmware_pointer(pointer)
345
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
373
+ check_validity
374
+
375
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
346
376
  end
347
377
 
348
378
  # Writes 64 Bytes of firmware at the position as written by
@@ -354,7 +384,9 @@ module Tinkerforge
354
384
  # This function is used by Brick Viewer during flashing. It should not be
355
385
  # necessary to call it in a normal user program.
356
386
  def write_firmware(data)
357
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
387
+ check_validity
388
+
389
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
358
390
  end
359
391
 
360
392
  # Sets the status LED configuration. By default the LED shows
@@ -365,22 +397,28 @@ module Tinkerforge
365
397
  #
366
398
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
367
399
  def set_status_led_config(config)
368
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
400
+ check_validity
401
+
402
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
369
403
  end
370
404
 
371
405
  # Returns the configuration as set by BrickletPTCV2#set_status_led_config
372
406
  def get_status_led_config
373
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
407
+ check_validity
408
+
409
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
374
410
  end
375
411
 
376
- # Returns the temperature in °C as measured inside the microcontroller. The
412
+ # Returns the temperature as measured inside the microcontroller. The
377
413
  # value returned is not the ambient temperature!
378
414
  #
379
415
  # The temperature is only proportional to the real temperature and it has bad
380
416
  # accuracy. Practically it is only useful as an indicator for
381
417
  # temperature changes.
382
418
  def get_chip_temperature
383
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
419
+ check_validity
420
+
421
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
384
422
  end
385
423
 
386
424
  # Calling this function will reset the Bricklet. All configurations
@@ -390,7 +428,9 @@ module Tinkerforge
390
428
  # calling functions on the existing ones will result in
391
429
  # undefined behavior!
392
430
  def reset
393
- send_request FUNCTION_RESET, [], '', 0, ''
431
+ check_validity
432
+
433
+ send_request FUNCTION_RESET, [], '', 8, ''
394
434
  end
395
435
 
396
436
  # Writes a new UID into flash. If you want to set a new UID
@@ -399,25 +439,31 @@ module Tinkerforge
399
439
  #
400
440
  # We recommend that you use Brick Viewer to change the UID.
401
441
  def write_uid(uid)
402
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
442
+ check_validity
443
+
444
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
403
445
  end
404
446
 
405
447
  # Returns the current UID as an integer. Encode as
406
448
  # Base58 to get the usual string version.
407
449
  def read_uid
408
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
450
+ check_validity
451
+
452
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
409
453
  end
410
454
 
411
455
  # Returns the UID, the UID where the Bricklet is connected to,
412
456
  # the position, the hardware and firmware version as well as the
413
457
  # device identifier.
414
458
  #
415
- # The position can be 'a', 'b', 'c' or 'd'.
459
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
460
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
461
+ # position 'z'.
416
462
  #
417
463
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
418
464
  # |device_identifier_constant|
419
465
  def get_identity
420
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
466
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
421
467
  end
422
468
 
423
469
  # 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 2021-05-06. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.24 #
5
+ # Ruby Bindings Version 2.1.29 #
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
  # Battery-backed real-time clock
14
16
  class BrickletRealTimeClock < Device
@@ -56,7 +58,7 @@ module Tinkerforge
56
58
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
57
59
  # the IP Connection <tt>ipcon</tt>.
58
60
  def initialize(uid, ipcon)
59
- super uid, ipcon
61
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
60
62
 
61
63
  @api_version = [2, 0, 1]
62
64
 
@@ -71,24 +73,13 @@ module Tinkerforge
71
73
  @response_expected[FUNCTION_GET_ALARM] = RESPONSE_EXPECTED_ALWAYS_TRUE
72
74
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
73
75
 
74
- @callback_formats[CALLBACK_DATE_TIME] = 'S C C C C C C C q'
75
- @callback_formats[CALLBACK_ALARM] = 'S C C C C C C C q'
76
+ @callback_formats[CALLBACK_DATE_TIME] = [25, 'S C C C C C C C q']
77
+ @callback_formats[CALLBACK_ALARM] = [25, 'S C C C C C C C q']
76
78
 
79
+ @ipcon.add_device self
77
80
  end
78
81
 
79
- # Sets the current date (including weekday) and the current time with hundredths
80
- # of a second resolution.
81
- #
82
- # Possible value ranges:
83
- #
84
- # * Year: 2000 to 2099
85
- # * Month: 1 to 12 (January to December)
86
- # * Day: 1 to 31
87
- # * Hour: 0 to 23
88
- # * Minute: 0 to 59
89
- # * Second: 0 to 59
90
- # * Centisecond: 0 to 99
91
- # * Weekday: 1 to 7 (Monday to Sunday)
82
+ # Sets the current date (including weekday) and the current time.
92
83
  #
93
84
  # If the backup battery is installed then the real-time clock keeps date and
94
85
  # time even if the Bricklet is not powered by a Brick.
@@ -97,20 +88,26 @@ module Tinkerforge
97
88
  # accordingly. But leap seconds, time zones and daylight saving time are not
98
89
  # handled.
99
90
  def set_date_time(year, month, day, hour, minute, second, centisecond, weekday)
100
- send_request FUNCTION_SET_DATE_TIME, [year, month, day, hour, minute, second, centisecond, weekday], 'S C C C C C C C', 0, ''
91
+ check_validity
92
+
93
+ send_request FUNCTION_SET_DATE_TIME, [year, month, day, hour, minute, second, centisecond, weekday], 'S C C C C C C C', 8, ''
101
94
  end
102
95
 
103
96
  # Returns the current date (including weekday) and the current time of the
104
- # real-time clock with hundredths of a second resolution.
97
+ # real-time clock.
105
98
  def get_date_time
106
- send_request FUNCTION_GET_DATE_TIME, [], '', 9, 'S C C C C C C C'
99
+ check_validity
100
+
101
+ send_request FUNCTION_GET_DATE_TIME, [], '', 17, 'S C C C C C C C'
107
102
  end
108
103
 
109
- # Returns the current date and the time of the real-time clock converted to
110
- # milliseconds. The timestamp has an effective resolution of hundredths of a
111
- # second.
104
+ # Returns the current date and the time of the real-time clock.
105
+ # The timestamp has an effective resolution of hundredths of a
106
+ # second and is an offset to 2000-01-01 00:00:00.000.
112
107
  def get_timestamp
113
- send_request FUNCTION_GET_TIMESTAMP, [], '', 8, 'q'
108
+ check_validity
109
+
110
+ send_request FUNCTION_GET_TIMESTAMP, [], '', 16, 'q'
114
111
  end
115
112
 
116
113
  # Sets the offset the real-time clock should compensate for in 2.17 ppm steps
@@ -139,12 +136,16 @@ module Tinkerforge
139
136
  # The offset is saved in the EEPROM of the Bricklet and only needs to be
140
137
  # configured once.
141
138
  def set_offset(offset)
142
- send_request FUNCTION_SET_OFFSET, [offset], 'c', 0, ''
139
+ check_validity
140
+
141
+ send_request FUNCTION_SET_OFFSET, [offset], 'c', 8, ''
143
142
  end
144
143
 
145
144
  # Returns the offset as set by BrickletRealTimeClock#set_offset.
146
145
  def get_offset
147
- send_request FUNCTION_GET_OFFSET, [], '', 1, 'c'
146
+ check_validity
147
+
148
+ send_request FUNCTION_GET_OFFSET, [], '', 9, 'c'
148
149
  end
149
150
 
150
151
  # Sets the period with which the CALLBACK_DATE_TIME callback is triggered
@@ -155,14 +156,18 @@ module Tinkerforge
155
156
  #
156
157
  # .. versionadded:: 2.0.1$nbsp;(Plugin)
157
158
  def set_date_time_callback_period(period)
158
- send_request FUNCTION_SET_DATE_TIME_CALLBACK_PERIOD, [period], 'L', 0, ''
159
+ check_validity
160
+
161
+ send_request FUNCTION_SET_DATE_TIME_CALLBACK_PERIOD, [period], 'L', 8, ''
159
162
  end
160
163
 
161
164
  # Returns the period as set by BrickletRealTimeClock#set_date_time_callback_period.
162
165
  #
163
166
  # .. versionadded:: 2.0.1$nbsp;(Plugin)
164
167
  def get_date_time_callback_period
165
- send_request FUNCTION_GET_DATE_TIME_CALLBACK_PERIOD, [], '', 4, 'L'
168
+ check_validity
169
+
170
+ send_request FUNCTION_GET_DATE_TIME_CALLBACK_PERIOD, [], '', 12, 'L'
166
171
  end
167
172
 
168
173
  # Configures a repeatable alarm. The CALLBACK_ALARM callback is triggered if the
@@ -192,26 +197,32 @@ module Tinkerforge
192
197
  #
193
198
  # .. versionadded:: 2.0.1$nbsp;(Plugin)
194
199
  def set_alarm(month, day, hour, minute, second, weekday, interval)
195
- send_request FUNCTION_SET_ALARM, [month, day, hour, minute, second, weekday, interval], 'c c c c c c l', 0, ''
200
+ check_validity
201
+
202
+ send_request FUNCTION_SET_ALARM, [month, day, hour, minute, second, weekday, interval], 'c c c c c c l', 8, ''
196
203
  end
197
204
 
198
205
  # Returns the alarm configuration as set by BrickletRealTimeClock#set_alarm.
199
206
  #
200
207
  # .. versionadded:: 2.0.1$nbsp;(Plugin)
201
208
  def get_alarm
202
- send_request FUNCTION_GET_ALARM, [], '', 10, 'c c c c c c l'
209
+ check_validity
210
+
211
+ send_request FUNCTION_GET_ALARM, [], '', 18, 'c c c c c c l'
203
212
  end
204
213
 
205
214
  # Returns the UID, the UID where the Bricklet is connected to,
206
215
  # the position, the hardware and firmware version as well as the
207
216
  # device identifier.
208
217
  #
209
- # The position can be 'a', 'b', 'c' or 'd'.
218
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
219
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
220
+ # position 'z'.
210
221
  #
211
222
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
212
223
  # |device_identifier_constant|
213
224
  def get_identity
214
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
225
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
215
226
  end
216
227
 
217
228
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.