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
  # Controls one RGB LED
14
16
  class BrickletRGBLEDV2 < Device
@@ -49,7 +51,7 @@ module Tinkerforge
49
51
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
50
52
  # the IP Connection <tt>ipcon</tt>.
51
53
  def initialize(uid, ipcon)
52
- super uid, ipcon
54
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
53
55
 
54
56
  @api_version = [2, 0, 0]
55
57
 
@@ -69,16 +71,21 @@ module Tinkerforge
69
71
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
70
72
 
71
73
 
74
+ @ipcon.add_device self
72
75
  end
73
76
 
74
- # Sets the *r*, *g* and *b* values for the LED. Each value can be between 0 and 255.
77
+ # Sets the *r*, *g* and *b* values for the LED.
75
78
  def set_rgb_value(r, g, b)
76
- send_request FUNCTION_SET_RGB_VALUE, [r, g, b], 'C C C', 0, ''
79
+ check_validity
80
+
81
+ send_request FUNCTION_SET_RGB_VALUE, [r, g, b], 'C C C', 8, ''
77
82
  end
78
83
 
79
84
  # Returns the *r*, *g* and *b* values of the LED as set by BrickletRGBLEDV2#set_rgb_value.
80
85
  def get_rgb_value
81
- send_request FUNCTION_GET_RGB_VALUE, [], '', 3, 'C C C'
86
+ check_validity
87
+
88
+ send_request FUNCTION_GET_RGB_VALUE, [], '', 11, 'C C C'
82
89
  end
83
90
 
84
91
  # Returns the error count for the communication between Brick and Bricklet.
@@ -93,7 +100,9 @@ module Tinkerforge
93
100
  # The errors counts are for errors that occur on the Bricklet side. All
94
101
  # Bricks have a similar function that returns the errors on the Brick side.
95
102
  def get_spitfp_error_count
96
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
103
+ check_validity
104
+
105
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
97
106
  end
98
107
 
99
108
  # Sets the bootloader mode and returns the status after the requested
@@ -106,12 +115,16 @@ module Tinkerforge
106
115
  # This function is used by Brick Viewer during flashing. It should not be
107
116
  # necessary to call it in a normal user program.
108
117
  def set_bootloader_mode(mode)
109
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
118
+ check_validity
119
+
120
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
110
121
  end
111
122
 
112
123
  # Returns the current bootloader mode, see BrickletRGBLEDV2#set_bootloader_mode.
113
124
  def get_bootloader_mode
114
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
125
+ check_validity
126
+
127
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
115
128
  end
116
129
 
117
130
  # Sets the firmware pointer for BrickletRGBLEDV2#write_firmware. The pointer has
@@ -121,7 +134,9 @@ module Tinkerforge
121
134
  # This function is used by Brick Viewer during flashing. It should not be
122
135
  # necessary to call it in a normal user program.
123
136
  def set_write_firmware_pointer(pointer)
124
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
137
+ check_validity
138
+
139
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
125
140
  end
126
141
 
127
142
  # Writes 64 Bytes of firmware at the position as written by
@@ -133,7 +148,9 @@ module Tinkerforge
133
148
  # This function is used by Brick Viewer during flashing. It should not be
134
149
  # necessary to call it in a normal user program.
135
150
  def write_firmware(data)
136
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
151
+ check_validity
152
+
153
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
137
154
  end
138
155
 
139
156
  # Sets the status LED configuration. By default the LED shows
@@ -144,22 +161,28 @@ module Tinkerforge
144
161
  #
145
162
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
146
163
  def set_status_led_config(config)
147
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
164
+ check_validity
165
+
166
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
148
167
  end
149
168
 
150
169
  # Returns the configuration as set by BrickletRGBLEDV2#set_status_led_config
151
170
  def get_status_led_config
152
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
171
+ check_validity
172
+
173
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
153
174
  end
154
175
 
