tinkerforge 2.1.22 → 2.1.27

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 (144) hide show
  1. checksums.yaml +5 -5
  2. data/lib/tinkerforge/brick_dc.rb +157 -76
  3. data/lib/tinkerforge/brick_hat.rb +115 -32
  4. data/lib/tinkerforge/brick_hat_zero.rb +119 -21
  5. data/lib/tinkerforge/brick_imu.rb +192 -87
  6. data/lib/tinkerforge/brick_imu_v2.rb +220 -119
  7. data/lib/tinkerforge/brick_master.rb +498 -198
  8. data/lib/tinkerforge/brick_red.rb +197 -74
  9. data/lib/tinkerforge/brick_servo.rb +187 -103
  10. data/lib/tinkerforge/brick_silent_stepper.rb +249 -169
  11. data/lib/tinkerforge/brick_stepper.rb +214 -102
  12. data/lib/tinkerforge/bricklet_accelerometer.rb +61 -36
  13. data/lib/tinkerforge/bricklet_accelerometer_v2.rb +167 -48
  14. data/lib/tinkerforge/bricklet_air_quality.rb +123 -76
  15. data/lib/tinkerforge/bricklet_ambient_light.rb +62 -46
  16. data/lib/tinkerforge/bricklet_ambient_light_v2.rb +41 -28
  17. data/lib/tinkerforge/bricklet_ambient_light_v3.rb +61 -28
  18. data/lib/tinkerforge/bricklet_analog_in.rb +66 -45
  19. data/lib/tinkerforge/bricklet_analog_in_v2.rb +60 -43
  20. data/lib/tinkerforge/bricklet_analog_in_v3.rb +68 -32
  21. data/lib/tinkerforge/bricklet_analog_out.rb +25 -16
  22. data/lib/tinkerforge/bricklet_analog_out_v2.rb +21 -10
  23. data/lib/tinkerforge/bricklet_analog_out_v3.rb +55 -22
  24. data/lib/tinkerforge/bricklet_barometer.rb +108 -58
  25. data/lib/tinkerforge/bricklet_barometer_v2.rb +109 -67
  26. data/lib/tinkerforge/bricklet_can.rb +84 -24
  27. data/lib/tinkerforge/bricklet_can_v2.rb +173 -72
  28. data/lib/tinkerforge/bricklet_co2.rb +36 -25
  29. data/lib/tinkerforge/bricklet_co2_v2.rb +119 -60
  30. data/lib/tinkerforge/bricklet_color.rb +77 -49
  31. data/lib/tinkerforge/bricklet_color_v2.rb +493 -0
  32. data/lib/tinkerforge/bricklet_compass.rb +397 -0
  33. data/lib/tinkerforge/bricklet_current12.rb +61 -40
  34. data/lib/tinkerforge/bricklet_current25.rb +61 -40
  35. data/lib/tinkerforge/bricklet_distance_ir.rb +60 -38
  36. data/lib/tinkerforge/bricklet_distance_ir_v2.rb +85 -45
  37. data/lib/tinkerforge/bricklet_distance_us.rb +43 -30
  38. data/lib/tinkerforge/bricklet_distance_us_v2.rb +335 -0
  39. data/lib/tinkerforge/bricklet_dmx.rb +92 -48
  40. data/lib/tinkerforge/bricklet_dual_button.rb +23 -12
  41. data/lib/tinkerforge/bricklet_dual_button_v2.rb +64 -29
  42. data/lib/tinkerforge/bricklet_dual_relay.rb +27 -14
  43. data/lib/tinkerforge/bricklet_dust_detector.rb +43 -30
  44. data/lib/tinkerforge/bricklet_e_paper_296x128.rb +115 -63
  45. data/lib/tinkerforge/bricklet_energy_monitor.rb +416 -0
  46. data/lib/tinkerforge/bricklet_gps.rb +72 -48
  47. data/lib/tinkerforge/bricklet_gps_v2.rb +124 -73
  48. data/lib/tinkerforge/bricklet_hall_effect.rb +43 -28
  49. data/lib/tinkerforge/bricklet_hall_effect_v2.rb +76 -44
  50. data/lib/tinkerforge/bricklet_humidity.rb +54 -38
  51. data/lib/tinkerforge/bricklet_humidity_v2.rb +86 -49
  52. data/lib/tinkerforge/bricklet_imu_v3.rb +784 -0
  53. data/lib/tinkerforge/bricklet_industrial_analog_out.rb +41 -18
  54. data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +84 -40
  55. data/lib/tinkerforge/bricklet_industrial_counter.rb +102 -59
  56. data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +51 -24
  57. data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +79 -40
  58. data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +36 -15
  59. data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +75 -33
  60. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +43 -29
  61. data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +81 -44
  62. data/lib/tinkerforge/bricklet_industrial_dual_ac_relay.rb +325 -0
  63. data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +51 -30
  64. data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +139 -40
  65. data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +63 -28
  66. data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +36 -15
  67. data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +67 -28
  68. data/lib/tinkerforge/bricklet_io16.rb +57 -32
  69. data/lib/tinkerforge/bricklet_io16_v2.rb +93 -48
  70. data/lib/tinkerforge/bricklet_io4.rb +56 -31
  71. data/lib/tinkerforge/bricklet_io4_v2.rb +109 -57
  72. data/lib/tinkerforge/bricklet_isolator.rb +111 -35
  73. data/lib/tinkerforge/bricklet_joystick.rb +63 -42
  74. data/lib/tinkerforge/bricklet_joystick_v2.rb +71 -35
  75. data/lib/tinkerforge/bricklet_laser_range_finder.rb +87 -59
  76. data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +101 -53
  77. data/lib/tinkerforge/bricklet_lcd_128x64.rb +241 -131
  78. data/lib/tinkerforge/bricklet_lcd_16x2.rb +49 -25
  79. data/lib/tinkerforge/bricklet_lcd_20x4.rb +59 -29
  80. data/lib/tinkerforge/bricklet_led_strip.rb +69 -47
  81. data/lib/tinkerforge/bricklet_led_strip_v2.rb +105 -48
  82. data/lib/tinkerforge/bricklet_line.rb +35 -22
  83. data/lib/tinkerforge/bricklet_linear_poti.rb +53 -35
  84. data/lib/tinkerforge/bricklet_linear_poti_v2.rb +55 -24
  85. data/lib/tinkerforge/bricklet_load_cell.rb +64 -40
  86. data/lib/tinkerforge/bricklet_load_cell_v2.rb +81 -41
  87. data/lib/tinkerforge/bricklet_moisture.rb +43 -30
  88. data/lib/tinkerforge/bricklet_motion_detector.rb +21 -10
  89. data/lib/tinkerforge/bricklet_motion_detector_v2.rb +62 -29
  90. data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +71 -32
  91. data/lib/tinkerforge/bricklet_multi_touch.rb +30 -17
  92. data/lib/tinkerforge/bricklet_multi_touch_v2.rb +371 -0
  93. data/lib/tinkerforge/bricklet_nfc.rb +130 -80
  94. data/lib/tinkerforge/bricklet_nfc_rfid.rb +32 -13
  95. data/lib/tinkerforge/bricklet_oled_128x64.rb +30 -17
  96. data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +97 -40
  97. data/lib/tinkerforge/bricklet_oled_64x48.rb +30 -17
  98. data/lib/tinkerforge/bricklet_one_wire.rb +65 -24
  99. data/lib/tinkerforge/bricklet_outdoor_weather.rb +84 -41
  100. data/lib/tinkerforge/bricklet_particulate_matter.rb +85 -37
  101. data/lib/tinkerforge/bricklet_piezo_buzzer.rb +19 -13
  102. data/lib/tinkerforge/bricklet_piezo_speaker.rb +22 -19
  103. data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +84 -57
  104. data/lib/tinkerforge/bricklet_ptc.rb +76 -51
  105. data/lib/tinkerforge/bricklet_ptc_v2.rb +96 -54
  106. data/lib/tinkerforge/bricklet_real_time_clock.rb +45 -36
  107. data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +78 -47
  108. data/lib/tinkerforge/bricklet_remote_switch.rb +38 -29
  109. data/lib/tinkerforge/bricklet_remote_switch_v2.rb +86 -49
  110. data/lib/tinkerforge/bricklet_rgb_led.rb +17 -8
  111. data/lib/tinkerforge/bricklet_rgb_led_button.rb +61 -30
  112. data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +78 -33
  113. data/lib/tinkerforge/bricklet_rgb_led_v2.rb +51 -20
  114. data/lib/tinkerforge/bricklet_rotary_encoder.rb +40 -25
  115. data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +60 -27
  116. data/lib/tinkerforge/bricklet_rotary_poti.rb +55 -37
  117. data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +290 -0
  118. data/lib/tinkerforge/bricklet_rs232.rb +89 -28
  119. data/lib/tinkerforge/bricklet_rs232_v2.rb +121 -47
  120. data/lib/tinkerforge/bricklet_rs485.rb +303 -207
  121. data/lib/tinkerforge/bricklet_segment_display_4x7.rb +24 -14
  122. data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +75 -36
  123. data/lib/tinkerforge/bricklet_solid_state_relay.rb +24 -13
  124. data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +58 -25
  125. data/lib/tinkerforge/bricklet_sound_intensity.rb +36 -24
  126. data/lib/tinkerforge/bricklet_sound_pressure_level.rb +77 -41
  127. data/lib/tinkerforge/bricklet_temperature.rb +43 -28
  128. data/lib/tinkerforge/bricklet_temperature_ir.rb +63 -47
  129. data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +75 -53
  130. data/lib/tinkerforge/bricklet_temperature_v2.rb +62 -31
  131. data/lib/tinkerforge/bricklet_thermal_imaging.rb +118 -68
  132. data/lib/tinkerforge/bricklet_thermocouple.rb +46 -30
  133. data/lib/tinkerforge/bricklet_thermocouple_v2.rb +65 -30
  134. data/lib/tinkerforge/bricklet_tilt.rb +23 -10
  135. data/lib/tinkerforge/bricklet_uv_light.rb +37 -24
  136. data/lib/tinkerforge/bricklet_uv_light_v2.rb +87 -46
  137. data/lib/tinkerforge/bricklet_voltage.rb +54 -37
  138. data/lib/tinkerforge/bricklet_voltage_current.rb +94 -85
  139. data/lib/tinkerforge/bricklet_voltage_current_v2.rb +103 -77
  140. data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +410 -0
  141. data/lib/tinkerforge/device_display_names.rb +165 -0
  142. data/lib/tinkerforge/ip_connection.rb +155 -33
  143. data/lib/tinkerforge/version.rb +1 -1
  144. metadata +14 -4
