tinkerforge 2.1.24 → 2.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/tinkerforge/brick_dc.rb +155 -74
- data/lib/tinkerforge/brick_hat.rb +70 -30
- data/lib/tinkerforge/brick_hat_zero.rb +56 -22
- data/lib/tinkerforge/brick_imu.rb +184 -77
- data/lib/tinkerforge/brick_imu_v2.rb +208 -105
- data/lib/tinkerforge/brick_master.rb +484 -182
- data/lib/tinkerforge/brick_red.rb +197 -74
- data/lib/tinkerforge/brick_servo.rb +185 -101
- data/lib/tinkerforge/brick_silent_stepper.rb +246 -166
- data/lib/tinkerforge/brick_stepper.rb +210 -98
- data/lib/tinkerforge/bricklet_accelerometer.rb +58 -23
- data/lib/tinkerforge/bricklet_accelerometer_v2.rb +105 -54
- data/lib/tinkerforge/bricklet_air_quality.rb +117 -59
- data/lib/tinkerforge/bricklet_ambient_light.rb +51 -21
- data/lib/tinkerforge/bricklet_ambient_light_v2.rb +40 -22
- data/lib/tinkerforge/bricklet_ambient_light_v3.rb +61 -25
- data/lib/tinkerforge/bricklet_analog_in.rb +63 -25
- data/lib/tinkerforge/bricklet_analog_in_v2.rb +57 -23
- data/lib/tinkerforge/bricklet_analog_in_v3.rb +67 -25
- data/lib/tinkerforge/bricklet_analog_out.rb +23 -9
- data/lib/tinkerforge/bricklet_analog_out_v2.rb +20 -8
- data/lib/tinkerforge/bricklet_analog_out_v3.rb +54 -20
- data/lib/tinkerforge/bricklet_barometer.rb +66 -26
- data/lib/tinkerforge/bricklet_barometer_v2.rb +99 -37
- data/lib/tinkerforge/bricklet_can.rb +83 -18
- data/lib/tinkerforge/bricklet_can_v2.rb +172 -38
- data/lib/tinkerforge/bricklet_co2.rb +34 -14
- data/lib/tinkerforge/bricklet_co2_v2.rb +97 -37
- data/lib/tinkerforge/bricklet_color.rb +69 -27
- data/lib/tinkerforge/bricklet_color_v2.rb +87 -33
- data/lib/tinkerforge/bricklet_compass.rb +78 -30
- data/lib/tinkerforge/bricklet_current12.rb +58 -24
- data/lib/tinkerforge/bricklet_current25.rb +58 -24
- data/lib/tinkerforge/bricklet_distance_ir.rb +57 -23
- data/lib/tinkerforge/bricklet_distance_ir_v2.rb +83 -31
- data/lib/tinkerforge/bricklet_distance_us.rb +40 -16
- data/lib/tinkerforge/bricklet_distance_us_v2.rb +67 -25
- data/lib/tinkerforge/bricklet_dmx.rb +88 -34
- data/lib/tinkerforge/bricklet_dual_button.rb +24 -10
- data/lib/tinkerforge/bricklet_dual_button_v2.rb +64 -24
- data/lib/tinkerforge/bricklet_dual_relay.rb +27 -11
- data/lib/tinkerforge/bricklet_dust_detector.rb +40 -16
- data/lib/tinkerforge/bricklet_e_paper_296x128.rb +88 -32
- data/lib/tinkerforge/bricklet_energy_monitor.rb +73 -27
- data/lib/tinkerforge/bricklet_gps.rb +64 -26
- data/lib/tinkerforge/bricklet_gps_v2.rb +117 -47
- data/lib/tinkerforge/bricklet_hall_effect.rb +43 -23
- data/lib/tinkerforge/bricklet_hall_effect_v2.rb +71 -27
- data/lib/tinkerforge/bricklet_humidity.rb +51 -21
- data/lib/tinkerforge/bricklet_humidity_v2.rb +83 -31
- data/lib/tinkerforge/bricklet_industrial_analog_out.rb +38 -14
- data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +81 -29
- data/lib/tinkerforge/bricklet_industrial_counter.rb +101 -39
- data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +45 -17
- data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +77 -29
- data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +36 -14
- data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +73 -27
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +40 -16
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +79 -29
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +49 -19
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +82 -30
- data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +61 -23
- data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +36 -14
- data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +67 -25
- data/lib/tinkerforge/bricklet_io16.rb +55 -21
- data/lib/tinkerforge/bricklet_io16_v2.rb +90 -34
- data/lib/tinkerforge/bricklet_io4.rb +55 -23
- data/lib/tinkerforge/bricklet_io4_v2.rb +96 -36
- data/lib/tinkerforge/bricklet_isolator.rb +72 -28
- data/lib/tinkerforge/bricklet_joystick.rb +59 -25
- data/lib/tinkerforge/bricklet_joystick_v2.rb +68 -26
- data/lib/tinkerforge/bricklet_laser_range_finder.rb +82 -32
- data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +96 -36
- data/lib/tinkerforge/bricklet_lcd_128x64.rb +192 -70
- data/lib/tinkerforge/bricklet_lcd_16x2.rb +45 -18
- data/lib/tinkerforge/bricklet_lcd_20x4.rb +58 -23
- data/lib/tinkerforge/bricklet_led_strip.rb +60 -22
- data/lib/tinkerforge/bricklet_led_strip_v2.rb +91 -46
- data/lib/tinkerforge/bricklet_line.rb +34 -14
- data/lib/tinkerforge/bricklet_linear_poti.rb +51 -21
- data/lib/tinkerforge/bricklet_linear_poti_v2.rb +55 -21
- data/lib/tinkerforge/bricklet_load_cell.rb +61 -23
- data/lib/tinkerforge/bricklet_load_cell_v2.rb +80 -30
- data/lib/tinkerforge/bricklet_moisture.rb +40 -16
- data/lib/tinkerforge/bricklet_motion_detector.rb +22 -10
- data/lib/tinkerforge/bricklet_motion_detector_v2.rb +62 -24
- data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +71 -27
- data/lib/tinkerforge/bricklet_multi_touch.rb +31 -13
- data/lib/tinkerforge/bricklet_multi_touch_v2.rb +76 -28
- data/lib/tinkerforge/bricklet_nfc.rb +123 -58
- data/lib/tinkerforge/bricklet_nfc_rfid.rb +33 -13
- data/lib/tinkerforge/bricklet_oled_128x64.rb +29 -11
- data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +66 -24
- data/lib/tinkerforge/bricklet_oled_64x48.rb +29 -11
- data/lib/tinkerforge/bricklet_one_wire.rb +66 -24
- data/lib/tinkerforge/bricklet_outdoor_weather.rb +71 -27
- data/lib/tinkerforge/bricklet_particulate_matter.rb +75 -30
- data/lib/tinkerforge/bricklet_piezo_buzzer.rb +19 -9
- data/lib/tinkerforge/bricklet_piezo_speaker.rb +22 -10
- data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +80 -42
- data/lib/tinkerforge/bricklet_ptc.rb +74 -42
- data/lib/tinkerforge/bricklet_ptc_v2.rb +95 -48
- data/lib/tinkerforge/bricklet_real_time_clock.rb +45 -33
- data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +78 -44
- data/lib/tinkerforge/bricklet_remote_switch.rb +39 -29
- data/lib/tinkerforge/bricklet_remote_switch_v2.rb +87 -49
- data/lib/tinkerforge/bricklet_rgb_led.rb +18 -8
- data/lib/tinkerforge/bricklet_rgb_led_button.rb +62 -30
- data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +79 -33
- data/lib/tinkerforge/bricklet_rgb_led_v2.rb +52 -20
- data/lib/tinkerforge/bricklet_rotary_encoder.rb +39 -19
- data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +60 -24
- data/lib/tinkerforge/bricklet_rotary_poti.rb +53 -28
- data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +57 -23
- data/lib/tinkerforge/bricklet_rs232.rb +90 -28
- data/lib/tinkerforge/bricklet_rs232_v2.rb +118 -44
- data/lib/tinkerforge/bricklet_rs485.rb +223 -95
- data/lib/tinkerforge/bricklet_segment_display_4x7.rb +25 -14
- data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +75 -35
- data/lib/tinkerforge/bricklet_solid_state_relay.rb +25 -13
- data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +59 -25
- data/lib/tinkerforge/bricklet_sound_intensity.rb +35 -18
- data/lib/tinkerforge/bricklet_sound_pressure_level.rb +72 -31
- data/lib/tinkerforge/bricklet_temperature.rb +40 -16
- data/lib/tinkerforge/bricklet_temperature_ir.rb +57 -23
- data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +71 -27
- data/lib/tinkerforge/bricklet_temperature_v2.rb +61 -25
- data/lib/tinkerforge/bricklet_thermal_imaging.rb +105 -44
- data/lib/tinkerforge/bricklet_thermocouple.rb +45 -24
- data/lib/tinkerforge/bricklet_thermocouple_v2.rb +65 -27
- data/lib/tinkerforge/bricklet_tilt.rb +24 -10
- data/lib/tinkerforge/bricklet_uv_light.rb +36 -18
- data/lib/tinkerforge/bricklet_uv_light_v2.rb +85 -37
- data/lib/tinkerforge/bricklet_voltage.rb +52 -28
- data/lib/tinkerforge/bricklet_voltage_current.rb +91 -73
- data/lib/tinkerforge/bricklet_voltage_current_v2.rb +90 -68
- data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +80 -30
- data/lib/tinkerforge/device_display_names.rb +163 -0
- data/lib/tinkerforge/ip_connection.rb +151 -32
- data/lib/tinkerforge/version.rb +1 -1
- metadata +3 -2
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
# -*- ruby encoding: utf-8 -*-
|
|
2
2
|
#############################################################
|
|
3
|
-
# This file was automatically generated on
|
|
3
|
+
# This file was automatically generated on 2020-04-07. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.25 #
|
|
6
6
|
# #
|
|
7
7
|
# If you have a bugfix for this file and want to commit it, #
|
|
8
8
|
# please fix the bug in the generator. You can find a link #
|
|
9
9
|
# to the generators git repository on tinkerforge.com #
|
|
10
10
|
#############################################################
|
|
11
11
|
|
|
12
|
+
require_relative './ip_connection'
|
|
13
|
+
|
|
12
14
|
module Tinkerforge
|
|
13
15
|
# 2-axis joystick with push-button
|
|
14
16
|
class BrickletJoystick < Device
|
|
@@ -78,7 +80,7 @@ module Tinkerforge
|
|
|
78
80
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
79
81
|
# the IP Connection <tt>ipcon</tt>.
|
|
80
82
|
def initialize(uid, ipcon)
|
|
81
|
-
super uid, ipcon
|
|
83
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
82
84
|
|
|
83
85
|
@api_version = [2, 0, 0]
|
|
84
86
|
|
|
@@ -98,13 +100,14 @@ module Tinkerforge
|
|
|
98
100
|
@response_expected[FUNCTION_GET_DEBOUNCE_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
99
101
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
100
102
|
|
|
101
|
-
@callback_formats[CALLBACK_POSITION] = 's s'
|
|
102
|
-
@callback_formats[CALLBACK_ANALOG_VALUE] = 'S S'
|
|
103
|
-
@callback_formats[CALLBACK_POSITION_REACHED] = 's s'
|
|
104
|
-
@callback_formats[CALLBACK_ANALOG_VALUE_REACHED] = 'S S'
|
|
105
|
-
@callback_formats[CALLBACK_PRESSED] = ''
|
|
106
|
-
@callback_formats[CALLBACK_RELEASED] = ''
|
|
103
|
+
@callback_formats[CALLBACK_POSITION] = [12, 's s']
|
|
104
|
+
@callback_formats[CALLBACK_ANALOG_VALUE] = [12, 'S S']
|
|
105
|
+
@callback_formats[CALLBACK_POSITION_REACHED] = [12, 's s']
|
|
106
|
+
@callback_formats[CALLBACK_ANALOG_VALUE_REACHED] = [12, 'S S']
|
|
107
|
+
@callback_formats[CALLBACK_PRESSED] = [8, '']
|
|
108
|
+
@callback_formats[CALLBACK_RELEASED] = [8, '']
|
|
107
109
|
|
|
110
|
+
@ipcon.add_device self
|
|
108
111
|
end
|
|
109
112
|
|
|
110
113
|
# Returns the position of the joystick. The middle position of the joystick is x=0, y=0.
|
|
@@ -114,7 +117,9 @@ module Tinkerforge
|
|
|
114
117
|
# CALLBACK_POSITION callback and set the period with
|
|
115
118
|
# BrickletJoystick#set_position_callback_period.
|
|
116
119
|
def get_position
|
|
117
|
-
|
|
120
|
+
check_validity
|
|
121
|
+
|
|
122
|
+
send_request FUNCTION_GET_POSITION, [], '', 12, 's s'
|
|
118
123
|
end
|
|
119
124
|
|
|
120
125
|
# Returns *true* if the button is pressed and *false* otherwise.
|
|
@@ -122,7 +127,9 @@ module Tinkerforge
|
|
|
122
127
|
# It is recommended to use the CALLBACK_PRESSED and CALLBACK_RELEASED callbacks
|
|
123
128
|
# to handle the button.
|
|
124
129
|
def is_pressed
|
|
125
|
-
|
|
130
|
+
check_validity
|
|
131
|
+
|
|
132
|
+
send_request FUNCTION_IS_PRESSED, [], '', 9, '?'
|
|
126
133
|
end
|
|
127
134
|
|
|
128
135
|
# Returns the values as read by a 12-bit analog-to-digital converter.
|
|
@@ -137,7 +144,9 @@ module Tinkerforge
|
|
|
137
144
|
# CALLBACK_ANALOG_VALUE callback and set the period with
|
|
138
145
|
# BrickletJoystick#set_analog_value_callback_period.
|
|
139
146
|
def get_analog_value
|
|
140
|
-
|
|
147
|
+
check_validity
|
|
148
|
+
|
|
149
|
+
send_request FUNCTION_GET_ANALOG_VALUE, [], '', 12, 'S S'
|
|
141
150
|
end
|
|
142
151
|
|
|
143
152
|
# Calibrates the middle position of the joystick. If your Joystick Bricklet
|
|
@@ -147,7 +156,9 @@ module Tinkerforge
|
|
|
147
156
|
# The resulting calibration will be saved on the EEPROM of the Joystick
|
|
148
157
|
# Bricklet, thus you only have to calibrate it once.
|
|
149
158
|
def calibrate
|
|
150
|
-
|
|
159
|
+
check_validity
|
|
160
|
+
|
|
161
|
+
send_request FUNCTION_CALIBRATE, [], '', 8, ''
|
|
151
162
|
end
|
|
152
163
|
|
|
153
164
|
# Sets the period with which the CALLBACK_POSITION callback is triggered
|
|
@@ -156,12 +167,16 @@ module Tinkerforge
|
|
|
156
167
|
# The CALLBACK_POSITION callback is only triggered if the position has changed since the
|
|
157
168
|
# last triggering.
|
|
158
169
|
def set_position_callback_period(period)
|
|
159
|
-
|
|
170
|
+
check_validity
|
|
171
|
+
|
|
172
|
+
send_request FUNCTION_SET_POSITION_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
160
173
|
end
|
|
161
174
|
|
|
162
175
|
# Returns the period as set by BrickletJoystick#set_position_callback_period.
|
|
163
176
|
def get_position_callback_period
|
|
164
|
-
|
|
177
|
+
check_validity
|
|
178
|
+
|
|
179
|
+
send_request FUNCTION_GET_POSITION_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
165
180
|
end
|
|
166
181
|
|
|
167
182
|
# Sets the period with which the CALLBACK_ANALOG_VALUE callback is triggered
|
|
@@ -170,12 +185,16 @@ module Tinkerforge
|
|
|
170
185
|
# The CALLBACK_ANALOG_VALUE callback is only triggered if the analog values have
|
|
171
186
|
# changed since the last triggering.
|
|
172
187
|
def set_analog_value_callback_period(period)
|
|
173
|
-
|
|
188
|
+
check_validity
|
|
189
|
+
|
|
190
|
+
send_request FUNCTION_SET_ANALOG_VALUE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
174
191
|
end
|
|
175
192
|
|
|
176
193
|
# Returns the period as set by BrickletJoystick#set_analog_value_callback_period.
|
|
177
194
|
def get_analog_value_callback_period
|
|
178
|
-
|
|
195
|
+
check_validity
|
|
196
|
+
|
|
197
|
+
send_request FUNCTION_GET_ANALOG_VALUE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
179
198
|
end
|
|
180
199
|
|
|
181
200
|
# Sets the thresholds for the CALLBACK_POSITION_REACHED callback.
|
|
@@ -190,12 +209,16 @@ module Tinkerforge
|
|
|
190
209
|
# "'<'", "Callback is triggered when the position is smaller than the min values (max is ignored)"
|
|
191
210
|
# "'>'", "Callback is triggered when the position is greater than the min values (max is ignored)"
|
|
192
211
|
def set_position_callback_threshold(option, min_x, max_x, min_y, max_y)
|
|
193
|
-
|
|
212
|
+
check_validity
|
|
213
|
+
|
|
214
|
+
send_request FUNCTION_SET_POSITION_CALLBACK_THRESHOLD, [option, min_x, max_x, min_y, max_y], 'k s s s s', 8, ''
|
|
194
215
|
end
|
|
195
216
|
|
|
196
217
|
# Returns the threshold as set by BrickletJoystick#set_position_callback_threshold.
|
|
197
218
|
def get_position_callback_threshold
|
|
198
|
-
|
|
219
|
+
check_validity
|
|
220
|
+
|
|
221
|
+
send_request FUNCTION_GET_POSITION_CALLBACK_THRESHOLD, [], '', 17, 'k s s s s'
|
|
199
222
|
end
|
|
200
223
|
|
|
201
224
|
# Sets the thresholds for the CALLBACK_ANALOG_VALUE_REACHED callback.
|
|
@@ -210,12 +233,16 @@ module Tinkerforge
|
|
|
210
233
|
# "'<'", "Callback is triggered when the analog values are smaller than the min values (max is ignored)"
|
|
211
234
|
# "'>'", "Callback is triggered when the analog values are greater than the min values (max is ignored)"
|
|
212
235
|
def set_analog_value_callback_threshold(option, min_x, max_x, min_y, max_y)
|
|
213
|
-
|
|
236
|
+
check_validity
|
|
237
|
+
|
|
238
|
+
send_request FUNCTION_SET_ANALOG_VALUE_CALLBACK_THRESHOLD, [option, min_x, max_x, min_y, max_y], 'k S S S S', 8, ''
|
|
214
239
|
end
|
|
215
240
|
|
|
216
241
|
# Returns the threshold as set by BrickletJoystick#set_analog_value_callback_threshold.
|
|
217
242
|
def get_analog_value_callback_threshold
|
|
218
|
-
|
|
243
|
+
check_validity
|
|
244
|
+
|
|
245
|
+
send_request FUNCTION_GET_ANALOG_VALUE_CALLBACK_THRESHOLD, [], '', 17, 'k S S S S'
|
|
219
246
|
end
|
|
220
247
|
|
|
221
248
|
# Sets the period with which the threshold callbacks
|
|
@@ -230,24 +257,31 @@ module Tinkerforge
|
|
|
230
257
|
#
|
|
231
258
|
# keep being reached.
|
|
232
259
|
def set_debounce_period(debounce)
|
|
233
|
-
|
|
260
|
+
check_validity
|
|
261
|
+
|
|
262
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
234
263
|
end
|
|
235
264
|
|
|
236
265
|
# Returns the debounce period as set by BrickletJoystick#set_debounce_period.
|
|
237
266
|
def get_debounce_period
|
|
238
|
-
|
|
267
|
+
check_validity
|
|
268
|
+
|
|
269
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
239
270
|
end
|
|
240
271
|
|
|
241
272
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
242
273
|
# the position, the hardware and firmware version as well as the
|
|
243
274
|
# device identifier.
|
|
244
275
|
#
|
|
245
|
-
# The position can be 'a', 'b', 'c' or '
|
|
276
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
277
|
+
# The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
|
|
278
|
+
# connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
|
|
279
|
+
# position 'z'.
|
|
246
280
|
#
|
|
247
281
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
248
282
|
# |device_identifier_constant|
|
|
249
283
|
def get_identity
|
|
250
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
284
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
251
285
|
end
|
|
252
286
|
|
|
253
287
|
# 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
|
|
3
|
+
# This file was automatically generated on 2020-04-07. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.25 #
|
|
6
6
|
# #
|
|
7
7
|
# If you have a bugfix for this file and want to commit it, #
|
|
8
8
|
# please fix the bug in the generator. You can find a link #
|
|
9
9
|
# to the generators git repository on tinkerforge.com #
|
|
10
10
|
#############################################################
|
|
11
11
|
|
|
12
|
+
require_relative './ip_connection'
|
|
13
|
+
|
|
12
14
|
module Tinkerforge
|
|
13
15
|
# 2-axis joystick with push-button
|
|
14
16
|
class BrickletJoystickV2 < Device
|
|
@@ -66,7 +68,7 @@ module Tinkerforge
|
|
|
66
68
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
67
69
|
# the IP Connection <tt>ipcon</tt>.
|
|
68
70
|
def initialize(uid, ipcon)
|
|
69
|
-
super uid, ipcon
|
|
71
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
70
72
|
|
|
71
73
|
@api_version = [2, 0, 0]
|
|
72
74
|
|
|
@@ -90,9 +92,10 @@ module Tinkerforge
|
|
|
90
92
|
@response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
91
93
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
92
94
|
|
|
93
|
-
@callback_formats[CALLBACK_POSITION] = 's s'
|
|
94
|
-
@callback_formats[CALLBACK_PRESSED] = '?'
|
|
95
|
+
@callback_formats[CALLBACK_POSITION] = [12, 's s']
|
|
96
|
+
@callback_formats[CALLBACK_PRESSED] = [9, '?']
|
|
95
97
|
|
|
98
|
+
@ipcon.add_device self
|
|
96
99
|
end
|
|
97
100
|
|
|
98
101
|
# Returns the position of the joystick. The middle position of the joystick is x=0, y=0.
|
|
@@ -102,7 +105,9 @@ module Tinkerforge
|
|
|
102
105
|
# CALLBACK_POSITION callback and set the period with
|
|
103
106
|
# BrickletJoystickV2#set_position_callback_configuration.
|
|
104
107
|
def get_position
|
|
105
|
-
|
|
108
|
+
check_validity
|
|
109
|
+
|
|
110
|
+
send_request FUNCTION_GET_POSITION, [], '', 12, 's s'
|
|
106
111
|
end
|
|
107
112
|
|
|
108
113
|
# Returns *true* if the button is pressed and *false* otherwise.
|
|
@@ -111,7 +116,9 @@ module Tinkerforge
|
|
|
111
116
|
# CALLBACK_PRESSED callback and set the period with
|
|
112
117
|
# BrickletJoystickV2#set_pressed_callback_configuration.
|
|
113
118
|
def is_pressed
|
|
114
|
-
|
|
119
|
+
check_validity
|
|
120
|
+
|
|
121
|
+
send_request FUNCTION_IS_PRESSED, [], '', 9, '?'
|
|
115
122
|
end
|
|
116
123
|
|
|
117
124
|
# Calibrates the middle position of the joystick. If your Joystick Bricklet 2.0
|
|
@@ -121,7 +128,9 @@ module Tinkerforge
|
|
|
121
128
|
# The resulting calibration will be saved in non-volatile memory,
|
|
122
129
|
# thus you only have to calibrate it once.
|
|
123
130
|
def calibrate
|
|
124
|
-
|
|
131
|
+
check_validity
|
|
132
|
+
|
|
133
|
+
send_request FUNCTION_CALIBRATE, [], '', 8, ''
|
|
125
134
|
end
|
|
126
135
|
|
|
127
136
|
# The period is the period with which the CALLBACK_POSITION
|
|
@@ -134,13 +143,17 @@ module Tinkerforge
|
|
|
134
143
|
# If it is set to false, the callback is continuously triggered with the period,
|
|
135
144
|
# independent of the value.
|
|
136
145
|
def set_position_callback_configuration(period, value_has_to_change)
|
|
137
|
-
|
|
146
|
+
check_validity
|
|
147
|
+
|
|
148
|
+
send_request FUNCTION_SET_POSITION_CALLBACK_CONFIGURATION, [period, value_has_to_change], 'L ?', 8, ''
|
|
138
149
|
end
|
|
139
150
|
|
|
140
151
|
# Returns the callback configuration as set by
|
|
141
152
|
# BrickletJoystickV2#set_position_callback_configuration.
|
|
142
153
|
def get_position_callback_configuration
|
|
143
|
-
|
|
154
|
+
check_validity
|
|
155
|
+
|
|
156
|
+
send_request FUNCTION_GET_POSITION_CALLBACK_CONFIGURATION, [], '', 13, 'L ?'
|
|
144
157
|
end
|
|
145
158
|
|
|
146
159
|
# The period is the period with which the CALLBACK_PRESSED
|
|
@@ -153,13 +166,17 @@ module Tinkerforge
|
|
|
153
166
|
# If it is set to false, the callback is continuously triggered with the period,
|
|
154
167
|
# independent of the value.
|
|
155
168
|
def set_pressed_callback_configuration(period, value_has_to_change)
|
|
156
|
-
|
|
169
|
+
check_validity
|
|
170
|
+
|
|
171
|
+
send_request FUNCTION_SET_PRESSED_CALLBACK_CONFIGURATION, [period, value_has_to_change], 'L ?', 8, ''
|
|
157
172
|
end
|
|
158
173
|
|
|
159
174
|
# Returns the callback configuration as set by
|
|
160
175
|
# BrickletJoystickV2#set_pressed_callback_configuration.
|
|
161
176
|
def get_pressed_callback_configuration
|
|
162
|
-
|
|
177
|
+
check_validity
|
|
178
|
+
|
|
179
|
+
send_request FUNCTION_GET_PRESSED_CALLBACK_CONFIGURATION, [], '', 13, 'L ?'
|
|
163
180
|
end
|
|
164
181
|
|
|
165
182
|
# Returns the error count for the communication between Brick and Bricklet.
|
|
@@ -174,7 +191,9 @@ module Tinkerforge
|
|
|
174
191
|
# The errors counts are for errors that occur on the Bricklet side. All
|
|
175
192
|
# Bricks have a similar function that returns the errors on the Brick side.
|
|
176
193
|
def get_spitfp_error_count
|
|
177
|
-
|
|
194
|
+
check_validity
|
|
195
|
+
|
|
196
|
+
send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
|
|
178
197
|
end
|
|
179
198
|
|
|
180
199
|
# Sets the bootloader mode and returns the status after the requested
|
|
@@ -187,12 +206,16 @@ module Tinkerforge
|
|
|
187
206
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
188
207
|
# necessary to call it in a normal user program.
|
|
189
208
|
def set_bootloader_mode(mode)
|
|
190
|
-
|
|
209
|
+
check_validity
|
|
210
|
+
|
|
211
|
+
send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
|
|
191
212
|
end
|
|
192
213
|
|
|
193
214
|
# Returns the current bootloader mode, see BrickletJoystickV2#set_bootloader_mode.
|
|
194
215
|
def get_bootloader_mode
|
|
195
|
-
|
|
216
|
+
check_validity
|
|
217
|
+
|
|
218
|
+
send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
|
|
196
219
|
end
|
|
197
220
|
|
|
198
221
|
# Sets the firmware pointer for BrickletJoystickV2#write_firmware. The pointer has
|
|
@@ -202,7 +225,9 @@ module Tinkerforge
|
|
|
202
225
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
203
226
|
# necessary to call it in a normal user program.
|
|
204
227
|
def set_write_firmware_pointer(pointer)
|
|
205
|
-
|
|
228
|
+
check_validity
|
|
229
|
+
|
|
230
|
+
send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
|
|
206
231
|
end
|
|
207
232
|
|
|
208
233
|
# Writes 64 Bytes of firmware at the position as written by
|
|
@@ -214,7 +239,9 @@ module Tinkerforge
|
|
|
214
239
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
215
240
|
# necessary to call it in a normal user program.
|
|
216
241
|
def write_firmware(data)
|
|
217
|
-
|
|
242
|
+
check_validity
|
|
243
|
+
|
|
244
|
+
send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
|
|
218
245
|
end
|
|
219
246
|
|
|
220
247
|
# Sets the status LED configuration. By default the LED shows
|
|
@@ -225,22 +252,28 @@ module Tinkerforge
|
|
|
225
252
|
#
|
|
226
253
|
# If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
|
|
227
254
|
def set_status_led_config(config)
|
|
228
|
-
|
|
255
|
+
check_validity
|
|
256
|
+
|
|
257
|
+
send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
|
|
229
258
|
end
|
|
230
259
|
|
|
231
260
|
# Returns the configuration as set by BrickletJoystickV2#set_status_led_config
|
|
232
261
|
def get_status_led_config
|
|
233
|
-
|
|
262
|
+
check_validity
|
|
263
|
+
|
|
264
|
+
send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
|
|
234
265
|
end
|
|
235
266
|
|
|
236
|
-
# Returns the temperature
|
|
267
|
+
# Returns the temperature as measured inside the microcontroller. The
|
|
237
268
|
# value returned is not the ambient temperature!
|
|
238
269
|
#
|
|
239
270
|
# The temperature is only proportional to the real temperature and it has bad
|
|
240
271
|
# accuracy. Practically it is only useful as an indicator for
|
|
241
272
|
# temperature changes.
|
|
242
273
|
def get_chip_temperature
|
|
243
|
-
|
|
274
|
+
check_validity
|
|
275
|
+
|
|
276
|
+
send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
|
|
244
277
|
end
|
|
245
278
|
|
|
246
279
|
# Calling this function will reset the Bricklet. All configurations
|
|
@@ -250,7 +283,9 @@ module Tinkerforge
|
|
|
250
283
|
# calling functions on the existing ones will result in
|
|
251
284
|
# undefined behavior!
|
|
252
285
|
def reset
|
|
253
|
-
|
|
286
|
+
check_validity
|
|
287
|
+
|
|
288
|
+
send_request FUNCTION_RESET, [], '', 8, ''
|
|
254
289
|
end
|
|
255
290
|
|
|
256
291
|
# Writes a new UID into flash. If you want to set a new UID
|
|
@@ -259,25 +294,32 @@ module Tinkerforge
|
|
|
259
294
|
#
|
|
260
295
|
# We recommend that you use Brick Viewer to change the UID.
|
|
261
296
|
def write_uid(uid)
|
|
262
|
-
|
|
297
|
+
check_validity
|
|
298
|
+
|
|
299
|
+
send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
|
|
263
300
|
end
|
|
264
301
|
|
|
265
302
|
# Returns the current UID as an integer. Encode as
|
|
266
303
|
# Base58 to get the usual string version.
|
|
267
304
|
def read_uid
|
|
268
|
-
|
|
305
|
+
check_validity
|
|
306
|
+
|
|
307
|
+
send_request FUNCTION_READ_UID, [], '', 12, 'L'
|
|
269
308
|
end
|
|
270
309
|
|
|
271
310
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
272
311
|
# the position, the hardware and firmware version as well as the
|
|
273
312
|
# device identifier.
|
|
274
313
|
#
|
|
275
|
-
# The position can be 'a', 'b', 'c' or '
|
|
314
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
315
|
+
# The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
|
|
316
|
+
# connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
|
|
317
|
+
# position 'z'.
|
|
276
318
|
#
|
|
277
319
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
278
320
|
# |device_identifier_constant|
|
|
279
321
|
def get_identity
|
|
280
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
322
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
281
323
|
end
|
|
282
324
|
|
|
283
325
|
# 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
|
|
3
|
+
# This file was automatically generated on 2020-04-07. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.25 #
|
|
6
6
|
# #
|
|
7
7
|
# If you have a bugfix for this file and want to commit it, #
|
|
8
8
|
# please fix the bug in the generator. You can find a link #
|
|
9
9
|
# to the generators git repository on tinkerforge.com #
|
|
10
10
|
#############################################################
|
|
11
11
|
|
|
12
|
+
require_relative './ip_connection'
|
|
13
|
+
|
|
12
14
|
module Tinkerforge
|
|
13
15
|
# Measures distance up to 40m with laser light
|
|
14
16
|
class BrickletLaserRangeFinder < Device
|
|
@@ -87,7 +89,7 @@ module Tinkerforge
|
|
|
87
89
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
88
90
|
# the IP Connection <tt>ipcon</tt>.
|
|
89
91
|
def initialize(uid, ipcon)
|
|
90
|
-
super uid, ipcon
|
|
92
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
91
93
|
|
|
92
94
|
@api_version = [2, 0, 1]
|
|
93
95
|
|
|
@@ -115,11 +117,12 @@ module Tinkerforge
|
|
|
115
117
|
@response_expected[FUNCTION_GET_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
116
118
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
117
119
|
|
|
118
|
-
@callback_formats[CALLBACK_DISTANCE] = 'S'
|
|
119
|
-
@callback_formats[CALLBACK_VELOCITY] = 's'
|
|
120
|
-
@callback_formats[CALLBACK_DISTANCE_REACHED] = 'S'
|
|
121
|
-
@callback_formats[CALLBACK_VELOCITY_REACHED] = 's'
|
|
120
|
+
@callback_formats[CALLBACK_DISTANCE] = [10, 'S']
|
|
121
|
+
@callback_formats[CALLBACK_VELOCITY] = [10, 's']
|
|
122
|
+
@callback_formats[CALLBACK_DISTANCE_REACHED] = [10, 'S']
|
|
123
|
+
@callback_formats[CALLBACK_VELOCITY_REACHED] = [10, 's']
|
|
122
124
|
|
|
125
|
+
@ipcon.add_device self
|
|
123
126
|
end
|
|
124
127
|
|
|
125
128
|
# Returns the measured distance.
|
|
@@ -134,7 +137,9 @@ module Tinkerforge
|
|
|
134
137
|
# use the CALLBACK_DISTANCE callback and set the period with
|
|
135
138
|
# BrickletLaserRangeFinder#set_distance_callback_period.
|
|
136
139
|
def get_distance
|
|
137
|
-
|
|
140
|
+
check_validity
|
|
141
|
+
|
|
142
|
+
send_request FUNCTION_GET_DISTANCE, [], '', 10, 'S'
|
|
138
143
|
end
|
|
139
144
|
|
|
140
145
|
# Returns the measured velocity.
|
|
@@ -151,7 +156,9 @@ module Tinkerforge
|
|
|
151
156
|
# use the CALLBACK_VELOCITY callback and set the period with
|
|
152
157
|
# BrickletLaserRangeFinder#set_velocity_callback_period.
|
|
153
158
|
def get_velocity
|
|
154
|
-
|
|
159
|
+
check_validity
|
|
160
|
+
|
|
161
|
+
send_request FUNCTION_GET_VELOCITY, [], '', 10, 's'
|
|
155
162
|
end
|
|
156
163
|
|
|
157
164
|
# Sets the period with which the CALLBACK_DISTANCE callback is triggered
|
|
@@ -160,12 +167,16 @@ module Tinkerforge
|
|
|
160
167
|
# The CALLBACK_DISTANCE callback is only triggered if the distance value has
|
|
161
168
|
# changed since the last triggering.
|
|
162
169
|
def set_distance_callback_period(period)
|
|
163
|
-
|
|
170
|
+
check_validity
|
|
171
|
+
|
|
172
|
+
send_request FUNCTION_SET_DISTANCE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
164
173
|
end
|
|
165
174
|
|
|
166
175
|
# Returns the period as set by BrickletLaserRangeFinder#set_distance_callback_period.
|
|
167
176
|
def get_distance_callback_period
|
|
168
|
-
|
|
177
|
+
check_validity
|
|
178
|
+
|
|
179
|
+
send_request FUNCTION_GET_DISTANCE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
169
180
|
end
|
|
170
181
|
|
|
171
182
|
# Sets the period with which the CALLBACK_VELOCITY callback is triggered
|
|
@@ -174,12 +185,16 @@ module Tinkerforge
|
|
|
174
185
|
# The CALLBACK_VELOCITY callback is only triggered if the velocity value has
|
|
175
186
|
# changed since the last triggering.
|
|
176
187
|
def set_velocity_callback_period(period)
|
|
177
|
-
|
|
188
|
+
check_validity
|
|
189
|
+
|
|
190
|
+
send_request FUNCTION_SET_VELOCITY_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
178
191
|
end
|
|
179
192
|
|
|
180
193
|
# Returns the period as set by BrickletLaserRangeFinder#set_velocity_callback_period.
|
|
181
194
|
def get_velocity_callback_period
|
|
182
|
-
|
|
195
|
+
check_validity
|
|
196
|
+
|
|
197
|
+
send_request FUNCTION_GET_VELOCITY_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
183
198
|
end
|
|
184
199
|
|
|
185
200
|
# Sets the thresholds for the CALLBACK_DISTANCE_REACHED callback.
|
|
@@ -194,12 +209,16 @@ module Tinkerforge
|
|
|
194
209
|
# "'<'", "Callback is triggered when the distance value is smaller than the min value (max is ignored)"
|
|
195
210
|
# "'>'", "Callback is triggered when the distance value is greater than the min value (max is ignored)"
|
|
196
211
|
def set_distance_callback_threshold(option, min, max)
|
|
197
|
-
|
|
212
|
+
check_validity
|
|
213
|
+
|
|
214
|
+
send_request FUNCTION_SET_DISTANCE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
|
|
198
215
|
end
|
|
199
216
|
|
|
200
217
|
# Returns the threshold as set by BrickletLaserRangeFinder#set_distance_callback_threshold.
|
|
201
218
|
def get_distance_callback_threshold
|
|
202
|
-
|
|
219
|
+
check_validity
|
|
220
|
+
|
|
221
|
+
send_request FUNCTION_GET_DISTANCE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
|
|
203
222
|
end
|
|
204
223
|
|
|
205
224
|
# Sets the thresholds for the CALLBACK_VELOCITY_REACHED callback.
|
|
@@ -214,12 +233,16 @@ module Tinkerforge
|
|
|
214
233
|
# "'<'", "Callback is triggered when the velocity is smaller than the min value (max is ignored)"
|
|
215
234
|
# "'>'", "Callback is triggered when the velocity is greater than the min value (max is ignored)"
|
|
216
235
|
def set_velocity_callback_threshold(option, min, max)
|
|
217
|
-
|
|
236
|
+
check_validity
|
|
237
|
+
|
|
238
|
+
send_request FUNCTION_SET_VELOCITY_CALLBACK_THRESHOLD, [option, min, max], 'k s s', 8, ''
|
|
218
239
|
end
|
|
219
240
|
|
|
220
241
|
# Returns the threshold as set by BrickletLaserRangeFinder#set_velocity_callback_threshold.
|
|
221
242
|
def get_velocity_callback_threshold
|
|
222
|
-
|
|
243
|
+
check_validity
|
|
244
|
+
|
|
245
|
+
send_request FUNCTION_GET_VELOCITY_CALLBACK_THRESHOLD, [], '', 13, 'k s s'
|
|
223
246
|
end
|
|
224
247
|
|
|
225
248
|
# Sets the period with which the threshold callbacks
|
|
@@ -234,12 +257,16 @@ module Tinkerforge
|
|
|
234
257
|
#
|
|
235
258
|
# keep being reached.
|
|
236
259
|
def set_debounce_period(debounce)
|
|
237
|
-
|
|
260
|
+
check_validity
|
|
261
|
+
|
|
262
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
238
263
|
end
|
|
239
264
|
|
|
240
265
|
# Returns the debounce period as set by BrickletLaserRangeFinder#set_debounce_period.
|
|
241
266
|
def get_debounce_period
|
|
242
|
-
|
|
267
|
+
check_validity
|
|
268
|
+
|
|
269
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
243
270
|
end
|
|
244
271
|
|
|
245
272
|
# Sets the length of a `moving averaging <https://en.wikipedia.org/wiki/Moving_average>`__
|
|
@@ -248,12 +275,16 @@ module Tinkerforge
|
|
|
248
275
|
# Setting the length to 0 will turn the averaging completely off. With less
|
|
249
276
|
# averaging, there is more noise on the data.
|
|
250
277
|
def set_moving_average(distance_average_length, velocity_average_length)
|
|
251
|
-
|
|
278
|
+
check_validity
|
|
279
|
+
|
|
280
|
+
send_request FUNCTION_SET_MOVING_AVERAGE, [distance_average_length, velocity_average_length], 'C C', 8, ''
|
|
252
281
|
end
|
|
253
282
|
|
|
254
283
|
# Returns the length moving average as set by BrickletLaserRangeFinder#set_moving_average.
|
|
255
284
|
def get_moving_average
|
|
256
|
-
|
|
285
|
+
check_validity
|
|
286
|
+
|
|
287
|
+
send_request FUNCTION_GET_MOVING_AVERAGE, [], '', 10, 'C C'
|
|
257
288
|
end
|
|
258
289
|
|
|
259
290
|
# .. note::
|
|
@@ -273,12 +304,16 @@ module Tinkerforge
|
|
|
273
304
|
# * 3: Velocity is measured with resolution 0.5 m/s and range is 0-63.5 m/s
|
|
274
305
|
# * 4: Velocity is measured with resolution 1.0 m/s and range is 0-127 m/s
|
|
275
306
|
def set_mode(mode)
|
|
276
|
-
|
|
307
|
+
check_validity
|
|
308
|
+
|
|
309
|
+
send_request FUNCTION_SET_MODE, [mode], 'C', 8, ''
|
|
277
310
|
end
|
|
278
311
|
|
|
279
312
|
# Returns the mode as set by BrickletLaserRangeFinder#set_mode.
|
|
280
313
|
def get_mode
|
|
281
|
-
|
|
314
|
+
check_validity
|
|
315
|
+
|
|
316
|
+
send_request FUNCTION_GET_MODE, [], '', 9, 'C'
|
|
282
317
|
end
|
|
283
318
|
|
|
284
319
|
# Activates the laser of the LIDAR.
|
|
@@ -286,24 +321,32 @@ module Tinkerforge
|
|
|
286
321
|
# We recommend that you wait 250ms after enabling the laser before
|
|
287
322
|
# the first call of BrickletLaserRangeFinder#get_distance to ensure stable measurements.
|
|
288
323
|
def enable_laser
|
|
289
|
-
|
|
324
|
+
check_validity
|
|
325
|
+
|
|
326
|
+
send_request FUNCTION_ENABLE_LASER, [], '', 8, ''
|
|
290
327
|
end
|
|
291
328
|
|
|
292
329
|
# Deactivates the laser of the LIDAR.
|
|
293
330
|
def disable_laser
|
|
294
|
-
|
|
331
|
+
check_validity
|
|
332
|
+
|
|
333
|
+
send_request FUNCTION_DISABLE_LASER, [], '', 8, ''
|
|
295
334
|
end
|
|
296
335
|
|
|
297
336
|
# Returns *true* if the laser is enabled, *false* otherwise.
|
|
298
337
|
def is_laser_enabled
|
|
299
|
-
|
|
338
|
+
check_validity
|
|
339
|
+
|
|
340
|
+
send_request FUNCTION_IS_LASER_ENABLED, [], '', 9, '?'
|
|
300
341
|
end
|
|
301
342
|
|
|
302
343
|
# Returns the LIDAR-Lite hardware version.
|
|
303
344
|
#
|
|
304
345
|
# .. versionadded:: 2.0.3$nbsp;(Plugin)
|
|
305
346
|
def get_sensor_hardware_version
|
|
306
|
-
|
|
347
|
+
check_validity
|
|
348
|
+
|
|
349
|
+
send_request FUNCTION_GET_SENSOR_HARDWARE_VERSION, [], '', 9, 'C'
|
|
307
350
|
end
|
|
308
351
|
|
|
309
352
|
# .. note::
|
|
@@ -328,7 +371,7 @@ module Tinkerforge
|
|
|
328
371
|
# the distance to something with a very high reflection (e.g. mirror). Set this to 0 to
|
|
329
372
|
# use the default algorithm. The other allowed values are 1-255.
|
|
330
373
|
#
|
|
331
|
-
# Set the **Measurement Frequency**
|
|
374
|
+
# Set the **Measurement Frequency** to force a fixed measurement rate. If set to 0,
|
|
332
375
|
# the Laser Range Finder Bricklet will use the optimal frequency according to the other
|
|
333
376
|
# configurations and the actual measured distance. Since the rate is not fixed in this case,
|
|
334
377
|
# the velocity measurement is not stable. For a stable velocity measurement you should
|
|
@@ -338,26 +381,33 @@ module Tinkerforge
|
|
|
338
381
|
#
|
|
339
382
|
# .. versionadded:: 2.0.3$nbsp;(Plugin)
|
|
340
383
|
def set_configuration(acquisition_count, enable_quick_termination, threshold_value, measurement_frequency)
|
|
341
|
-
|
|
384
|
+
check_validity
|
|
385
|
+
|
|
386
|
+
send_request FUNCTION_SET_CONFIGURATION, [acquisition_count, enable_quick_termination, threshold_value, measurement_frequency], 'C ? C S', 8, ''
|
|
342
387
|
end
|
|
343
388
|
|
|
344
389
|
# Returns the configuration as set by BrickletLaserRangeFinder#set_configuration.
|
|
345
390
|
#
|
|
346
391
|
# .. versionadded:: 2.0.3$nbsp;(Plugin)
|
|
347
392
|
def get_configuration
|
|
348
|
-
|
|
393
|
+
check_validity
|
|
394
|
+
|
|
395
|
+
send_request FUNCTION_GET_CONFIGURATION, [], '', 13, 'C ? C S'
|
|
349
396
|
end
|
|
350
397
|
|
|
351
398
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
352
399
|
# the position, the hardware and firmware version as well as the
|
|
353
400
|
# device identifier.
|
|
354
401
|
#
|
|
355
|
-
# The position can be 'a', 'b', 'c' or '
|
|
402
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
403
|
+
# The Raspberry Pi HAT (Zero) Brick is always at position 'i' and the Bricklet
|
|
404
|
+
# connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always as
|
|
405
|
+
# position 'z'.
|
|
356
406
|
#
|
|
357
407
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
358
408
|
# |device_identifier_constant|
|
|
359
409
|
def get_identity
|
|
360
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
410
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
361
411
|
end
|
|
362
412
|
|
|
363
413
|
# Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
|