155
- # Returns the temperature in °C as measured inside the microcontroller. The
176
+ # Returns the temperature as measured inside the microcontroller. The
156
177
  # value returned is not the ambient temperature!
157
178
  #
158
179
  # The temperature is only proportional to the real temperature and it has bad
159
180
  # accuracy. Practically it is only useful as an indicator for
160
181
  # temperature changes.
161
182
  def get_chip_temperature
162
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
183
+ check_validity
184
+
185
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
163
186
  end
164
187
 
165
188
  # Calling this function will reset the Bricklet. All configurations
@@ -169,7 +192,9 @@ module Tinkerforge
169
192
  # calling functions on the existing ones will result in
170
193
  # undefined behavior!
171
194
  def reset
172
- send_request FUNCTION_RESET, [], '', 0, ''
195
+ check_validity
196
+
197
+ send_request FUNCTION_RESET, [], '', 8, ''
173
198
  end
174
199
 
175
200
  # Writes a new UID into flash. If you want to set a new UID
@@ -178,25 +203,31 @@ module Tinkerforge
178
203
  #
179
204
  # We recommend that you use Brick Viewer to change the UID.
180
205
  def write_uid(uid)
181
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
206
+ check_validity
207
+
208
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
182
209
  end
183
210
 
184
211
  # Returns the current UID as an integer. Encode as
185
212
  # Base58 to get the usual string version.
186
213
  def read_uid
187
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
214
+ check_validity
215
+
216
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
188
217
  end
189
218
 
190
219
  # Returns the UID, the UID where the Bricklet is connected to,
191
220
  # the position, the hardware and firmware version as well as the
192
221
  # device identifier.
193
222
  #
194
- # The position can be 'a', 'b', 'c' or 'd'.
223
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
224
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
225
+ # position 'z'.
195
226
  #
196
227
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
197
228
  # |device_identifier_constant|
198
229
  def get_identity
199
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
230
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
200
231
  end
201
232
 
202
233
  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 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
  # 360° rotary encoder with push-button
14
16
  class BrickletRotaryEncoder < 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, 0]
62
64
 
@@ -70,11 +72,12 @@ module Tinkerforge
70
72
  @response_expected[FUNCTION_IS_PRESSED] = RESPONSE_EXPECTED_ALWAYS_TRUE
71
73
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
72
74
 
73
- @callback_formats[CALLBACK_COUNT] = 'l'
74
- @callback_formats[CALLBACK_COUNT_REACHED] = 'l'
75
- @callback_formats[CALLBACK_PRESSED] = ''
76
- @callback_formats[CALLBACK_RELEASED] = ''
75
+ @callback_formats[CALLBACK_COUNT] = [12, 'l']
76
+ @callback_formats[CALLBACK_COUNT_REACHED] = [12, 'l']
77
+ @callback_formats[CALLBACK_PRESSED] = [8, '']
78
+ @callback_formats[CALLBACK_RELEASED] = [8, '']
77
79
 
80
+ @ipcon.add_device self
78
81
  end
79
82
 
80
83
  # Returns the current count of the encoder. If you set reset
@@ -86,7 +89,9 @@ module Tinkerforge
86
89
  # Turning the encoder to the left decrements the counter,
87
90
  # so a negative count is possible.
88
91
  def get_count(reset)
89
- send_request FUNCTION_GET_COUNT, [reset], '?', 4, 'l'
92
+ check_validity
93
+
94
+ send_request FUNCTION_GET_COUNT, [reset], '?', 12, 'l'
90
95
  end
91
96
 
92
97
  # Sets the period with which the CALLBACK_COUNT callback is triggered
@@ -95,12 +100,16 @@ module Tinkerforge
95
100
  # The CALLBACK_COUNT callback is only triggered if the count has changed since the
96
101
  # last triggering.
97
102
  def set_count_callback_period(period)
98
- send_request FUNCTION_SET_COUNT_CALLBACK_PERIOD, [period], 'L', 0, ''
103
+ check_validity
104
+
105
+ send_request FUNCTION_SET_COUNT_CALLBACK_PERIOD, [period], 'L', 8, ''
99
106
  end