@@ -1,14 +1,16 @@
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 2020-11-02. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.27 #
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
  # Creates beep and alarm with configurable volume and frequency
14
16
  class BrickletPiezoSpeakerV2 < Device
@@ -63,7 +65,7 @@ module Tinkerforge
63
65
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
64
66
  # the IP Connection <tt>ipcon</tt>.
65
67
  def initialize(uid, ipcon)
66
- super uid, ipcon
68
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
67
69
 
68
70
  @api_version = [2, 0, 0]
69
71
 
@@ -86,47 +88,42 @@ module Tinkerforge
86
88
  @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
87
89
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
88
90
 
89
- @callback_formats[CALLBACK_BEEP_FINISHED] = ''
90
- @callback_formats[CALLBACK_ALARM_FINISHED] = ''
91
+ @callback_formats[CALLBACK_BEEP_FINISHED] = [8, '']
92
+ @callback_formats[CALLBACK_ALARM_FINISHED] = [8, '']
91
93
 
94
+ @ipcon.add_device self
92
95
  end
93
96
 
94
- # Beeps with the given frequency and volume for the duration in ms.
95
- #
96
- # For example: If you set a duration of 1000, with a volume of 10 and a frequency
97
- # value of 2000 the piezo buzzer will beep with maximum loudness for one
98
- # second with a frequency of 2 kHz.
97
+ # Beeps with the given frequency and volume for the duration.
99
98
  #
