tinkerforge 2.1.23 → 2.1.28
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 +109 -30
- data/lib/tinkerforge/brick_hat_zero.rb +119 -21
- data/lib/tinkerforge/brick_imu.rb +191 -86
- data/lib/tinkerforge/brick_imu_v2.rb +219 -118
- data/lib/tinkerforge/brick_master.rb +495 -195
- data/lib/tinkerforge/brick_red.rb +197 -74
- data/lib/tinkerforge/brick_servo.rb +186 -102
- data/lib/tinkerforge/brick_silent_stepper.rb +248 -168
- data/lib/tinkerforge/brick_stepper.rb +212 -100
- data/lib/tinkerforge/bricklet_accelerometer.rb +61 -36
- data/lib/tinkerforge/bricklet_accelerometer_v2.rb +107 -63
- data/lib/tinkerforge/bricklet_air_quality.rb +123 -76
- data/lib/tinkerforge/bricklet_ambient_light.rb +62 -46
- data/lib/tinkerforge/bricklet_ambient_light_v2.rb +41 -28
- data/lib/tinkerforge/bricklet_ambient_light_v3.rb +61 -28
- data/lib/tinkerforge/bricklet_analog_in.rb +66 -45
- data/lib/tinkerforge/bricklet_analog_in_v2.rb +60 -43
- data/lib/tinkerforge/bricklet_analog_in_v3.rb +68 -32
- data/lib/tinkerforge/bricklet_analog_out.rb +25 -16
- data/lib/tinkerforge/bricklet_analog_out_v2.rb +21 -10
- data/lib/tinkerforge/bricklet_analog_out_v3.rb +55 -22
- data/lib/tinkerforge/bricklet_barometer.rb +108 -58
- data/lib/tinkerforge/bricklet_barometer_v2.rb +109 -67
- data/lib/tinkerforge/bricklet_can.rb +84 -24
- data/lib/tinkerforge/bricklet_can_v2.rb +173 -72
- data/lib/tinkerforge/bricklet_co2.rb +36 -25
- data/lib/tinkerforge/bricklet_co2_v2.rb +119 -60
- data/lib/tinkerforge/bricklet_color.rb +75 -47
- data/lib/tinkerforge/bricklet_color_v2.rb +91 -47
- data/lib/tinkerforge/bricklet_compass.rb +81 -40
- data/lib/tinkerforge/bricklet_current12.rb +61 -40
- data/lib/tinkerforge/bricklet_current25.rb +61 -40
- data/lib/tinkerforge/bricklet_distance_ir.rb +60 -38
- data/lib/tinkerforge/bricklet_distance_ir_v2.rb +85 -45
- data/lib/tinkerforge/bricklet_distance_us.rb +43 -30
- data/lib/tinkerforge/bricklet_distance_us_v2.rb +68 -33
- data/lib/tinkerforge/bricklet_dmx.rb +92 -48
- data/lib/tinkerforge/bricklet_dual_button.rb +23 -12
- data/lib/tinkerforge/bricklet_dual_button_v2.rb +64 -29
- data/lib/tinkerforge/bricklet_dual_relay.rb +27 -14
- data/lib/tinkerforge/bricklet_dust_detector.rb +43 -30
- data/lib/tinkerforge/bricklet_e_paper_296x128.rb +115 -63
- data/lib/tinkerforge/bricklet_energy_monitor.rb +81 -40
- data/lib/tinkerforge/bricklet_gps.rb +72 -48
- data/lib/tinkerforge/bricklet_gps_v2.rb +124 -73
- data/lib/tinkerforge/bricklet_hall_effect.rb +43 -28
- data/lib/tinkerforge/bricklet_hall_effect_v2.rb +76 -44
- data/lib/tinkerforge/bricklet_humidity.rb +54 -38
- data/lib/tinkerforge/bricklet_humidity_v2.rb +86 -49
- data/lib/tinkerforge/bricklet_imu_v3.rb +784 -0
- data/lib/tinkerforge/bricklet_industrial_analog_out.rb +41 -18
- data/lib/tinkerforge/bricklet_industrial_analog_out_v2.rb +84 -40
- data/lib/tinkerforge/bricklet_industrial_counter.rb +102 -59
- data/lib/tinkerforge/bricklet_industrial_digital_in_4.rb +51 -24
- data/lib/tinkerforge/bricklet_industrial_digital_in_4_v2.rb +79 -40
- data/lib/tinkerforge/bricklet_industrial_digital_out_4.rb +36 -15
- data/lib/tinkerforge/bricklet_industrial_digital_out_4_v2.rb +75 -33
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma.rb +43 -29
- data/lib/tinkerforge/bricklet_industrial_dual_0_20ma_v2.rb +81 -44
- data/lib/tinkerforge/bricklet_industrial_dual_ac_relay.rb +325 -0
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in.rb +51 -30
- data/lib/tinkerforge/bricklet_industrial_dual_analog_in_v2.rb +139 -40
- data/lib/tinkerforge/bricklet_industrial_dual_relay.rb +63 -28
- data/lib/tinkerforge/bricklet_industrial_quad_relay.rb +36 -15
- data/lib/tinkerforge/bricklet_industrial_quad_relay_v2.rb +67 -28
- data/lib/tinkerforge/bricklet_io16.rb +57 -32
- data/lib/tinkerforge/bricklet_io16_v2.rb +93 -48
- data/lib/tinkerforge/bricklet_io4.rb +56 -31
- data/lib/tinkerforge/bricklet_io4_v2.rb +109 -57
- data/lib/tinkerforge/bricklet_isolator.rb +111 -35
- data/lib/tinkerforge/bricklet_joystick.rb +63 -42
- data/lib/tinkerforge/bricklet_joystick_v2.rb +71 -35
- data/lib/tinkerforge/bricklet_laser_range_finder.rb +87 -59
- data/lib/tinkerforge/bricklet_laser_range_finder_v2.rb +99 -51
- data/lib/tinkerforge/bricklet_lcd_128x64.rb +219 -131
- data/lib/tinkerforge/bricklet_lcd_16x2.rb +49 -25
- data/lib/tinkerforge/bricklet_lcd_20x4.rb +59 -29
- data/lib/tinkerforge/bricklet_led_strip.rb +69 -47
- data/lib/tinkerforge/bricklet_led_strip_v2.rb +105 -48
- data/lib/tinkerforge/bricklet_line.rb +35 -22
- data/lib/tinkerforge/bricklet_linear_poti.rb +53 -35
- data/lib/tinkerforge/bricklet_linear_poti_v2.rb +55 -24
- data/lib/tinkerforge/bricklet_load_cell.rb +64 -40
- data/lib/tinkerforge/bricklet_load_cell_v2.rb +81 -41
- data/lib/tinkerforge/bricklet_moisture.rb +43 -30
- data/lib/tinkerforge/bricklet_motion_detector.rb +21 -10
- data/lib/tinkerforge/bricklet_motion_detector_v2.rb +62 -29
- data/lib/tinkerforge/bricklet_motorized_linear_poti.rb +71 -32
- data/lib/tinkerforge/bricklet_multi_touch.rb +30 -17
- data/lib/tinkerforge/bricklet_multi_touch_v2.rb +76 -39
- data/lib/tinkerforge/bricklet_nfc.rb +130 -80
- data/lib/tinkerforge/bricklet_nfc_rfid.rb +32 -13
- data/lib/tinkerforge/bricklet_oled_128x64.rb +30 -17
- data/lib/tinkerforge/bricklet_oled_128x64_v2.rb +75 -40
- data/lib/tinkerforge/bricklet_oled_64x48.rb +30 -17
- data/lib/tinkerforge/bricklet_one_wire.rb +65 -24
- data/lib/tinkerforge/bricklet_outdoor_weather.rb +84 -41
- data/lib/tinkerforge/bricklet_particulate_matter.rb +85 -37
- data/lib/tinkerforge/bricklet_performance_dc.rb +676 -0
- data/lib/tinkerforge/bricklet_piezo_buzzer.rb +19 -13
- data/lib/tinkerforge/bricklet_piezo_speaker.rb +22 -19
- data/lib/tinkerforge/bricklet_piezo_speaker_v2.rb +84 -57
- data/lib/tinkerforge/bricklet_ptc.rb +76 -51
- data/lib/tinkerforge/bricklet_ptc_v2.rb +96 -54
- data/lib/tinkerforge/bricklet_real_time_clock.rb +45 -36
- data/lib/tinkerforge/bricklet_real_time_clock_v2.rb +78 -47
- 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 +40 -25
- data/lib/tinkerforge/bricklet_rotary_encoder_v2.rb +60 -27
- data/lib/tinkerforge/bricklet_rotary_poti.rb +55 -37
- data/lib/tinkerforge/bricklet_rotary_poti_v2.rb +57 -26
- data/lib/tinkerforge/bricklet_rs232.rb +89 -28
- data/lib/tinkerforge/bricklet_rs232_v2.rb +121 -47
- data/lib/tinkerforge/bricklet_rs485.rb +250 -164
- data/lib/tinkerforge/bricklet_segment_display_4x7.rb +24 -14
- data/lib/tinkerforge/bricklet_segment_display_4x7_v2.rb +75 -36
- data/lib/tinkerforge/bricklet_servo_v2.rb +565 -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 +36 -24
- data/lib/tinkerforge/bricklet_sound_pressure_level.rb +77 -41
- data/lib/tinkerforge/bricklet_temperature.rb +43 -28
- data/lib/tinkerforge/bricklet_temperature_ir.rb +61 -47
- data/lib/tinkerforge/bricklet_temperature_ir_v2.rb +74 -44
- data/lib/tinkerforge/bricklet_temperature_v2.rb +62 -31
- data/lib/tinkerforge/bricklet_thermal_imaging.rb +118 -68
- data/lib/tinkerforge/bricklet_thermocouple.rb +46 -30
- data/lib/tinkerforge/bricklet_thermocouple_v2.rb +65 -30
- data/lib/tinkerforge/bricklet_tilt.rb +23 -10
- data/lib/tinkerforge/bricklet_uv_light.rb +37 -24
- data/lib/tinkerforge/bricklet_uv_light_v2.rb +87 -46
- data/lib/tinkerforge/bricklet_voltage.rb +54 -37
- data/lib/tinkerforge/bricklet_voltage_current.rb +94 -85
- data/lib/tinkerforge/bricklet_voltage_current_v2.rb +92 -77
- data/lib/tinkerforge/bricklet_xmc1400_breakout.rb +81 -36
- data/lib/tinkerforge/device_display_names.rb +167 -0
- data/lib/tinkerforge/ip_connection.rb +156 -33
- data/lib/tinkerforge/version.rb +1 -1
- metadata +8 -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-01-15. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.28 #
|
|
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 AC and DC Solid State Relays
|
|
14
16
|
class BrickletSolidStateRelay < Device
|
|
@@ -30,7 +32,7 @@ module Tinkerforge
|
|
|
30
32
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
31
33
|
# the IP Connection <tt>ipcon</tt>.
|
|
32
34
|
def initialize(uid, ipcon)
|
|
33
|
-
super uid, ipcon
|
|
35
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
34
36
|
|
|
35
37
|
@api_version = [2, 0, 0]
|
|
36
38
|
|
|
@@ -40,26 +42,29 @@ module Tinkerforge
|
|
|
40
42
|
@response_expected[FUNCTION_GET_MONOFLOP] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
41
43
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
42
44
|
|
|
43
|
-
@callback_formats[CALLBACK_MONOFLOP_DONE] = '?'
|
|
45
|
+
@callback_formats[CALLBACK_MONOFLOP_DONE] = [9, '?']
|
|
44
46
|
|
|
47
|
+
@ipcon.add_device self
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
# Sets the state of the relays *true* means on and *false* means off.
|
|
48
51
|
#
|
|
49
52
|
# A running monoflop timer will be aborted if this function is called.
|
|
50
|
-
#
|
|
51
|
-
# The default value is *false*.
|
|
52
53
|
def set_state(state)
|
|
53
|
-
|
|
54
|
+
check_validity
|
|
55
|
+
|
|
56
|
+
send_request FUNCTION_SET_STATE, [state], '?', 8, ''
|
|
54
57
|
end
|
|
55
58
|
|
|
56
59
|
# Returns the state of the relay, *true* means on and *false* means off.
|
|
57
60
|
def get_state
|
|
58
|
-
|
|
61
|
+
check_validity
|
|
62
|
+
|
|
63
|
+
send_request FUNCTION_GET_STATE, [], '', 9, '?'
|
|
59
64
|
end
|
|
60
65
|
|
|
61
66
|
# The first parameter is the desired state of the relay (*true* means on
|
|
62
|
-
# and *false* means off). The second parameter indicates the time
|
|
67
|
+
# and *false* means off). The second parameter indicates the time that
|
|
63
68
|
# the relay should hold the state.
|
|
64
69
|
#
|
|
65
70
|
# If this function is called with the parameters (true, 1500):
|
|
@@ -71,7 +76,9 @@ module Tinkerforge
|
|
|
71
76
|
# of two seconds. The relay will be on all the time. If now the RS485
|
|
72
77
|
# connection is lost, the relay will turn off in at most two seconds.
|
|
73
78
|
def set_monoflop(state, time)
|
|
74
|
-
|
|
79
|
+
check_validity
|
|
80
|
+
|
|
81
|
+
send_request FUNCTION_SET_MONOFLOP, [state, time], '? L', 8, ''
|
|
75
82
|
end
|
|
76
83
|
|
|
77
84
|
# Returns the current state and the time as set by
|
|
@@ -80,19 +87,23 @@ module Tinkerforge
|
|
|
80
87
|
# If the timer is not running currently, the remaining time will be returned
|
|
81
88
|
# as 0.
|
|
82
89
|
def get_monoflop
|
|
83
|
-
|
|
90
|
+
check_validity
|
|
91
|
+
|
|
92
|
+
send_request FUNCTION_GET_MONOFLOP, [], '', 17, '? L L'
|
|
84
93
|
end
|
|
85
94
|
|
|
86
95
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
87
96
|
# the position, the hardware and firmware version as well as the
|
|
88
97
|
# device identifier.
|
|
89
98
|
#
|
|
90
|
-
# The position can be 'a', 'b', 'c' or '
|
|
99
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
100
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
101
|
+
# position 'z'.
|
|
91
102
|
#
|
|
92
103
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
93
104
|
# |device_identifier_constant|
|
|
94
105
|
def get_identity
|
|
95
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
106
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
96
107
|
end
|
|
97
108
|
|
|
98
109
|
# 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-01-15. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.28 #
|
|
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 AC and DC Solid State Relays
|
|
14
16
|
class BrickletSolidStateRelayV2 < 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
|
|
|
@@ -77,26 +79,29 @@ module Tinkerforge
|
|
|
77
79
|
@response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
78
80
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
79
81
|
|
|
80
|
-
@callback_formats[CALLBACK_MONOFLOP_DONE] = '?'
|
|
82
|
+
@callback_formats[CALLBACK_MONOFLOP_DONE] = [9, '?']
|
|
81
83
|
|
|
84
|
+
@ipcon.add_device self
|
|
82
85
|
end
|
|
83
86
|
|
|
84
87
|
# Sets the state of the relays *true* means on and *false* means off.
|
|
85
88
|
#
|
|
86
89
|
# A running monoflop timer will be aborted if this function is called.
|
|
87
|
-
#
|
|
88
|
-
# The default value is *false*.
|
|
89
90
|
def set_state(state)
|
|
90
|
-
|
|
91
|
+
check_validity
|
|
92
|
+
|
|
93
|
+
send_request FUNCTION_SET_STATE, [state], '?', 8, ''
|
|
91
94
|
end
|
|
92
95
|
|
|
93
96
|
# Returns the state of the relay, *true* means on and *false* means off.
|
|
94
97
|
def get_state
|
|
95
|
-
|
|
98
|
+
check_validity
|
|
99
|
+
|
|
100
|
+
send_request FUNCTION_GET_STATE, [], '', 9, '?'
|
|
96
101
|
end
|
|
97
102
|
|
|
98
103
|
# The first parameter is the desired state of the relay (*true* means on
|
|
99
|
-
# and *false* means off). The second parameter indicates the time
|
|
104
|
+
# and *false* means off). The second parameter indicates the time that
|
|
100
105
|
# the relay should hold the state.
|
|
101
106
|
#
|
|
102
107
|
# If this function is called with the parameters (true, 1500):
|
|
@@ -108,7 +113,9 @@ module Tinkerforge
|
|
|
108
113
|
# of two seconds. The relay will be on all the time. If now the RS485
|
|
109
114
|
# connection is lost, the relay will turn off in at most two seconds.
|
|
110
115
|
def set_monoflop(state, time)
|
|
111
|
-
|
|
116
|
+
check_validity
|
|
117
|
+
|
|
118
|
+
send_request FUNCTION_SET_MONOFLOP, [state, time], '? L', 8, ''
|
|
112
119
|
end
|
|
113
120
|
|
|
114
121
|
# Returns the current state and the time as set by
|
|
@@ -117,7 +124,9 @@ module Tinkerforge
|
|
|
117
124
|
# If the timer is not running currently, the remaining time will be returned
|
|
118
125
|
# as 0.
|
|
119
126
|
def get_monoflop
|
|
120
|
-
|
|
127
|
+
check_validity
|
|
128
|
+
|
|
129
|
+
send_request FUNCTION_GET_MONOFLOP, [], '', 17, '? L L'
|
|
121
130
|
end
|
|
122
131
|
|
|
123
132
|
# Returns the error count for the communication between Brick and Bricklet.
|
|
@@ -132,7 +141,9 @@ module Tinkerforge
|
|
|
132
141
|
# The errors counts are for errors that occur on the Bricklet side. All
|
|
133
142
|
# Bricks have a similar function that returns the errors on the Brick side.
|
|
134
143
|
def get_spitfp_error_count
|
|
135
|
-
|
|
144
|
+
check_validity
|
|
145
|
+
|
|
146
|
+
send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
|
|
136
147
|
end
|
|
137
148
|
|
|
138
149
|
# Sets the bootloader mode and returns the status after the requested
|
|
@@ -145,12 +156,16 @@ module Tinkerforge
|
|
|
145
156
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
146
157
|
# necessary to call it in a normal user program.
|
|
147
158
|
def set_bootloader_mode(mode)
|
|
148
|
-
|
|
159
|
+
check_validity
|
|
160
|
+
|
|
161
|
+
send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
|
|
149
162
|
end
|
|
150
163
|
|
|
151
164
|
# Returns the current bootloader mode, see BrickletSolidStateRelayV2#set_bootloader_mode.
|
|
152
165
|
def get_bootloader_mode
|
|
153
|
-
|
|
166
|
+
check_validity
|
|
167
|
+
|
|
168
|
+
send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
|
|
154
169
|
end
|
|
155
170
|
|
|
156
171
|
# Sets the firmware pointer for BrickletSolidStateRelayV2#write_firmware. The pointer has
|
|
@@ -160,7 +175,9 @@ module Tinkerforge
|
|
|
160
175
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
161
176
|
# necessary to call it in a normal user program.
|
|
162
177
|
def set_write_firmware_pointer(pointer)
|
|
163
|
-
|
|
178
|
+
check_validity
|
|
179
|
+
|
|
180
|
+
send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
|
|
164
181
|
end
|
|
165
182
|
|
|
166
183
|
# Writes 64 Bytes of firmware at the position as written by
|
|
@@ -172,7 +189,9 @@ module Tinkerforge
|
|
|
172
189
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
173
190
|
# necessary to call it in a normal user program.
|
|
174
191
|
def write_firmware(data)
|
|
175
|
-
|
|
192
|
+
check_validity
|
|
193
|
+
|
|
194
|
+
send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
|
|
176
195
|
end
|
|
177
196
|
|
|
178
197
|
# Sets the status LED configuration. By default the LED shows
|
|
@@ -183,22 +202,28 @@ module Tinkerforge
|
|
|
183
202
|
#
|
|
184
203
|
# If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
|
|
185
204
|
def set_status_led_config(config)
|
|
186
|
-
|
|
205
|
+
check_validity
|
|
206
|
+
|
|
207
|
+
send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
|
|
187
208
|
end
|
|
188
209
|
|
|
189
210
|
# Returns the configuration as set by BrickletSolidStateRelayV2#set_status_led_config
|
|
190
211
|
def get_status_led_config
|
|
191
|
-
|
|
212
|
+
check_validity
|
|
213
|
+
|
|
214
|
+
send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
|
|
192
215
|
end
|
|
193
216
|
|
|
194
|
-
# Returns the temperature
|
|
217
|
+
# Returns the temperature as measured inside the microcontroller. The
|
|
195
218
|
# value returned is not the ambient temperature!
|
|
196
219
|
#
|
|
197
220
|
# The temperature is only proportional to the real temperature and it has bad
|
|
198
221
|
# accuracy. Practically it is only useful as an indicator for
|
|
199
222
|
# temperature changes.
|
|
200
223
|
def get_chip_temperature
|
|
201
|
-
|
|
224
|
+
check_validity
|
|
225
|
+
|
|
226
|
+
send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
|
|
202
227
|
end
|
|
203
228
|
|
|
204
229
|
# Calling this function will reset the Bricklet. All configurations
|
|
@@ -208,7 +233,9 @@ module Tinkerforge
|
|
|
208
233
|
# calling functions on the existing ones will result in
|
|
209
234
|
# undefined behavior!
|
|
210
235
|
def reset
|
|
211
|
-
|
|
236
|
+
check_validity
|
|
237
|
+
|
|
238
|
+
send_request FUNCTION_RESET, [], '', 8, ''
|
|
212
239
|
end
|
|
213
240
|
|
|
214
241
|
# Writes a new UID into flash. If you want to set a new UID
|
|
@@ -217,25 +244,31 @@ module Tinkerforge
|
|
|
217
244
|
#
|
|
218
245
|
# We recommend that you use Brick Viewer to change the UID.
|
|
219
246
|
def write_uid(uid)
|
|
220
|
-
|
|
247
|
+
check_validity
|
|
248
|
+
|
|
249
|
+
send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
|
|
221
250
|
end
|
|
222
251
|
|
|
223
252
|
# Returns the current UID as an integer. Encode as
|
|
224
253
|
# Base58 to get the usual string version.
|
|
225
254
|
def read_uid
|
|
226
|
-
|
|
255
|
+
check_validity
|
|
256
|
+
|
|
257
|
+
send_request FUNCTION_READ_UID, [], '', 12, 'L'
|
|
227
258
|
end
|
|
228
259
|
|
|
229
260
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
230
261
|
# the position, the hardware and firmware version as well as the
|
|
231
262
|
# device identifier.
|
|
232
263
|
#
|
|
233
|
-
# The position can be 'a', 'b', 'c' or '
|
|
264
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
265
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
266
|
+
# position 'z'.
|
|
234
267
|
#
|
|
235
268
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
236
269
|
# |device_identifier_constant|
|
|
237
270
|
def get_identity
|
|
238
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
271
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
239
272
|
end
|
|
240
273
|
|
|
241
274
|
# 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-01-15. #
|
|
4
4
|
# #
|
|
5
|
-
# Ruby Bindings Version 2.1.
|
|
5
|
+
# Ruby Bindings Version 2.1.28 #
|
|
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 sound intensity
|
|
14
16
|
class BrickletSoundIntensity < 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
|
|
|
@@ -62,13 +64,13 @@ module Tinkerforge
|
|
|
62
64
|
@response_expected[FUNCTION_GET_DEBOUNCE_PERIOD] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
63
65
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
64
66
|
|
|
65
|
-
@callback_formats[CALLBACK_INTENSITY] = 'S'
|
|
66
|
-
@callback_formats[CALLBACK_INTENSITY_REACHED] = 'S'
|
|
67
|
+
@callback_formats[CALLBACK_INTENSITY] = [10, 'S']
|
|
68
|
+
@callback_formats[CALLBACK_INTENSITY_REACHED] = [10, 'S']
|
|
67
69
|
|
|
70
|
+
@ipcon.add_device self
|
|
68
71
|
end
|
|
69
72
|
|
|
70
|
-
# Returns the current sound intensity.
|
|
71
|
-
# 0 to 4095.
|
|
73
|
+
# Returns the current sound intensity.
|
|
72
74
|
#
|
|
73
75
|
# The value corresponds to the
|
|
74
76
|
# `upper envelop <https://en.wikipedia.org/wiki/Envelope_(waves)>`__
|
|
@@ -78,23 +80,27 @@ module Tinkerforge
|
|
|
78
80
|
# CALLBACK_INTENSITY callback and set the period with
|
|
79
81
|
# BrickletSoundIntensity#set_intensity_callback_period.
|
|
80
82
|
def get_intensity
|
|
81
|
-
|
|
83
|
+
check_validity
|
|
84
|
+
|
|
85
|
+
send_request FUNCTION_GET_INTENSITY, [], '', 10, 'S'
|
|
82
86
|
end
|
|
83
87
|
|
|
84
|
-
# Sets the period
|
|
88
|
+
# Sets the period with which the CALLBACK_INTENSITY callback is triggered
|
|
85
89
|
# periodically. A value of 0 turns the callback off.
|
|
86
90
|
#
|
|
87
91
|
# The CALLBACK_INTENSITY callback is only triggered if the intensity has changed
|
|
88
92
|
# since the last triggering.
|
|
89
|
-
#
|
|
90
|
-
# The default value is 0.
|
|
91
93
|
def set_intensity_callback_period(period)
|
|
92
|
-
|
|
94
|
+
check_validity
|
|
95
|
+
|
|
96
|
+
send_request FUNCTION_SET_INTENSITY_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
93
97
|
end
|
|
94
98
|
|
|
95
99
|
# Returns the period as set by BrickletSoundIntensity#set_intensity_callback_period.
|
|
96
100
|
def get_intensity_callback_period
|
|
97
|
-
|
|
101
|
+
check_validity
|
|
102
|
+
|
|
103
|
+
send_request FUNCTION_GET_INTENSITY_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
98
104
|
end
|
|
99
105
|
|
|
100
106
|
# Sets the thresholds for the CALLBACK_INTENSITY_REACHED callback.
|
|
@@ -108,18 +114,20 @@ module Tinkerforge
|
|
|
108
114
|
# "'i'", "Callback is triggered when the intensity is *inside* the min and max values"
|
|
109
115
|
# "'<'", "Callback is triggered when the intensity is smaller than the min value (max is ignored)"
|
|
110
116
|
# "'>'", "Callback is triggered when the intensity is greater than the min value (max is ignored)"
|
|
111
|
-
#
|
|
112
|
-
# The default value is ('x', 0, 0).
|
|
113
117
|
def set_intensity_callback_threshold(option, min, max)
|
|
114
|
-
|
|
118
|
+
check_validity
|
|
119
|
+
|
|
120
|
+
send_request FUNCTION_SET_INTENSITY_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
|
|
115
121
|
end
|
|
116
122
|
|
|
117
123
|
# Returns the threshold as set by BrickletSoundIntensity#set_intensity_callback_threshold.
|
|
118
124
|
def get_intensity_callback_threshold
|
|
119
|
-
|
|
125
|
+
check_validity
|
|
126
|
+
|
|
127
|
+
send_request FUNCTION_GET_INTENSITY_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
|
|
120
128
|
end
|
|
121
129
|
|
|
122
|
-
# Sets the period
|
|
130
|
+
# Sets the period with which the threshold callback
|
|
123
131
|
#
|
|
124
132
|
# * CALLBACK_INTENSITY_REACHED
|
|
125
133
|
#
|
|
@@ -128,27 +136,31 @@ module Tinkerforge
|
|
|
128
136
|
# * BrickletSoundIntensity#set_intensity_callback_threshold
|
|
129
137
|
#
|
|
130
138
|
# keeps being reached.
|
|
131
|
-
#
|
|
132
|
-
# The default value is 100.
|
|
133
139
|
def set_debounce_period(debounce)
|
|
134
|
-
|
|
140
|
+
check_validity
|
|
141
|
+
|
|
142
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
135
143
|
end
|
|
136
144
|
|
|
137
145
|
# Returns the debounce period as set by BrickletSoundIntensity#set_debounce_period.
|
|
138
146
|
def get_debounce_period
|
|
139
|
-
|
|
147
|
+
check_validity
|
|
148
|
+
|
|
149
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
140
150
|
end
|
|
141
151
|
|
|
142
152
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
143
153
|
# the position, the hardware and firmware version as well as the
|
|
144
154
|
# device identifier.
|
|
145
155
|
#
|
|
146
|
-
# The position can be 'a', 'b', 'c' or '
|
|
156
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
157
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
158
|
+
# position 'z'.
|
|
147
159
|
#
|
|
148
160
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
149
161
|
# |device_identifier_constant|
|
|
150
162
|
def get_identity
|
|
151
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
163
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
152
164
|
end
|
|
153
165
|
|
|
154
166
|
# Registers a callback with ID <tt>id</tt> to the block <tt>block</tt>.
|