100
107
 
101
108
  # Returns the period as set by BrickletRotaryEncoder#set_count_callback_period.
102
109
  def get_count_callback_period
103
- send_request FUNCTION_GET_COUNT_CALLBACK_PERIOD, [], '', 4, 'L'
110
+ check_validity
111
+
112
+ send_request FUNCTION_GET_COUNT_CALLBACK_PERIOD, [], '', 12, 'L'
104
113
  end
105
114
 
106
115
  # Sets the thresholds for the CALLBACK_COUNT_REACHED callback.
@@ -114,15 +123,17 @@ module Tinkerforge
114
123
  # "'i'", "Callback is triggered when the count is *inside* the min and max values"
115
124
  # "'<'", "Callback is triggered when the count is smaller than the min value (max is ignored)"
116
125
  # "'>'", "Callback is triggered when the count is greater than the min value (max is ignored)"
117
- #
118
- # The default value is ('x', 0, 0).
119
126
  def set_count_callback_threshold(option, min, max)
120
- send_request FUNCTION_SET_COUNT_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 0, ''
127
+ check_validity
128
+
129
+ send_request FUNCTION_SET_COUNT_CALLBACK_THRESHOLD, [option, min, max], 'k l l', 8, ''
121
130
  end
122
131
 
123
132
  # Returns the threshold as set by BrickletRotaryEncoder#set_count_callback_threshold.
124
133
  def get_count_callback_threshold
125
- send_request FUNCTION_GET_COUNT_CALLBACK_THRESHOLD, [], '', 9, 'k l l'
134
+ check_validity
135
+
136
+ send_request FUNCTION_GET_COUNT_CALLBACK_THRESHOLD, [], '', 17, 'k l l'
126
137
  end
127
138
 
128
139
  # Sets the period with which the threshold callback
@@ -135,12 +146,16 @@ module Tinkerforge
135
146
  #
136
147
  # keeps being reached.
137
148
  def set_debounce_period(debounce)
138
- send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 0, ''
149
+ check_validity
150
+
151
+ send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
139
152
  end
140
153
 
141
154
  # Returns the debounce period as set by BrickletRotaryEncoder#set_debounce_period.
142
155
  def get_debounce_period
143
- send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 4, 'L'
156
+ check_validity
157
+
158
+ send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
144
159
  end
145
160
 
146
161
  # Returns *true* if the button is pressed and *false* otherwise.
@@ -148,19 +163,23 @@ module Tinkerforge
148
163
  # It is recommended to use the CALLBACK_PRESSED and CALLBACK_RELEASED callbacks
149
164
  # to handle the button.
150
165
  def is_pressed
151
- send_request FUNCTION_IS_PRESSED, [], '', 1, '?'
166
+ check_validity
167
+
168
+ send_request FUNCTION_IS_PRESSED, [], '', 9, '?'
152
169
  end
153
170
 
154
171
  # Returns the UID, the UID where the Bricklet is connected to,
155
172
  # the position, the hardware and firmware version as well as the
156
173
  # device identifier.
157
174
  #
158
- # The position can be 'a', 'b', 'c' or 'd'.
175
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
176
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
177
+ # position 'z'.
159
178
  #
160
179
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
161
180
  # |device_identifier_constant|
162
181
  def get_identity
163
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
182
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
164
183
  end
165
184
 
166
185
  # 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
  # 360° rotary encoder with push-button
14
16
  class BrickletRotaryEncoderV2 < Device
@@ -68,7 +70,7 @@ module Tinkerforge
68
70
  # Creates an object with the unique device ID <tt>uid</tt> and adds it to
69
71
  # the IP Connection <tt>ipcon</tt>.
70
72
  def initialize(uid, ipcon)
71
- super uid, ipcon
73
+ super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
72
74
 
73
75
  @api_version = [2, 0, 1]