100
99
  # A duration of 0 stops the current beep if any is ongoing.
101
100
  # A duration of 4294967295 results in an infinite beep.
102
- #
103
- # The ranges are:
104
- #
105
- # * Frequency: 50Hz - 15000Hz
106
- # * Volume: 0 - 10
107
- # * Duration: 0ms - 4294967295ms
108
101
  def set_beep(frequency, volume, duration)
109
- send_request FUNCTION_SET_BEEP, [frequency, volume, duration], 'S C L', 0, ''
102
+ check_validity
103
+
104
+ send_request FUNCTION_SET_BEEP, [frequency, volume, duration], 'S C L', 8, ''
110
105
  end
111
106
 
112
- # Returns the last beep settings as set by BrickletPiezoSpeakerV2#set_beep. If a beep is currently
113
- # running it also returns the remaining duration of the beep in ms.
107
+ # Returns the last beep settings as set by BrickletPiezoSpeakerV2#set_beep. If a beep is currently
108
+ # running it also returns the remaining duration of the beep.
114
109
  #
115
- # If the frequency or volume is updated during a beep (with BrickletPiezoSpeakerV2#update_frequency
110
+ # If the frequency or volume is updated during a beep (with BrickletPiezoSpeakerV2#update_frequency
116
111
  # or BrickletPiezoSpeakerV2#update_volume) this function returns the updated value.
