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.
- checksums.yaml +5 -5
- data/lib/tinkerforge/brick_dc.rb +156 -75
- data/lib/tinkerforge/brick_hat.rb +69 -31
- data/lib/tinkerforge/brick_hat_zero.rb +55 -23
- data/lib/tinkerforge/brick_imu.rb +185 -78
- data/lib/tinkerforge/brick_imu_v2.rb +209 -106
- data/lib/tinkerforge/brick_master.rb +491 -183
- data/lib/tinkerforge/brick_red.rb +197 -74
- data/lib/tinkerforge/brick_servo.rb +186 -102
- data/lib/tinkerforge/brick_silent_stepper.rb +247 -167
- data/lib/tinkerforge/brick_stepper.rb +211 -99
- data/lib/tinkerforge/bricklet_accelerometer.rb +57 -23
- data/lib/tinkerforge/bricklet_accelerometer_v2.rb +104 -54
- data/lib/tinkerforge/bricklet_air_quality.rb +116 -59
- data/lib/tinkerforge/bricklet_ambient_light.rb +50 -21
- data/lib/tinkerforge/bricklet_ambient_light_v2.rb +44 -24
- data/lib/tinkerforge/bricklet_ambient_light_v3.rb +65 -27
- data/lib/tinkerforge/bricklet_analog_in.rb +62 -25
- data/lib/tinkerforge/bricklet_analog_in_v2.rb +56 -23
- data/lib/tinkerforge/bricklet_analog_in_v3.rb +66 -25
- data/lib/tinkerforge/bricklet_analog_out.rb +22 -9
- data/lib/tinkerforge/bricklet_analog_out_v2.rb +19 -8
- data/lib/tinkerforge/bricklet_analog_out_v3.rb +53 -20
- data/lib/tinkerforge/bricklet_barometer.rb +100 -27
- data/lib/tinkerforge/bricklet_barometer_v2.rb +98 -37
- data/lib/tinkerforge/bricklet_can.rb +83 -19
- data/lib/tinkerforge/bricklet_can_v2.rb +171 -38
- data/lib/tinkerforge/bricklet_co2.rb +33 -14
- data/lib/tinkerforge/bricklet_co2_v2.rb +97 -38
- data/lib/tinkerforge/bricklet_color.rb +68 -27
- data/lib/tinkerforge/bricklet_color_v2.rb +86 -33
- data/lib/tinkerforge/bricklet_compass.rb +77 -30
- data/lib/tinkerforge/bricklet_current12.rb +57 -24
- data/lib/tinkerforge/bricklet_current25.rb +57 -24
- data/lib/tinkerforge/bricklet_dc_v2.rb +521 -0
- data/lib/tinkerforge/bricklet_distance_ir.rb +56 -23
- data/lib/tinkerforge/bricklet_distance_ir_v2.rb +82 -31
- data/lib/tinkerforge/bricklet_distance_us.rb +39 -16
- data/lib/tinkerforge/bricklet_distance_us_v2.rb +66 -25
- data/lib/tinkerforge/bricklet_dmx.rb +87 -34
- data/lib/tinkerforge/bricklet_dual_button.rb +23 -10
- data/lib/tinkerforge/bricklet_dual_button_v2.rb +63 -24
- data/lib/tinkerforge/bricklet_dual_relay.rb +26 -11
- data/lib/tinkerforge/bricklet_dust_detector.rb +39 -16
- data/lib/tinkerforge/bricklet_e_paper_296x128.rb +87 -32
- data/lib/tinkerforge/bricklet_energy_monitor.rb +72 -27
- data/lib/tinkerforge/bricklet_gps.rb +63 -26
- data/lib/tinkerforge/bricklet_gps_v2.rb +116 -47
- data/lib/tinkerforge/bricklet_hall_effect.rb +42 -23
- data/lib/tinkerforge/bricklet_hall_effect_v2.rb +70 -27
- data/lib/tinkerforge/bricklet_humidity.rb +50 -21
- data/lib/tinkerforge/bricklet_humidity_v2.rb +82 -31
- data/lib/tinkerforge/bricklet_imu_v3.rb +784 -0
- data/lib/tinkerforge/bricklet_industrial_analog_out.rb +37 -14
- data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +80 -29
- data/lib/tinkerforge/bricklet_industrial_counter.rb +100 -39
- data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +44 -17
- data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +76 -29
- data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +35 -14
- data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +72 -27
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +39 -16
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +79 -30
- data/lib/tinkerforge/bricklet_industrial_dual_ac_relay.rb +325 -0
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +48 -19
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +137 -31
- data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +60 -23
- data/lib/tinkerforge/bricklet_industrial_ptc.rb +475 -0
- data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +35 -14
- data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +66 -25
- data/lib/tinkerforge/bricklet_io16.rb +54 -21
- data/lib/tinkerforge/bricklet_io16_v2.rb +89 -34
- data/lib/tinkerforge/bricklet_io4.rb +54 -23
- data/lib/tinkerforge/bricklet_io4_v2.rb +95 -36
- data/lib/tinkerforge/bricklet_isolator.rb +72 -29
- data/lib/tinkerforge/bricklet_joystick.rb +58 -25
- data/lib/tinkerforge/bricklet_joystick_v2.rb +67 -26
- data/lib/tinkerforge/bricklet_laser_range_finder.rb +81 -32
- data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +95 -36
- data/lib/tinkerforge/bricklet_lcd_128x64.rb +191 -70
- data/lib/tinkerforge/bricklet_lcd_16x2.rb +44 -18
- data/lib/tinkerforge/bricklet_lcd_20x4.rb +57 -23
- data/lib/tinkerforge/bricklet_led_strip.rb +59 -22
- data/lib/tinkerforge/bricklet_led_strip_v2.rb +90 -46
- data/lib/tinkerforge/bricklet_line.rb +33 -14
- data/lib/tinkerforge/bricklet_linear_poti.rb +50 -21
- data/lib/tinkerforge/bricklet_linear_poti_v2.rb +54 -21
- data/lib/tinkerforge/bricklet_load_cell.rb +60 -23
- data/lib/tinkerforge/bricklet_load_cell_v2.rb +79 -30
- data/lib/tinkerforge/bricklet_moisture.rb +39 -16
- data/lib/tinkerforge/bricklet_motion_detector.rb +21 -10
- data/lib/tinkerforge/bricklet_motion_detector_v2.rb +61 -27
- data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +70 -27
- data/lib/tinkerforge/bricklet_multi_touch.rb +30 -13
- data/lib/tinkerforge/bricklet_multi_touch_v2.rb +75 -28
- data/lib/tinkerforge/bricklet_nfc.rb +126 -62
- data/lib/tinkerforge/bricklet_nfc_rfid.rb +32 -13
- data/lib/tinkerforge/bricklet_oled_128x64.rb +28 -11
- data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +65 -24
- data/lib/tinkerforge/bricklet_oled_64x48.rb +28 -11
- data/lib/tinkerforge/bricklet_one_wire.rb +65 -24
- data/lib/tinkerforge/bricklet_outdoor_weather.rb +71 -28
- data/lib/tinkerforge/bricklet_particulate_matter.rb +74 -30
- data/lib/tinkerforge/bricklet_performance_dc.rb +682 -0
- data/lib/tinkerforge/bricklet_piezo_buzzer.rb +18 -9
- data/lib/tinkerforge/bricklet_piezo_speaker.rb +21 -10
- data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +79 -42
- data/lib/tinkerforge/bricklet_ptc.rb +73 -42
- data/lib/tinkerforge/bricklet_ptc_v2.rb +94 -48
- data/lib/tinkerforge/bricklet_real_time_clock.rb +44 -33
- data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +77 -44
- data/lib/tinkerforge/bricklet_remote_switch.rb +38 -29
- data/lib/tinkerforge/bricklet_remote_switch_v2.rb +86 -49
- data/lib/tinkerforge/bricklet_rgb_led.rb +17 -8
- data/lib/tinkerforge/bricklet_rgb_led_button.rb +61 -30
- data/lib/tinkerforge/bricklet_rgb_led_matrix.rb +78 -33
- data/lib/tinkerforge/bricklet_rgb_led_v2.rb +51 -20
- data/lib/tinkerforge/bricklet_rotary_encoder.rb +38 -19
- data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +59 -24
- data/lib/tinkerforge/bricklet_rotary_poti.rb +52 -28
- data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +56 -23
- data/lib/tinkerforge/bricklet_rs232.rb +89 -28
- data/lib/tinkerforge/bricklet_rs232_v2.rb +117 -44
- data/lib/tinkerforge/bricklet_rs485.rb +222 -95
- data/lib/tinkerforge/bricklet_segment_display_4x7.rb +24 -14
- data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +74 -35
- data/lib/tinkerforge/bricklet_servo_v2.rb +565 -0
- data/lib/tinkerforge/bricklet_silent_stepper_v2.rb +1024 -0
- data/lib/tinkerforge/bricklet_solid_state_relay.rb +24 -13
- data/lib/tinkerforge/bricklet_solid_state_relay_v2.rb +58 -25
- data/lib/tinkerforge/bricklet_sound_intensity.rb +34 -18
- data/lib/tinkerforge/bricklet_sound_pressure_level.rb +71 -31
- data/lib/tinkerforge/bricklet_temperature.rb +39 -16
- data/lib/tinkerforge/bricklet_temperature_ir.rb +56 -23
- data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +70 -27
- data/lib/tinkerforge/bricklet_temperature_v2.rb +60 -25
- data/lib/tinkerforge/bricklet_thermal_imaging.rb +104 -44
- data/lib/tinkerforge/bricklet_thermocouple.rb +44 -24
- data/lib/tinkerforge/bricklet_thermocouple_v2.rb +64 -27
- data/lib/tinkerforge/bricklet_tilt.rb +23 -10
- data/lib/tinkerforge/bricklet_uv_light.rb +35 -18
- data/lib/tinkerforge/bricklet_uv_light_v2.rb +84 -37
- data/lib/tinkerforge/bricklet_voltage.rb +51 -28
- data/lib/tinkerforge/bricklet_voltage_current.rb +90 -73
- data/lib/tinkerforge/bricklet_voltage_current_v2.rb +89 -68
- data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +79 -30
- data/lib/tinkerforge/device_display_names.rb +170 -0
- data/lib/tinkerforge/ip_connection.rb +153 -33
- data/lib/tinkerforge/version.rb +1 -1
- metadata +11 -3
|
@@ -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 2021-05-06. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
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
|
# Measures ambient light up to 64000lux
|
|
14
16
|
class BrickletAmbientLightV2 < 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, 1]
|
|
72
74
|
|
|
@@ -81,25 +83,29 @@ module Tinkerforge
|
|
|
81
83
|
@response_expected[FUNCTION_GET_CONFIGURATION] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
82
84
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
83
85
|
|
|
84
|
-
@callback_formats[CALLBACK_ILLUMINANCE] = 'L'
|
|
85
|
-
@callback_formats[CALLBACK_ILLUMINANCE_REACHED] = 'L'
|
|
86
|
+
@callback_formats[CALLBACK_ILLUMINANCE] = [12, 'L']
|
|
87
|
+
@callback_formats[CALLBACK_ILLUMINANCE_REACHED] = [12, 'L']
|
|
86
88
|
|
|
89
|
+
@ipcon.add_device self
|
|
87
90
|
end
|
|
88
91
|
|
|
89
92
|
# Returns the illuminance of the ambient light sensor. The measurement range goes
|
|
90
93
|
# up to about 100000lux, but above 64000lux the precision starts to drop.
|
|
91
|
-
# The illuminance is given in lux/100, i.e. a value of 450000 means that an
|
|
92
|
-
# illuminance of 4500lux is measured.
|
|
93
94
|
#
|
|
94
95
|
# .. versionchanged:: 2.0.2$nbsp;(Plugin)
|
|
95
|
-
# An illuminance of 0lux indicates
|
|
96
|
-
#
|
|
96
|
+
# An illuminance of 0lux indicates an error condition where the sensor cannot
|
|
97
|
+
# perform a reasonable measurement. This can happen with very dim or very bright
|
|
98
|
+
# light conditions. In bright light conditions this might indicate that the sensor
|
|
99
|
+
# is saturated and the configuration should be modified (BrickletAmbientLightV2#set_configuration)
|
|
100
|
+
# to better match the light conditions.
|
|
97
101
|
#
|
|
98
102
|
# If you want to get the illuminance periodically, it is recommended to use the
|
|
99
103
|
# CALLBACK_ILLUMINANCE callback and set the period with
|
|
100
104
|
# BrickletAmbientLightV2#set_illuminance_callback_period.
|
|
101
105
|
def get_illuminance
|
|
102
|
-
|
|
106
|
+
check_validity
|
|
107
|
+
|
|
108
|
+
send_request FUNCTION_GET_ILLUMINANCE, [], '', 12, 'L'
|
|
103
109
|
end
|
|
104
110
|
|
|
105
111
|
# Sets the period with which the CALLBACK_ILLUMINANCE callback is triggered
|
|
@@ -108,12 +114,16 @@ module Tinkerforge
|
|
|
108
114
|
# The CALLBACK_ILLUMINANCE callback is only triggered if the illuminance has changed
|
|
109
115
|
# since the last triggering.
|
|
110
116
|
def set_illuminance_callback_period(period)
|
|
111
|
-
|
|
117
|
+
check_validity
|
|
118
|
+
|
|
119
|
+
send_request FUNCTION_SET_ILLUMINANCE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
112
120
|
end
|
|
113
121
|
|
|
114
122
|
# Returns the period as set by BrickletAmbientLightV2#set_illuminance_callback_period.
|
|
115
123
|
def get_illuminance_callback_period
|
|
116
|
-
|
|
124
|
+
check_validity
|
|
125
|
+
|
|
126
|
+
send_request FUNCTION_GET_ILLUMINANCE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
117
127
|
end
|
|
118
128
|
|
|
119
129
|
# Sets the thresholds for the CALLBACK_ILLUMINANCE_REACHED callback.
|
|
@@ -127,15 +137,17 @@ module Tinkerforge
|
|
|
127
137
|
# "'i'", "Callback is triggered when the illuminance is *inside* the min and max values"
|
|
128
138
|
# "'<'", "Callback is triggered when the illuminance is smaller than the min value (max is ignored)"
|
|
129
139
|
# "'>'", "Callback is triggered when the illuminance is greater than the min value (max is ignored)"
|
|
130
|
-
#
|
|
131
|
-
# The default value is ('x', 0, 0).
|
|
132
140
|
def set_illuminance_callback_threshold(option, min, max)
|
|
133
|
-
|
|
141
|
+
check_validity
|
|
142
|
+
|
|
143
|
+
send_request FUNCTION_SET_ILLUMINANCE_CALLBACK_THRESHOLD, [option, min, max], 'k L L', 8, ''
|
|
134
144
|
end
|
|
135
145
|
|
|
136
146
|
# Returns the threshold as set by BrickletAmbientLightV2#set_illuminance_callback_threshold.
|
|
137
147
|
def get_illuminance_callback_threshold
|
|
138
|
-
|
|
148
|
+
check_validity
|
|
149
|
+
|
|
150
|
+
send_request FUNCTION_GET_ILLUMINANCE_CALLBACK_THRESHOLD, [], '', 17, 'k L L'
|
|
139
151
|
end
|
|
140
152
|
|
|
141
153
|
# Sets the period with which the threshold callbacks
|
|
@@ -148,12 +160,16 @@ module Tinkerforge
|
|
|
148
160
|
#
|
|
149
161
|
# keep being reached.
|
|
150
162
|
def set_debounce_period(debounce)
|
|
151
|
-
|
|
163
|
+
check_validity
|
|
164
|
+
|
|
165
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
152
166
|
end
|
|
153
167
|
|
|
154
168
|
# Returns the debounce period as set by BrickletAmbientLightV2#set_debounce_period.
|
|
155
169
|
def get_debounce_period
|
|
156
|
-
|
|
170
|
+
check_validity
|
|
171
|
+
|
|
172
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
157
173
|
end
|
|
158
174
|
|
|
159
175
|
# Sets the configuration. It is possible to configure an illuminance range
|
|
@@ -179,27 +195,31 @@ module Tinkerforge
|
|
|
179
195
|
# If the measurement is out-of-range or the sensor is saturated then you should
|
|
180
196
|
# configure the next higher illuminance range. If the highest range is already
|
|
181
197
|
# in use, then start to reduce the integration time.
|
|
182
|
-
#
|
|
183
|
-
# The default values are 0-8000lux illuminance range and 200ms integration time.
|
|
184
198
|
def set_configuration(illuminance_range, integration_time)
|
|
185
|
-
|
|
199
|
+
check_validity
|
|
200
|
+
|
|
201
|
+
send_request FUNCTION_SET_CONFIGURATION, [illuminance_range, integration_time], 'C C', 8, ''
|
|
186
202
|
end
|
|
187
203
|
|
|
188
204
|
# Returns the configuration as set by BrickletAmbientLightV2#set_configuration.
|
|
189
205
|
def get_configuration
|
|
190
|
-
|
|
206
|
+
check_validity
|
|
207
|
+
|
|
208
|
+
send_request FUNCTION_GET_CONFIGURATION, [], '', 10, 'C C'
|
|
191
209
|
end
|
|
192
210
|
|
|
193
211
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
194
212
|
# the position, the hardware and firmware version as well as the
|
|
195
213
|
# device identifier.
|
|
196
214
|
#
|
|
197
|
-
# The position can be 'a', 'b', 'c' or '
|
|
215
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
216
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
217
|
+
# position 'z'.
|
|
198
218
|
#
|
|
199
219
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
200
220
|
# |device_identifier_constant|
|
|
201
221
|
def get_identity
|
|
202
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
222
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
203
223
|
end
|
|
204
224
|
|
|
205
225
|
# 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 2021-05-06. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
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
|
# Measures ambient light up to 64000lux
|
|
14
16
|
class BrickletAmbientLightV3 < 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
|
|
|
@@ -100,8 +102,9 @@ module Tinkerforge
|
|
|
100
102
|
@response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
101
103
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
102
104
|
|
|
103
|
-
@callback_formats[CALLBACK_ILLUMINANCE] = 'L'
|
|
105
|
+
@callback_formats[CALLBACK_ILLUMINANCE] = [12, 'L']
|
|
104
106
|
|
|
107
|
+
@ipcon.add_device self
|
|
105
108
|
end
|
|
106
109
|
|
|
107
110
|
# Returns the illuminance of the ambient light sensor. The measurement range goes
|
|
@@ -109,15 +112,20 @@ module Tinkerforge
|
|
|
109
112
|
# The illuminance is given in lux/100, i.e. a value of 450000 means that an
|
|
110
113
|
# illuminance of 4500lux is measured.
|
|
111
114
|
#
|
|
112
|
-
# An illuminance of 0lux indicates
|
|
113
|
-
#
|
|
115
|
+
# An illuminance of 0lux indicates an error condition where the sensor cannot
|
|
116
|
+
# perform a reasonable measurement. This can happen with very dim or very bright
|
|
117
|
+
# light conditions. In bright light conditions this might indicate that the sensor
|
|
118
|
+
# is saturated and the configuration should be modified (BrickletAmbientLightV3#set_configuration)
|
|
119
|
+
# to better match the conditions.
|
|
114
120
|
#
|
|
115
121
|
#
|
|
116
122
|
# If you want to get the value periodically, it is recommended to use the
|
|
117
123
|
# CALLBACK_ILLUMINANCE callback. You can set the callback configuration
|
|
118
124
|
# with BrickletAmbientLightV3#set_illuminance_callback_configuration.
|
|
119
125
|
def get_illuminance
|
|
120
|
-
|
|
126
|
+
check_validity
|
|
127
|
+
|
|
128
|
+
send_request FUNCTION_GET_ILLUMINANCE, [], '', 12, 'L'
|
|
121
129
|
end
|
|
122
130
|
|
|
123
131
|
# The period is the period with which the CALLBACK_ILLUMINANCE callback is triggered
|
|
@@ -146,12 +154,16 @@ module Tinkerforge
|
|
|
146
154
|
#
|
|
147
155
|
# If the option is set to 'x' (threshold turned off) the callback is triggered with the fixed period.
|
|
148
156
|
def set_illuminance_callback_configuration(period, value_has_to_change, option, min, max)
|
|
149
|
-
|
|
157
|
+
check_validity
|
|
158
|
+
|
|
159
|
+
send_request FUNCTION_SET_ILLUMINANCE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k L L', 8, ''
|
|
150
160
|
end
|
|
151
161
|
|
|
152
162
|
# Returns the callback configuration as set by BrickletAmbientLightV3#set_illuminance_callback_configuration.
|
|
153
163
|
def get_illuminance_callback_configuration
|
|
154
|
-
|
|
164
|
+
check_validity
|
|
165
|
+
|
|
166
|
+
send_request FUNCTION_GET_ILLUMINANCE_CALLBACK_CONFIGURATION, [], '', 22, 'L ? k L L'
|
|
155
167
|
end
|
|
156
168
|
|
|
157
169
|
# Sets the configuration. It is possible to configure an illuminance range
|
|
@@ -174,15 +186,17 @@ module Tinkerforge
|
|
|
174
186
|
# If the measurement is out-of-range or the sensor is saturated then you should
|
|
175
187
|
# configure the next higher illuminance range. If the highest range is already
|
|
176
188
|
# in use, then start to reduce the integration time.
|
|
177
|
-
#
|
|
178
|
-
# The default values are 0-8000lux illuminance range and 150ms integration time.
|
|
179
189
|
def set_configuration(illuminance_range, integration_time)
|
|
180
|
-
|
|
190
|
+
check_validity
|
|
191
|
+
|
|
192
|
+
send_request FUNCTION_SET_CONFIGURATION, [illuminance_range, integration_time], 'C C', 8, ''
|
|
181
193
|
end
|
|
182
194
|
|
|
183
195
|
# Returns the configuration as set by BrickletAmbientLightV3#set_configuration.
|
|
184
196
|
def get_configuration
|
|
185
|
-
|
|
197
|
+
check_validity
|
|
198
|
+
|
|
199
|
+
send_request FUNCTION_GET_CONFIGURATION, [], '', 10, 'C C'
|
|
186
200
|
end
|
|
187
201
|
|
|
188
202
|
# Returns the error count for the communication between Brick and Bricklet.
|
|
@@ -197,7 +211,9 @@ module Tinkerforge
|
|
|
197
211
|
# The errors counts are for errors that occur on the Bricklet side. All
|
|
198
212
|
# Bricks have a similar function that returns the errors on the Brick side.
|
|
199
213
|
def get_spitfp_error_count
|
|
200
|
-
|
|
214
|
+
check_validity
|
|
215
|
+
|
|
216
|
+
send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
|
|
201
217
|
end
|
|
202
218
|
|
|
203
219
|
# Sets the bootloader mode and returns the status after the requested
|
|
@@ -210,12 +226,16 @@ module Tinkerforge
|
|
|
210
226
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
211
227
|
# necessary to call it in a normal user program.
|
|
212
228
|
def set_bootloader_mode(mode)
|
|
213
|
-
|
|
229
|
+
check_validity
|
|
230
|
+
|
|
231
|
+
send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
|
|
214
232
|
end
|
|
215
233
|
|
|
216
234
|
# Returns the current bootloader mode, see BrickletAmbientLightV3#set_bootloader_mode.
|
|
217
235
|
def get_bootloader_mode
|
|
218
|
-
|
|
236
|
+
check_validity
|
|
237
|
+
|
|
238
|
+
send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
|
|
219
239
|
end
|
|
220
240
|
|
|
221
241
|
# Sets the firmware pointer for BrickletAmbientLightV3#write_firmware. The pointer has
|
|
@@ -225,7 +245,9 @@ module Tinkerforge
|
|
|
225
245
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
226
246
|
# necessary to call it in a normal user program.
|
|
227
247
|
def set_write_firmware_pointer(pointer)
|
|
228
|
-
|
|
248
|
+
check_validity
|
|
249
|
+
|
|
250
|
+
send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
|
|
229
251
|
end
|
|
230
252
|
|
|
231
253
|
# Writes 64 Bytes of firmware at the position as written by
|
|
@@ -237,7 +259,9 @@ module Tinkerforge
|
|
|
237
259
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
238
260
|
# necessary to call it in a normal user program.
|
|
239
261
|
def write_firmware(data)
|
|
240
|
-
|
|
262
|
+
check_validity
|
|
263
|
+
|
|
264
|
+
send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
|
|
241
265
|
end
|
|
242
266
|
|
|
243
267
|
# Sets the status LED configuration. By default the LED shows
|
|
@@ -248,22 +272,28 @@ module Tinkerforge
|
|
|
248
272
|
#
|
|
249
273
|
# If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
|
|
250
274
|
def set_status_led_config(config)
|
|
251
|
-
|
|
275
|
+
check_validity
|
|
276
|
+
|
|
277
|
+
send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
|
|
252
278
|
end
|
|
253
279
|
|
|
254
280
|
# Returns the configuration as set by BrickletAmbientLightV3#set_status_led_config
|
|
255
281
|
def get_status_led_config
|
|
256
|
-
|
|
282
|
+
check_validity
|
|
283
|
+
|
|
284
|
+
send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
|
|
257
285
|
end
|
|
258
286
|
|
|
259
|
-
# Returns the temperature
|
|
287
|
+
# Returns the temperature as measured inside the microcontroller. The
|
|
260
288
|
# value returned is not the ambient temperature!
|
|
261
289
|
#
|
|
262
290
|
# The temperature is only proportional to the real temperature and it has bad
|
|
263
291
|
# accuracy. Practically it is only useful as an indicator for
|
|
264
292
|
# temperature changes.
|
|
265
293
|
def get_chip_temperature
|
|
266
|
-
|
|
294
|
+
check_validity
|
|
295
|
+
|
|
296
|
+
send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
|
|
267
297
|
end
|
|
268
298
|
|
|
269
299
|
# Calling this function will reset the Bricklet. All configurations
|
|
@@ -273,7 +303,9 @@ module Tinkerforge
|
|
|
273
303
|
# calling functions on the existing ones will result in
|
|
274
304
|
# undefined behavior!
|
|
275
305
|
def reset
|
|
276
|
-
|
|
306
|
+
check_validity
|
|
307
|
+
|
|
308
|
+
send_request FUNCTION_RESET, [], '', 8, ''
|
|
277
309
|
end
|
|
278
310
|
|
|
279
311
|
# Writes a new UID into flash. If you want to set a new UID
|
|
@@ -282,25 +314,31 @@ module Tinkerforge
|
|
|
282
314
|
#
|
|
283
315
|
# We recommend that you use Brick Viewer to change the UID.
|
|
284
316
|
def write_uid(uid)
|
|
285
|
-
|
|
317
|
+
check_validity
|
|
318
|
+
|
|
319
|
+
send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
|
|
286
320
|
end
|
|
287
321
|
|
|
288
322
|
# Returns the current UID as an integer. Encode as
|
|
289
323
|
# Base58 to get the usual string version.
|
|
290
324
|
def read_uid
|
|
291
|
-
|
|
325
|
+
check_validity
|
|
326
|
+
|
|
327
|
+
send_request FUNCTION_READ_UID, [], '', 12, 'L'
|
|
292
328
|
end
|
|
293
329
|
|
|
294
330
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
295
331
|
# the position, the hardware and firmware version as well as the
|
|
296
332
|
# device identifier.
|
|
297
333
|
#
|
|
298
|
-
# The position can be 'a', 'b', 'c' or '
|
|
334
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
335
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
336
|
+
# position 'z'.
|
|
299
337
|
#
|
|
300
338
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
301
339
|
# |device_identifier_constant|
|
|
302
340
|
def get_identity
|
|
303
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
341
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
304
342
|
end
|
|
305
343
|
|
|
306
344
|
# 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 2021-05-06. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
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
|
# Measures DC voltage between 0V and 45V
|
|
14
16
|
class BrickletAnalogIn < Device
|
|
@@ -80,7 +82,7 @@ module Tinkerforge
|
|
|
80
82
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
81
83
|
# the IP Connection <tt>ipcon</tt>.
|
|
82
84
|
def initialize(uid, ipcon)
|
|
83
|
-
super uid, ipcon
|
|
85
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
84
86
|
|
|
85
87
|
@api_version = [2, 0, 3]
|
|
86
88
|
|
|
@@ -102,11 +104,12 @@ module Tinkerforge
|
|
|
102
104
|
@response_expected[FUNCTION_GET_AVERAGING] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
103
105
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
104
106
|
|
|
105
|
-
@callback_formats[CALLBACK_VOLTAGE] = 'S'
|
|
106
|
-
@callback_formats[CALLBACK_ANALOG_VALUE] = 'S'
|
|
107
|
-
@callback_formats[CALLBACK_VOLTAGE_REACHED] = 'S'
|
|
108
|
-
@callback_formats[CALLBACK_ANALOG_VALUE_REACHED] = 'S'
|
|
107
|
+
@callback_formats[CALLBACK_VOLTAGE] = [10, 'S']
|
|
108
|
+
@callback_formats[CALLBACK_ANALOG_VALUE] = [10, 'S']
|
|
109
|
+
@callback_formats[CALLBACK_VOLTAGE_REACHED] = [10, 'S']
|
|
110
|
+
@callback_formats[CALLBACK_ANALOG_VALUE_REACHED] = [10, 'S']
|
|
109
111
|
|
|
112
|
+
@ipcon.add_device self
|
|
110
113
|
end
|
|
111
114
|
|
|
112
115
|
# Returns the voltage of the sensor. The resolution between 0 and 6V is about 2mV.
|
|
@@ -116,7 +119,9 @@ module Tinkerforge
|
|
|
116
119
|
# CALLBACK_VOLTAGE callback and set the period with
|
|
117
120
|
# BrickletAnalogIn#set_voltage_callback_period.
|
|
118
121
|
def get_voltage
|
|
119
|
-
|
|
122
|
+
check_validity
|
|
123
|
+
|
|
124
|
+
send_request FUNCTION_GET_VOLTAGE, [], '', 10, 'S'
|
|
120
125
|
end
|
|
121
126
|
|
|
122
127
|
# Returns the value as read by a 12-bit analog-to-digital converter.
|
|
@@ -131,7 +136,9 @@ module Tinkerforge
|
|
|
131
136
|
# CALLBACK_ANALOG_VALUE callback and set the period with
|
|
132
137
|
# BrickletAnalogIn#set_analog_value_callback_period.
|
|
133
138
|
def get_analog_value
|
|
134
|
-
|
|
139
|
+
check_validity
|
|
140
|
+
|
|
141
|
+
send_request FUNCTION_GET_ANALOG_VALUE, [], '', 10, 'S'
|
|
135
142
|
end
|
|
136
143
|
|
|
137
144
|
# Sets the period with which the CALLBACK_VOLTAGE callback is triggered
|
|
@@ -140,12 +147,16 @@ module Tinkerforge
|
|
|
140
147
|
# The CALLBACK_VOLTAGE callback is only triggered if the voltage has changed since
|
|
141
148
|
# the last triggering.
|
|
142
149
|
def set_voltage_callback_period(period)
|
|
143
|
-
|
|
150
|
+
check_validity
|
|
151
|
+
|
|
152
|
+
send_request FUNCTION_SET_VOLTAGE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
144
153
|
end
|
|
145
154
|
|
|
146
155
|
# Returns the period as set by BrickletAnalogIn#set_voltage_callback_period.
|
|
147
156
|
def get_voltage_callback_period
|
|
148
|
-
|
|
157
|
+
check_validity
|
|
158
|
+
|
|
159
|
+
send_request FUNCTION_GET_VOLTAGE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
149
160
|
end
|
|
150
161
|
|
|
151
162
|
# Sets the period with which the CALLBACK_ANALOG_VALUE callback is triggered
|
|
@@ -154,12 +165,16 @@ module Tinkerforge
|
|
|
154
165
|
# The CALLBACK_ANALOG_VALUE callback is only triggered if the analog value has
|
|
155
166
|
# changed since the last triggering.
|
|
156
167
|
def set_analog_value_callback_period(period)
|
|
157
|
-
|
|
168
|
+
check_validity
|
|
169
|
+
|
|
170
|
+
send_request FUNCTION_SET_ANALOG_VALUE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
158
171
|
end
|
|
159
172
|
|
|
160
173
|
# Returns the period as set by BrickletAnalogIn#set_analog_value_callback_period.
|
|
161
174
|
def get_analog_value_callback_period
|
|
162
|
-
|
|
175
|
+
check_validity
|
|
176
|
+
|
|
177
|
+
send_request FUNCTION_GET_ANALOG_VALUE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
163
178
|
end
|
|
164
179
|
|
|
165
180
|
# Sets the thresholds for the CALLBACK_VOLTAGE_REACHED callback.
|
|
@@ -174,12 +189,16 @@ module Tinkerforge
|
|
|
174
189
|
# "'<'", "Callback is triggered when the voltage is smaller than the min value (max is ignored)"
|
|
175
190
|
# "'>'", "Callback is triggered when the voltage is greater than the min value (max is ignored)"
|
|
176
191
|
def set_voltage_callback_threshold(option, min, max)
|
|
177
|
-
|
|
192
|
+
check_validity
|
|
193
|
+
|
|
194
|
+
send_request FUNCTION_SET_VOLTAGE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
|
|
178
195
|
end
|
|
179
196
|
|
|
180
197
|
# Returns the threshold as set by BrickletAnalogIn#set_voltage_callback_threshold.
|
|
181
198
|
def get_voltage_callback_threshold
|
|
182
|
-
|
|
199
|
+
check_validity
|
|
200
|
+
|
|
201
|
+
send_request FUNCTION_GET_VOLTAGE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
|
|
183
202
|
end
|
|
184
203
|
|
|
185
204
|
# Sets the thresholds for the CALLBACK_ANALOG_VALUE_REACHED callback.
|
|
@@ -194,12 +213,16 @@ module Tinkerforge
|
|
|
194
213
|
# "'<'", "Callback is triggered when the analog value is smaller than the min value (max is ignored)"
|
|
195
214
|
# "'>'", "Callback is triggered when the analog value is greater than the min value (max is ignored)"
|
|
196
215
|
def set_analog_value_callback_threshold(option, min, max)
|
|
197
|
-
|
|
216
|
+
check_validity
|
|
217
|
+
|
|
218
|
+
send_request FUNCTION_SET_ANALOG_VALUE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
|
|
198
219
|
end
|
|
199
220
|
|
|
200
221
|
# Returns the threshold as set by BrickletAnalogIn#set_analog_value_callback_threshold.
|
|
201
222
|
def get_analog_value_callback_threshold
|
|
202
|
-
|
|
223
|
+
check_validity
|
|
224
|
+
|
|
225
|
+
send_request FUNCTION_GET_ANALOG_VALUE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
|
|
203
226
|
end
|
|
204
227
|
|
|
205
228
|
# Sets the period with which the threshold callbacks
|
|
@@ -214,12 +237,16 @@ module Tinkerforge
|
|
|
214
237
|
#
|
|
215
238
|
# keep being reached.
|
|
216
239
|
def set_debounce_period(debounce)
|
|
217
|
-
|
|
240
|
+
check_validity
|
|
241
|
+
|
|
242
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
218
243
|
end
|
|
219
244
|
|
|
220
245
|
# Returns the debounce period as set by BrickletAnalogIn#set_debounce_period.
|
|
221
246
|
def get_debounce_period
|
|
222
|
-
|
|
247
|
+
check_validity
|
|
248
|
+
|
|
249
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
223
250
|
end
|
|
224
251
|
|
|
225
252
|
# Sets the measurement range. Possible ranges:
|
|
@@ -233,14 +260,18 @@ module Tinkerforge
|
|
|
233
260
|
#
|
|
234
261
|
# .. versionadded:: 2.0.1$nbsp;(Plugin)
|
|
235
262
|
def set_range(range)
|
|
236
|
-
|
|
263
|
+
check_validity
|
|
264
|
+
|
|
265
|
+
send_request FUNCTION_SET_RANGE, [range], 'C', 8, ''
|
|
237
266
|
end
|
|
238
267
|
|
|
239
268
|
# Returns the measurement range as set by BrickletAnalogIn#set_range.
|
|
240
269
|
#
|
|
241
270
|
# .. versionadded:: 2.0.1$nbsp;(Plugin)
|
|
242
271
|
def get_range
|
|
243
|
-
|
|
272
|
+
check_validity
|
|
273
|
+
|
|
274
|
+
send_request FUNCTION_GET_RANGE, [], '', 9, 'C'
|
|
244
275
|
end
|
|
245
276
|
|
|
246
277
|
# Set the length of a averaging for the voltage value.
|
|
@@ -251,26 +282,32 @@ module Tinkerforge
|
|
|
251
282
|
#
|
|
252
283
|
# .. versionadded:: 2.0.3$nbsp;(Plugin)
|
|
253
284
|
def set_averaging(average)
|
|
254
|
-
|
|
285
|
+
check_validity
|
|
286
|
+
|
|
287
|
+
send_request FUNCTION_SET_AVERAGING, [average], 'C', 8, ''
|
|
255
288
|
end
|
|
256
289
|
|
|
257
290
|
# Returns the averaging configuration as set by BrickletAnalogIn#set_averaging.
|
|
258
291
|
#
|
|
259
292
|
# .. versionadded:: 2.0.3$nbsp;(Plugin)
|
|
260
293
|
def get_averaging
|
|
261
|
-
|
|
294
|
+
check_validity
|
|
295
|
+
|
|
296
|
+
send_request FUNCTION_GET_AVERAGING, [], '', 9, 'C'
|
|
262
297
|
end
|
|
263
298
|
|
|
264
299
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
265
300
|
# the position, the hardware and firmware version as well as the
|
|
266
301
|
# device identifier.
|
|
267
302
|
#
|
|
268
|
-
# The position can be 'a', 'b', 'c' or '
|
|
303
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
304
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
305
|
+
# position 'z'.
|
|
269
306
|
#
|
|
270
307
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
271
308
|
# |device_identifier_constant|
|
|
272
309
|
def get_identity
|
|
273
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
310
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
274
311
|
end
|
|
275
312
|
|
|
276
313
|
# Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
|