74
76
 
@@ -89,10 +91,11 @@ module Tinkerforge
89
91
  @response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
90
92
  @response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
91
93
 
92
- @callback_formats[CALLBACK_COUNT] = 'l'
93
- @callback_formats[CALLBACK_PRESSED] = ''
94
- @callback_formats[CALLBACK_RELEASED] = ''
94
+ @callback_formats[CALLBACK_COUNT] = [12, 'l']
95
+ @callback_formats[CALLBACK_PRESSED] = [8, '']
96
+ @callback_formats[CALLBACK_RELEASED] = [8, '']
95
97
 
98
+ @ipcon.add_device self
96
99
  end
97
100
 
98
101
  # Returns the current count of the encoder. If you set reset
@@ -109,7 +112,9 @@ module Tinkerforge
109
112
  # CALLBACK_COUNT callback. You can set the callback configuration
110
113
  # with BrickletRotaryEncoderV2#set_count_callback_configuration.
111
114
  def get_count(reset)
112
- send_request FUNCTION_GET_COUNT, [reset], '?', 4, 'l'
115
+ check_validity
116
+
117
+ send_request FUNCTION_GET_COUNT, [reset], '?', 12, 'l'
113
118
  end
114
119
 
115
120
  # The period is the period with which the CALLBACK_COUNT callback is triggered
@@ -138,12 +143,16 @@ module Tinkerforge
138
143
  #
139
144
  # If the option is set to 'x' (threshold turned off) the callback is triggered with the fixed period.
140
145
  def set_count_callback_configuration(period, value_has_to_change, option, min, max)
141
- send_request FUNCTION_SET_COUNT_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 0, ''
146
+ check_validity
147
+
148
+ send_request FUNCTION_SET_COUNT_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k l l', 8, ''
142
149
  end
143
150
 
144
151
  # Returns the callback configuration as set by BrickletRotaryEncoderV2#set_count_callback_configuration.
145
152
  def get_count_callback_configuration
146
- send_request FUNCTION_GET_COUNT_CALLBACK_CONFIGURATION, [], '', 14, 'L ? k l l'
153
+ check_validity
154
+
155
+ send_request FUNCTION_GET_COUNT_CALLBACK_CONFIGURATION, [], '', 22, 'L ? k l l'
147
156
  end
148
157
 
149
158
  # Returns *true* if the button is pressed and *false* otherwise.
@@ -151,7 +160,9 @@ module Tinkerforge
151
160
  # It is recommended to use the CALLBACK_PRESSED and CALLBACK_RELEASED callbacks
152
161
  # to handle the button.
153
162
  def is_pressed
154
- send_request FUNCTION_IS_PRESSED, [], '', 1, '?'
163
+ check_validity
164
+
165
+ send_request FUNCTION_IS_PRESSED, [], '', 9, '?'
155
166
  end
156
167
 
157
168
  # Returns the error count for the communication between Brick and Bricklet.
@@ -166,7 +177,9 @@ module Tinkerforge
166
177
  # The errors counts are for errors that occur on the Bricklet side. All
167
178
  # Bricks have a similar function that returns the errors on the Brick side.
168
179
  def get_spitfp_error_count
169
- send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 16, 'L L L L'
180
+ check_validity
181
+
182
+ send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
170
183
  end
171
184
 
172
185
  # Sets the bootloader mode and returns the status after the requested
@@ -179,12 +192,16 @@ module Tinkerforge
179
192
  # This function is used by Brick Viewer during flashing. It should not be
180
193
  # necessary to call it in a normal user program.
181
194
  def set_bootloader_mode(mode)
182
- send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 1, 'C'
195
+ check_validity
196
+
197
+ send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
183
198
  end
184
199
 
185
200
  # Returns the current bootloader mode, see BrickletRotaryEncoderV2#set_bootloader_mode.
186
201
  def get_bootloader_mode
187
- send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 1, 'C'
202
+ check_validity
203
+
204
+ send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
188
205
  end