117
112
  def get_beep
118
- send_request FUNCTION_GET_BEEP, [], '', 11, 'S C L L'
113
+ check_validity
114
+
115
+ send_request FUNCTION_GET_BEEP, [], '', 19, 'S C L L'
119
116
  end
120
117
 
121
118
  # Creates an alarm (a tone that goes back and force between two specified frequencies).
122
119
  #
123
120
  # The following parameters can be set:
124
121
  #
125
- # * Start Frequency: Start frequency of the alarm in Hz.
126
- # * End Frequency: End frequency of the alarm in Hz.
127
- # * Step Size: Size of one step of the sweep between the start/end frequencies in Hz.
128
- # * Step Delay: Delay between two steps (duration of time that one tone is used in a sweep) in ms.
129
- # * Duration: Duration of the alarm in ms.
122
+ # * Start Frequency: Start frequency of the alarm.
123
+ # * End Frequency: End frequency of the alarm.
124
+ # * Step Size: Size of one step of the sweep between the start/end frequencies.
125
+ # * Step Delay: Delay between two steps (duration of time that one tone is used in a sweep).
126
+ # * Duration: Duration of the alarm.
130
127
  #
131
128
  # A duration of 0 stops the current alarm if any is ongoing.
132
129
  # A duration of 4294967295 results in an infinite alarm.
@@ -152,36 +149,42 @@ module Tinkerforge
152
149
  # * Volume = 0
153
150
  # * Duration = 10000
154
151
  #
155
- # The ranges are:
152
+ # The following conditions must be met:
156
153
  #
157
- # * Start Frequency: 50Hz - 14999Hz (has to be smaller than end frequency)
158
- # * End Frequency: 51Hz - 15000Hz (has to be bigger than start frequency)
159
- # * Step Size: 1Hz - 65535Hz (has to be small enough to fit into the frequency range)
160
- # * Step Delay: 1ms - 65535ms (has to be small enough to fit into the duration)
161
- # * Volume: 0 - 10
162
- # * Duration: 0ms - 4294967295ms
154
+ # * Start Frequency: has to be smaller than end frequency
155
+ # * End Frequency: has to be bigger than start frequency
156
+ # * Step Size: has to be small enough to fit into the frequency range
157
+ # * Step Delay: has to be small enough to fit into the duration
163
158
  def set_alarm(start_frequency, end_frequency, step_size, step_delay, volume, duration)
164
- send_request FUNCTION_SET_ALARM, [start_frequency, end_frequency, step_size, step_delay, volume, duration], 'S S S S C L', 0, ''
159
+ check_validity
160
+
161
+ send_request FUNCTION_SET_ALARM, [start_frequency, end_frequency, step_size, step_delay, volume, duration], 'S S S S C L', 8, ''
165
162
  end
166
163
 
167
- # Returns the last alarm settings as set by BrickletPiezoSpeakerV2#set_alarm. If an alarm is currently
168
- # running it also returns the remaining duration of the alarm in ms as well as the
169
- # current frequency of the alarm in Hz.
164
+ # Returns the last alarm settings as set by BrickletPiezoSpeakerV2#set_alarm. If an alarm is currently
165
+ # running it also returns the remaining duration of the alarm as well as the
166
+ # current frequency of the alarm.
170
167
  #
171
- # If the volume is updated during a beep (with BrickletPiezoSpeakerV2#update_volume)
168
+ # If the volume is updated during an alarm (with BrickletPiezoSpeakerV2#update_volume)
172
169
  # this function returns the updated value.
173
170
  def get_alarm
174
- send_request FUNCTION_GET_ALARM, [], '', 19, 'S S S S C L L S'
171
+ check_validity
172
+
173
+ send_request FUNCTION_GET_ALARM, [], '', 27, 'S S S S C L L S'
175
174
  end
176
175
 
177
- # Updates the volume of an ongoing beep or alarm. The range of the volume is 0 to 10.
176
+ # Updates the volume of an ongoing beep or alarm.
178
177
  def update_volume(volume)
179
- send_request FUNCTION_UPDATE_VOLUME, [volume], 'C', 0, ''
178
+ check_validity
179
+
180
+ send_request FUNCTION_UPDATE_VOLUME, [volume], 'C', 8, ''
180
181
  end
181
182
 
182
- # Updates the frequency of an ongoing beep. The range of the frequency is 50Hz to 15000Hz.
183
+ # Updates the frequency of an ongoing beep.
183
184
  def update_frequency(frequency)
184
- send_request FUNCTION_UPDATE_FREQUENCY, [frequency], 'S', 0, ''
185
+ check_validity
186
+
187
+ send_request FUNCTION_UPDATE_FREQUENCY, [frequency], 'S', 8, ''
185
188
  end
186
189
 
187
190
  # Returns the error count for the communication between Brick and Bricklet.
@@ -196,7 +199,9 @@ module Tinkerforge
196
199
  # The errors counts are for errors that occur on the Bricklet side. All
197
200
  # Bricks have a similar function that returns the errors on the Brick side.
198
201
  def get_spitfp_error_count
199
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
202
+ check_validity
203
+
204
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
200
205
  end
201
206
 
202
207
  # Sets the bootloader mode and returns the status after the requested
@@ -209,12 +214,16 @@ module Tinkerforge
209
214
  # This function is used by Brick Viewer during flashing. It should not be
210
215
  # necessary to call it in a normal user program.
211
216
  def set_bootloader_mode(mode)
212
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
217
+ check_validity
218
+
219
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
213
220
  end
214
221
 
215
222
  # Returns the current bootloader mode, see BrickletPiezoSpeakerV2#set_bootloader_mode.
216
223
  def get_bootloader_mode
217
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
224
+ check_validity
225
+
226
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
218
227
  end
219
228
 
220
229
  # Sets the firmware pointer for BrickletPiezoSpeakerV2#write_firmware. The pointer has
@@ -224,7 +233,9 @@ module Tinkerforge
224
233
  # This function is used by Brick Viewer during flashing. It should not be
225
234
  # necessary to call it in a normal user program.
226
235
  def set_write_firmware_pointer(pointer)
227
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
236
+ check_validity
237
+
238
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
228
239
  end
229
240
 
230
241
  # Writes 64 Bytes of firmware at the position as written by
@@ -236,7 +247,9 @@ module Tinkerforge
236
247
  # This function is used by Brick Viewer during flashing. It should not be
237
248
  # necessary to call it in a normal user program.
238
249
  def write_firmware(data)
239
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
250
+ check_validity
251
+
252
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
240
253
  end
241
254
 
242
255
  # Sets the status LED configuration. By default the LED shows
@@ -247,22 +260,28 @@ module Tinkerforge
247
260
  #
248
261
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
249
262
  def set_status_led_config(config)
250
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
263
+ check_validity
264
+
265
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
251
266
  end
252
267
 
253
268
  # Returns the configuration as set by BrickletPiezoSpeakerV2#set_status_led_config
254
269
  def get_status_led_config
255
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
270
+ check_validity
271
+
272
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
256
273
  end
257
274
 
258
- # Returns the temperature in °C as measured inside the microcontroller. The
275
+ # Returns the temperature as measured inside the microcontroller. The
259
276
  # value returned is not the ambient temperature!
260
277
  #
261
278
  # The temperature is only proportional to the real temperature and it has bad
262
279
  # accuracy. Practically it is only useful as an indicator for
263
280
  # temperature changes.
264
281
  def get_chip_temperature
265
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
282
+ check_validity
283
+
284
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
266
285
  end
267
286
 
268
287
  # Calling this function will reset the Bricklet. All configurations
@@ -272,7 +291,9 @@ module Tinkerforge
272
291
  # calling functions on the existing ones will result in
273
292
  # undefined behavior!
274
293
  def reset
275
- send_request FUNCTION_RESET, [], '', 0, ''
294
+ check_validity
295
+
296
+ send_request FUNCTION_RESET, [], '', 8, ''
276
297
  end
277
298
 
278
299
  # Writes a new UID into flash. If you want to set a new UID
@@ -281,25 +302,31 @@ module Tinkerforge
281
302
  #
282
303
  # We recommend that you use Brick Viewer to change the UID.
283
304
  def write_uid(uid)
284
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
305
+ check_validity
306
+
307
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
285
308
  end
286
309
 
287
310
  # Returns the current UID as an integer. Encode as
288
311
  # Base58 to get the usual string version.
289
312
  def read_uid
290
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
313
+ check_validity
314
+
315
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
291
316
  end
292
317
 
293
318
  # Returns the UID, the UID where the Bricklet is connected to,
294
319
  # the position, the hardware and firmware version as well as the