189
206
 
190
207
  # Sets the firmware pointer for BrickletRotaryEncoderV2#write_firmware. The pointer has
@@ -194,7 +211,9 @@ module Tinkerforge
194
211
  # This function is used by Brick Viewer during flashing. It should not be
195
212
  # necessary to call it in a normal user program.
196
213
  def set_write_firmware_pointer(pointer)
197
- send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 0, ''
214
+ check_validity
215
+
216
+ send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
198
217
  end
199
218
 
200
219
  # Writes 64 Bytes of firmware at the position as written by
@@ -206,7 +225,9 @@ module Tinkerforge
206
225
  # This function is used by Brick Viewer during flashing. It should not be
207
226
  # necessary to call it in a normal user program.
208
227
  def write_firmware(data)
209
- send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 1, 'C'
228
+ check_validity
229
+
230
+ send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
210
231
  end
211
232
 
212
233
  # Sets the status LED configuration. By default the LED shows
@@ -217,22 +238,28 @@ module Tinkerforge
217
238
  #
218
239
  # If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
219
240
  def set_status_led_config(config)
220
- send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 0, ''
241
+ check_validity
242
+
243
+ send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
221
244
  end
222
245
 
223
246
  # Returns the configuration as set by BrickletRotaryEncoderV2#set_status_led_config
224
247
  def get_status_led_config
225
- send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 1, 'C'
248
+ check_validity
249
+
250
+ send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
226
251
  end
227
252
 
228
- # Returns the temperature in °C as measured inside the microcontroller. The
253
+ # Returns the temperature as measured inside the microcontroller. The
229
254
  # value returned is not the ambient temperature!
230
255
  #
231
256
  # The temperature is only proportional to the real temperature and it has bad
232
257
  # accuracy. Practically it is only useful as an indicator for
233
258
  # temperature changes.
234
259
  def get_chip_temperature
235
- send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 2, 's'
260
+ check_validity
261
+
262
+ send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
236
263
  end
237
264
 
238
265
  # Calling this function will reset the Bricklet. All configurations
@@ -242,7 +269,9 @@ module Tinkerforge
242
269
  # calling functions on the existing ones will result in
243
270
  # undefined behavior!
244
271
  def reset
245
- send_request FUNCTION_RESET, [], '', 0, ''
272
+ check_validity
273
+
274
+ send_request FUNCTION_RESET, [], '', 8, ''
246
275
  end
247
276
 
248
277
  # Writes a new UID into flash. If you want to set a new UID
@@ -251,25 +280,31 @@ module Tinkerforge
251
280
  #
252
281
  # We recommend that you use Brick Viewer to change the UID.
253
282
  def write_uid(uid)
254
- send_request FUNCTION_WRITE_UID, [uid], 'L', 0, ''
283
+ check_validity
284
+
285
+ send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
255
286
  end
256
287
 
257
288
  # Returns the current UID as an integer. Encode as
258
289
  # Base58 to get the usual string version.
259
290
  def read_uid
260
- send_request FUNCTION_READ_UID, [], '', 4, 'L'
291
+ check_validity
292
+
293
+ send_request FUNCTION_READ_UID, [], '', 12, 'L'
261
294
  end
262
295
 
263
296
  # Returns the UID, the UID where the Bricklet is connected to,
264
297
  # the position, the hardware and firmware version as well as the
265
298
  # device identifier.
266
299
  #
267
- # The position can be 'a', 'b', 'c' or 'd'.
300
+ # The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
301
+ # A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
302
+ # position 'z'.
268
303
  #
269
304
  # The device identifier numbers can be found :ref:`here <device_identifier>`.
270
305
  # |device_identifier_constant|
271
306
  def get_identity
272
- send_request FUNCTION_GET_IDENTITY, [], '', 25, 'Z8 Z8 k C3 C3 S'
307
+ send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
273
308
  end
274
309
 
275
310
  # Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.