295
320
  # device identifier.
296
321
  #
297
- # The position can be 'a', 'b', 'c' or 'd'.
322
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
323
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
324
+ # position 'z'.
298
325
  #
299
326
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
300
327
  # |device_identifier_constant|
301
328
  def get_identity
302
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
329
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
303
330
  end
304
331
 
305
332
  # 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-05-21. #
3
+ # This file was automatically generated on 2020-11-02. #
4
4
  # #
5
- # Ruby Bindings Version 2.1.22 #
5
+ # Ruby Bindings Version 2.1.27 #
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 BrickletPTC < 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, 1]
96
98
 
@@ -115,23 +117,24 @@ module Tinkerforge
115
117
  @response_expected[FUNCTION_GET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
116
118
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
117
119
 
118
- @callback_formats[CALLBACK_TEMPERATURE] = 'l'
119
- @callback_formats[CALLBACK_TEMPERATURE_REACHED] = 'l'
120
- @callback_formats[CALLBACK_RESISTANCE] = 'l'
121
- @callback_formats[CALLBACK_RESISTANCE_REACHED] = 'l'
122
- @callback_formats[CALLBACK_SENSOR_CONNECTED] = '?'
120
+ @callback_formats[CALLBACK_TEMPERATURE] = [12, 'l']
121
+ @callback_formats[CALLBACK_TEMPERATURE_REACHED] = [12, 'l']
122
+ @callback_formats[CALLBACK_RESISTANCE] = [12, 'l']
123
+ @callback_formats[CALLBACK_RESISTANCE_REACHED] = [12, 'l']
124
+ @callback_formats[CALLBACK_SENSOR_CONNECTED] = [9, '?']
123
125
 
126
+ @ipcon.add_device self
124
127
  end
125
128
 
126
- # Returns the temperature of connected sensor. The value
127
- # has a range of -246 to 849 °C and is given in °C/100,
128
- # e.g. a value of 4223 means that a temperature of 42.23 °C is measured.
129
+ # Returns the temperature of connected sensor.
129
130
  #
130
131
  # If you want to get the temperature periodically, it is recommended
131
132
  # to use the CALLBACK_TEMPERATURE callback and set the period with
132
133
  # BrickletPTC#set_temperature_callback_period.
133
134
  def get_temperature
134
- send_request FUNCTION_GET_TEMPERATURE, [], '', 4, 'l'
135
+ check_validity
136
+
137
+ send_request FUNCTION_GET_TEMPERATURE, [], '', 12, 'l'
135
138
  end
136
139
 
137
140
  # Returns the value as measured by the MAX31865 precision delta-sigma ADC.
@@ -145,39 +148,45 @@ module Tinkerforge
145
148
  # to use the CALLBACK_RESISTANCE callback and set the period with
146
149
  # BrickletPTC#set_resistance_callback_period.
147
150
  def get_resistance
148
- send_request FUNCTION_GET_RESISTANCE, [], '', 4, 'l'
151
+ check_validity
152
+
153
+ send_request FUNCTION_GET_RESISTANCE, [], '', 12, 'l'
149
154
  end
150
155
 
151
- # Sets the period in ms with which the CALLBACK_TEMPERATURE callback is triggered
156
+ # Sets the period with which the CALLBACK_TEMPERATURE callback is triggered
152
157
  # periodically. A value of 0 turns the callback off.
153
158
  #
154
159
  # The CALLBACK_TEMPERATURE callback is only triggered if the temperature has
155
160
  # changed since the last triggering.
156
- #
157
- # The default value is 0.
158
161
  def set_temperature_callback_period(period)
159
- send_request FUNCTION_SET_TEMPERATURE_CALLBACK_PERIOD, [period], 'L', 0, ''
162
+ check_validity
163
+
164
+ send_request FUNCTION_SET_TEMPERATURE_CALLBACK_PERIOD, [period], 'L', 8, ''
160
165
  end
161
166
 
162
167
  # Returns the period as set by BrickletPTC#set_temperature_callback_period.
163
168
  def get_temperature_callback_period
164
- send_request FUNCTION_GET_TEMPERATURE_CALLBACK_PERIOD, [], '', 4, 'L'
169
+ check_validity
170
+
171
+ send_request FUNCTION_GET_TEMPERATURE_CALLBACK_PERIOD, [], '', 12, 'L'
165
172
  end
166
173
 
167
- # Sets the period in ms with which the CALLBACK_RESISTANCE callback is triggered
174
+ # Sets the period with which the CALLBACK_RESISTANCE callback is triggered
168
175
  # periodically. A value of 0 turns the callback off.
169
176
  #
170
177
  # The CALLBACK_RESISTANCE callback is only triggered if the resistance has changed
171
178
  # since the last triggering.
172
- #
173
- # The default value is 0.
174
179
  def set_resistance_callback_period(period)
175
- send_request FUNCTION_SET_RESISTANCE_CALLBACK_PERIOD, [period], 'L', 0, ''
180
+ check_validity
181
+
182
+ send_request FUNCTION_SET_RESISTANCE_CALLBACK_PERIOD, [period], 'L', 8, ''
176
183
  end
177
184
 
178
185
  # Returns the period as set by BrickletPTC#set_resistance_callback_period.
179
186
  def get_resistance_callback_period
180
- send_request FUNCTION_GET_RESISTANCE_CALLBACK_PERIOD, [], '', 4, 'L'
187
+ check_validity
188
+
189
+ send_request FUNCTION_GET_RESISTANCE_CALLBACK_PERIOD, [], '', 12, 'L'
181
190
  end
182
191
 
183
192
  # Sets the thresholds for the CALLBACK_TEMPERATURE_REACHED callback.
@@ -191,15 +200,17 @@ module Tinkerforge
191
200
  # "'i'", "Callback is triggered when the temperature is *inside* the min and max values"
192
201
  # "'<'", "Callback is triggered when the temperature is smaller than the min value (max is ignored)"
193
202
  # "'>'", "Callback is triggered when the temperature is greater than the min value (max is ignored)"
194
- #
195
- # The default value is ('x', 0, 0).
196
203
  def set_temperature_callback_threshold(option, min, max)
197
- send_request FUNCTION_SET_TEMPERATURE_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 0, ''
204
+ check_validity
205
+
206
+ send_request FUNCTION_SET_TEMPERATURE_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 8, ''
198
207
  end
199
208
 
200
209
  # Returns the threshold as set by BrickletPTC#set_temperature_callback_threshold.
201
210
  def get_temperature_callback_threshold
202
- send_request FUNCTION_GET_TEMPERATURE_CALLBACK_THRESHOLD, [], '', 9, 'k l l'
211
+ check_validity
212
+
213
+ send_request FUNCTION_GET_TEMPERATURE_CALLBACK_THRESHOLD, [], '', 17, 'k l l'
203
214
  end
204
215
 
205
216
  # Sets the thresholds for the CALLBACK_RESISTANCE_REACHED callback.
@@ -213,18 +224,20 @@ module Tinkerforge
213
224
  # "'i'", "Callback is triggered when the temperature is *inside* the min and max values"
214
225
  # "'<'", "Callback is triggered when the temperature is smaller than the min value (max is ignored)"
215
226
  # "'>'", "Callback is triggered when the temperature is greater than the min value (max is ignored)"
216
- #
217
- # The default value is ('x', 0, 0).
218
227
  def set_resistance_callback_threshold(option, min, max)
219
- send_request FUNCTION_SET_RESISTANCE_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 0, ''
228
+ check_validity
229
+
230
+ send_request FUNCTION_SET_RESISTANCE_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 8, ''
220
231
  end
221
232
 
222
233
  # Returns the threshold as set by BrickletPTC#set_resistance_callback_threshold.
223
234
  def get_resistance_callback_threshold
224
- send_request FUNCTION_GET_RESISTANCE_CALLBACK_THRESHOLD, [], '', 9, 'k l l'
235
+ check_validity
236
+
237
+ send_request FUNCTION_GET_RESISTANCE_CALLBACK_THRESHOLD, [], '', 17, 'k l l'
225
238
  end
226
239
 
227
- # Sets the period in ms with which the threshold callback
240
+ # Sets the period with which the threshold callback
228
241
  #
229
242
  # * CALLBACK_TEMPERATURE_REACHED,
230
243
  # * CALLBACK_RESISTANCE_REACHED
@@ -235,31 +248,35 @@ module Tinkerforge
235
248
  # * BrickletPTC#set_resistance_callback_threshold
236
249
  #
237
250
  # keeps being reached.
238
- #
239
- # The default value is 100.
240
251
  def set_debounce_period(debounce)
241
- send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 0, ''
252
+ check_validity
253
+
254
+ send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
242
255
  end
243
256
 
244
257
  # Returns the debounce period as set by BrickletPTC#set_debounce_period.
245
258
  def get_debounce_period
246
- send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 4, 'L'
259
+ check_validity
260
+
261
+ send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
247
262
  end
248
263
 
249
264
  # Sets the noise rejection filter to either 50Hz (0) or 60Hz (1).
250
265
  # Noise from 50Hz or 60Hz power sources (including
251
266
  # harmonics of the AC power's fundamental frequency) is
252
267
  # attenuated by 82dB.
253
- #
254
- # Default value is 0 = 50Hz.
255
268
  def set_noise_rejection_filter(filter)
256
- send_request FUNCTION_SET_NOISE_REJECTION_FILTER, [filter], 'C', 0, ''
269
+ check_validity
270
+
271
+ send_request FUNCTION_SET_NOISE_REJECTION_FILTER, [filter], 'C', 8, ''
257
272
  end
258
273
 
259
274
  # Returns the noise rejection filter option as set by
260
275
  # BrickletPTC#set_noise_rejection_filter
261
276
  def get_noise_rejection_filter
262
- send_request FUNCTION_GET_NOISE_REJECTION_FILTER, [], '', 1, 'C'
277
+ check_validity
278
+
279
+ send_request FUNCTION_GET_NOISE_REJECTION_FILTER, [], '', 9, 'C'
263
280
  end
264
281
 
265
282
  # Returns *true* if the sensor is connected correctly.
@@ -268,50 +285,58 @@ module Tinkerforge
268
285
  # returns *false*, there is either no Pt100 or Pt1000 sensor connected,
269
286
  # the sensor is connected incorrectly or the sensor itself is faulty.
270
287
  def is_sensor_connected
271
- send_request FUNCTION_IS_SENSOR_CONNECTED, [], '', 1, '?'
288
+ check_validity
289
+
290
+ send_request FUNCTION_IS_SENSOR_CONNECTED, [], '', 9, '?'
272
291
  end
273
292
 
274
293
  # Sets the wire mode of the sensor. Possible values are 2, 3 and 4 which
275
294
  # correspond to 2-, 3- and 4-wire sensors. The value has to match the jumper
276
295
  # configuration on the Bricklet.
277
- #
278
- # The default value is 2 = 2-wire.
279
296
  def set_wire_mode(mode)
280
- send_request FUNCTION_SET_WIRE_MODE, [mode], 'C', 0, ''
297
+ check_validity
298
+
299
+ send_request FUNCTION_SET_WIRE_MODE, [mode], 'C', 8, ''
281
300
  end
282
301
 
283
302
  # Returns the wire mode as set by BrickletPTC#set_wire_mode
284
303
  def get_wire_mode
285
- send_request FUNCTION_GET_WIRE_MODE, [], '', 1, 'C'
304
+ check_validity
305
+
306
+ send_request FUNCTION_GET_WIRE_MODE, [], '', 9, 'C'
286
307
  end
287
308
 
288
309
  # If you enable this callback, the CALLBACK_SENSOR_CONNECTED callback is triggered
289
310
  # every time a Pt sensor is connected/disconnected.
290
311
  #
291
- # By default this callback is disabled.
292
- #
293
312
  # .. versionadded:: 2.0.2$nbsp;(Plugin)
294
313
  def set_sensor_connected_callback_configuration(enabled)
295
- send_request FUNCTION_SET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [enabled], '?', 0, ''
314
+ check_validity
315
+
316
+ send_request FUNCTION_SET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [enabled], '?', 8, ''
296
317
  end
297
318
 
298
319
  # Returns the configuration as set by BrickletPTC#set_sensor_connected_callback_configuration.
299
320
  #
300
321
  # .. versionadded:: 2.0.2$nbsp;(Plugin)
301
322
  def get_sensor_connected_callback_configuration
302
- send_request FUNCTION_GET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [], '', 1, '?'
323
+ check_validity
324
+
325
+ send_request FUNCTION_GET_SENSOR_CONNECTED_CALLBACK_CONFIGURATION, [], '', 9, '?'
303
326
  end
304
327
 
305
328
  # Returns the UID, the UID where the Bricklet is connected to,
306
329
  # the position, the hardware and firmware version as well as the
307
330
  # device identifier.
308
331
  #
309
- # The position can be 'a', 'b', 'c' or 'd'.
332
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
333
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
334
+ # position 'z'.
310
335
  #
311
336
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
312
337
  # |device_identifier_constant|
313
338
  def get_identity
314
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
339
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
315
340
  end
316
341
 
317
342
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.