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
|
# Measures distance between 2cm and 400cm with ultrasound
|
|
14
16
|
class BrickletDistanceUS < Device
|
|
@@ -51,7 +53,7 @@ module Tinkerforge
|
|
|
51
53
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
52
54
|
# the IP Connection <tt>ipcon</tt>.
|
|
53
55
|
def initialize(uid, ipcon)
|
|
54
|
-
super uid, ipcon
|
|
56
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
55
57
|
|
|
56
58
|
@api_version = [2, 0, 1]
|
|
57
59
|
|
|
@@ -66,13 +68,14 @@ module Tinkerforge
|
|
|
66
68
|
@response_expected[FUNCTION_GET_MOVING_AVERAGE] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
67
69
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
68
70
|
|
|
69
|
-
@callback_formats[CALLBACK_DISTANCE] = 'S'
|
|
70
|
-
@callback_formats[CALLBACK_DISTANCE_REACHED] = 'S'
|
|
71
|
+
@callback_formats[CALLBACK_DISTANCE] = [10, 'S']
|
|
72
|
+
@callback_formats[CALLBACK_DISTANCE_REACHED] = [10, 'S']
|
|
71
73
|
|
|
74
|
+
@ipcon.add_device self
|
|
72
75
|
end
|
|
73
76
|
|
|
74
|
-
# Returns the current distance value measured by the sensor.
|
|
75
|
-
#
|
|
77
|
+
# Returns the current distance value measured by the sensor.
|
|
78
|
+
# A small value corresponds to a small distance, a big
|
|
76
79
|
# value corresponds to a big distance. The relation between the measured distance
|
|
77
80
|
# value and the actual distance is affected by the 5V supply voltage (deviations
|
|
78
81
|
# in the supply voltage result in deviations in the distance values) and is
|
|
@@ -82,23 +85,27 @@ module Tinkerforge
|
|
|
82
85
|
# use the CALLBACK_DISTANCE callback and set the period with
|
|
83
86
|
# BrickletDistanceUS#set_distance_callback_period.
|
|
84
87
|
def get_distance_value
|
|
85
|
-
|
|
88
|
+
check_validity
|
|
89
|
+
|
|
90
|
+
send_request FUNCTION_GET_DISTANCE_VALUE, [], '', 10, 'S'
|
|
86
91
|
end
|
|
87
92
|
|
|
88
|
-
# Sets the period
|
|
93
|
+
# Sets the period with which the CALLBACK_DISTANCE callback is triggered
|
|
89
94
|
# periodically. A value of 0 turns the callback off.
|
|
90
95
|
#
|
|
91
96
|
# Der CALLBACK_DISTANCE callback is only triggered if the distance value has changed
|
|
92
97
|
# since the last triggering.
|
|
93
|
-
#
|
|
94
|
-
# The default value is 0.
|
|
95
98
|
def set_distance_callback_period(period)
|
|
96
|
-
|
|
99
|
+
check_validity
|
|
100
|
+
|
|
101
|
+
send_request FUNCTION_SET_DISTANCE_CALLBACK_PERIOD, [period], 'L', 8, ''
|
|
97
102
|
end
|
|
98
103
|
|
|
99
104
|
# Returns the period as set by BrickletDistanceUS#set_distance_callback_period.
|
|
100
105
|
def get_distance_callback_period
|
|
101
|
-
|
|
106
|
+
check_validity
|
|
107
|
+
|
|
108
|
+
send_request FUNCTION_GET_DISTANCE_CALLBACK_PERIOD, [], '', 12, 'L'
|
|
102
109
|
end
|
|
103
110
|
|
|
104
111
|
# Sets the thresholds for the CALLBACK_DISTANCE_REACHED callback.
|
|
@@ -112,18 +119,20 @@ module Tinkerforge
|
|
|
112
119
|
# "'i'", "Callback is triggered when the distance value is *inside* the min and max values"
|
|
113
120
|
# "'<'", "Callback is triggered when the distance value is smaller than the min value (max is ignored)"
|
|
114
121
|
# "'>'", "Callback is triggered when the distance value is greater than the min value (max is ignored)"
|
|
115
|
-
#
|
|
116
|
-
# The default value is ('x', 0, 0).
|
|
117
122
|
def set_distance_callback_threshold(option, min, max)
|
|
118
|
-
|
|
123
|
+
check_validity
|
|
124
|
+
|
|
125
|
+
send_request FUNCTION_SET_DISTANCE_CALLBACK_THRESHOLD, [option, min, max], 'k S S', 8, ''
|
|
119
126
|
end
|
|
120
127
|
|
|
121
128
|
# Returns the threshold as set by BrickletDistanceUS#set_distance_callback_threshold.
|
|
122
129
|
def get_distance_callback_threshold
|
|
123
|
-
|
|
130
|
+
check_validity
|
|
131
|
+
|
|
132
|
+
send_request FUNCTION_GET_DISTANCE_CALLBACK_THRESHOLD, [], '', 13, 'k S S'
|
|
124
133
|
end
|
|
125
134
|
|
|
126
|
-
# Sets the period
|
|
135
|
+
# Sets the period with which the threshold callbacks
|
|
127
136
|
#
|
|
128
137
|
# * CALLBACK_DISTANCE_REACHED,
|
|
129
138
|
#
|
|
@@ -132,15 +141,17 @@ module Tinkerforge
|
|
|
132
141
|
# * BrickletDistanceUS#set_distance_callback_threshold,
|
|
133
142
|
#
|
|
134
143
|
# keep being reached.
|
|
135
|
-
#
|
|
136
|
-
# The default value is 100.
|
|
137
144
|
def set_debounce_period(debounce)
|
|
138
|
-
|
|
145
|
+
check_validity
|
|
146
|
+
|
|
147
|
+
send_request FUNCTION_SET_DEBOUNCE_PERIOD, [debounce], 'L', 8, ''
|
|
139
148
|
end
|
|
140
149
|
|
|
141
150
|
# Returns the debounce period as set by BrickletDistanceUS#set_debounce_period.
|
|
142
151
|
def get_debounce_period
|
|
143
|
-
|
|
152
|
+
check_validity
|
|
153
|
+
|
|
154
|
+
send_request FUNCTION_GET_DEBOUNCE_PERIOD, [], '', 12, 'L'
|
|
144
155
|
end
|
|
145
156
|
|
|
146
157
|
# Sets the length of a `moving averaging <https://en.wikipedia.org/wiki/Moving_average>`__
|
|
@@ -148,29 +159,31 @@ module Tinkerforge
|
|
|
148
159
|
#
|
|
149
160
|
# Setting the length to 0 will turn the averaging completely off. With less
|
|
150
161
|
# averaging, there is more noise on the data.
|
|
151
|
-
#
|
|
152
|
-
# The range for the averaging is 0-100.
|
|
153
|
-
#
|
|
154
|
-
# The default value is 20.
|
|
155
162
|
def set_moving_average(average)
|
|
156
|
-
|
|
163
|
+
check_validity
|
|
164
|
+
|
|
165
|
+
send_request FUNCTION_SET_MOVING_AVERAGE, [average], 'C', 8, ''
|
|
157
166
|
end
|
|
158
167
|
|
|
159
168
|
# Returns the length moving average as set by BrickletDistanceUS#set_moving_average.
|
|
160
169
|
def get_moving_average
|
|
161
|
-
|
|
170
|
+
check_validity
|
|
171
|
+
|
|
172
|
+
send_request FUNCTION_GET_MOVING_AVERAGE, [], '', 9, 'C'
|
|
162
173
|
end
|
|
163
174
|
|
|
164
175
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
165
176
|
# the position, the hardware and firmware version as well as the
|
|
166
177
|
# device identifier.
|
|
167
178
|
#
|
|
168
|
-
# The position can be 'a', 'b', 'c' or '
|
|
179
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
180
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
181
|
+
# position 'z'.
|
|
169
182
|
#
|
|
170
183
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
171
184
|
# |device_identifier_constant|
|
|
172
185
|
def get_identity
|
|
173
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
186
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
174
187
|
end
|
|
175
188
|
|
|
176
189
|
# 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 distance between 30cm and 500cm with ultrasound
|
|
14
16
|
class BrickletDistanceUSV2 < Device
|
|
@@ -71,7 +73,7 @@ module Tinkerforge
|
|
|
71
73
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
72
74
|
# the IP Connection <tt>ipcon</tt>.
|
|
73
75
|
def initialize(uid, ipcon)
|
|
74
|
-
super uid, ipcon
|
|
76
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
75
77
|
|
|
76
78
|
@api_version = [2, 0, 0]
|
|
77
79
|
|
|
@@ -95,21 +97,24 @@ module Tinkerforge
|
|
|
95
97
|
@response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
96
98
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
97
99
|
|
|
98
|
-
@callback_formats[CALLBACK_DISTANCE] = 'S'
|
|
100
|
+
@callback_formats[CALLBACK_DISTANCE] = [10, 'S']
|
|
99
101
|
|
|
102
|
+
@ipcon.add_device self
|
|
100
103
|
end
|
|
101
104
|
|
|
102
|
-
# Returns the distance
|
|
105
|
+
# Returns the distance.
|
|
103
106
|
#
|
|
104
107
|
#
|
|
105
108
|
# If you want to get the value periodically, it is recommended to use the
|
|
106
109
|
# CALLBACK_DISTANCE callback. You can set the callback configuration
|
|
107
110
|
# with BrickletDistanceUSV2#set_distance_callback_configuration.
|
|
108
111
|
def get_distance
|
|
109
|
-
|
|
112
|
+
check_validity
|
|
113
|
+
|
|
114
|
+
send_request FUNCTION_GET_DISTANCE, [], '', 10, 'S'
|
|
110
115
|
end
|
|
111
116
|
|
|
112
|
-
# The period
|
|
117
|
+
# The period is the period with which the CALLBACK_DISTANCE callback is triggered
|
|
113
118
|
# periodically. A value of 0 turns the callback off.
|
|
114
119
|
#
|
|
115
120
|
# If the `value has to change`-parameter is set to true, the callback is only
|
|
@@ -134,43 +139,49 @@ module Tinkerforge
|
|
|
134
139
|
# "'>'", "Threshold is triggered when the value is greater than the min value (max is ignored)"
|
|
135
140
|
#
|
|
136
141
|
# If the option is set to 'x' (threshold turned off) the callback is triggered with the fixed period.
|
|
137
|
-
#
|
|
138
|
-
# The default value is (0, false, 'x', 0, 0).
|
|
139
142
|
def set_distance_callback_configuration(period, value_has_to_change, option, min, max)
|
|
140
|
-
|
|
143
|
+
check_validity
|
|
144
|
+
|
|
145
|
+
send_request FUNCTION_SET_DISTANCE_CALLBACK_CONFIGURATION, [period, value_has_to_change, option, min, max], 'L ? k S S', 8, ''
|
|
141
146
|
end
|
|
142
147
|
|
|
143
148
|
# Returns the callback configuration as set by BrickletDistanceUSV2#set_distance_callback_configuration.
|
|
144
149
|
def get_distance_callback_configuration
|
|
145
|
-
|
|
150
|
+
check_validity
|
|
151
|
+
|
|
152
|
+
send_request FUNCTION_GET_DISTANCE_CALLBACK_CONFIGURATION, [], '', 18, 'L ? k S S'
|
|
146
153
|
end
|
|
147
154
|
|
|
148
155
|
# Sets the update rate to 2 Hz or 10 Hz.
|
|
149
156
|
#
|
|
150
157
|
# With 2 Hz update rate the noise is about ±1mm, while with 10 Hz update rate the noise
|
|
151
158
|
# increases to about ±5mm.
|
|
152
|
-
#
|
|
153
|
-
# The default update rate is 2 Hz.
|
|
154
159
|
def set_update_rate(update_rate)
|
|
155
|
-
|
|
160
|
+
check_validity
|
|
161
|
+
|
|
162
|
+
send_request FUNCTION_SET_UPDATE_RATE, [update_rate], 'C', 8, ''
|
|
156
163
|
end
|
|
157
164
|
|
|
158
165
|
# Returns the update rate as set by BrickletDistanceUSV2#set_update_rate.
|
|
159
166
|
def get_update_rate
|
|
160
|
-
|
|
167
|
+
check_validity
|
|
168
|
+
|
|
169
|
+
send_request FUNCTION_GET_UPDATE_RATE, [], '', 9, 'C'
|
|
161
170
|
end
|
|
162
171
|
|
|
163
172
|
# Configures the distance LED to be either turned off, turned on, blink in
|
|
164
173
|
# heartbeat mode or show the distance (brighter = object is nearer).
|
|
165
|
-
#
|
|
166
|
-
# The default value is 3 (show distance).
|
|
167
174
|
def set_distance_led_config(config)
|
|
168
|
-
|
|
175
|
+
check_validity
|
|
176
|
+
|
|
177
|
+
send_request FUNCTION_SET_DISTANCE_LED_CONFIG, [config], 'C', 8, ''
|
|
169
178
|
end
|
|
170
179
|
|
|
171
180
|
# Returns the LED configuration as set by BrickletDistanceUSV2#set_distance_led_config
|
|
172
181
|
def get_distance_led_config
|
|
173
|
-
|
|
182
|
+
check_validity
|
|
183
|
+
|
|
184
|
+
send_request FUNCTION_GET_DISTANCE_LED_CONFIG, [], '', 9, 'C'
|
|
174
185
|
end
|
|
175
186
|
|
|
176
187
|
# Returns the error count for the communication between Brick and Bricklet.
|
|
@@ -185,7 +196,9 @@ module Tinkerforge
|
|
|
185
196
|
# The errors counts are for errors that occur on the Bricklet side. All
|
|
186
197
|
# Bricks have a similar function that returns the errors on the Brick side.
|
|
187
198
|
def get_spitfp_error_count
|
|
188
|
-
|
|
199
|
+
check_validity
|
|
200
|
+
|
|
201
|
+
send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
|
|
189
202
|
end
|
|
190
203
|
|
|
191
204
|
# Sets the bootloader mode and returns the status after the requested
|
|
@@ -198,12 +211,16 @@ module Tinkerforge
|
|
|
198
211
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
199
212
|
# necessary to call it in a normal user program.
|
|
200
213
|
def set_bootloader_mode(mode)
|
|
201
|
-
|
|
214
|
+
check_validity
|
|
215
|
+
|
|
216
|
+
send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
|
|
202
217
|
end
|
|
203
218
|
|
|
204
219
|
# Returns the current bootloader mode, see BrickletDistanceUSV2#set_bootloader_mode.
|
|
205
220
|
def get_bootloader_mode
|
|
206
|
-
|
|
221
|
+
check_validity
|
|
222
|
+
|
|
223
|
+
send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
|
|
207
224
|
end
|
|
208
225
|
|
|
209
226
|
# Sets the firmware pointer for BrickletDistanceUSV2#write_firmware. The pointer has
|
|
@@ -213,7 +230,9 @@ module Tinkerforge
|
|
|
213
230
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
214
231
|
# necessary to call it in a normal user program.
|
|
215
232
|
def set_write_firmware_pointer(pointer)
|
|
216
|
-
|
|
233
|
+
check_validity
|
|
234
|
+
|
|
235
|
+
send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
|
|
217
236
|
end
|
|
218
237
|
|
|
219
238
|
# Writes 64 Bytes of firmware at the position as written by
|
|
@@ -225,7 +244,9 @@ module Tinkerforge
|
|
|
225
244
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
226
245
|
# necessary to call it in a normal user program.
|
|
227
246
|
def write_firmware(data)
|
|
228
|
-
|
|
247
|
+
check_validity
|
|
248
|
+
|
|
249
|
+
send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
|
|
229
250
|
end
|
|
230
251
|
|
|
231
252
|
# Sets the status LED configuration. By default the LED shows
|
|
@@ -236,22 +257,28 @@ module Tinkerforge
|
|
|
236
257
|
#
|
|
237
258
|
# If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
|
|
238
259
|
def set_status_led_config(config)
|
|
239
|
-
|
|
260
|
+
check_validity
|
|
261
|
+
|
|
262
|
+
send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
|
|
240
263
|
end
|
|
241
264
|
|
|
242
265
|
# Returns the configuration as set by BrickletDistanceUSV2#set_status_led_config
|
|
243
266
|
def get_status_led_config
|
|
244
|
-
|
|
267
|
+
check_validity
|
|
268
|
+
|
|
269
|
+
send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
|
|
245
270
|
end
|
|
246
271
|
|
|
247
|
-
# Returns the temperature
|
|
272
|
+
# Returns the temperature as measured inside the microcontroller. The
|
|
248
273
|
# value returned is not the ambient temperature!
|
|
249
274
|
#
|
|
250
275
|
# The temperature is only proportional to the real temperature and it has bad
|
|
251
276
|
# accuracy. Practically it is only useful as an indicator for
|
|
252
277
|
# temperature changes.
|
|
253
278
|
def get_chip_temperature
|
|
254
|
-
|
|
279
|
+
check_validity
|
|
280
|
+
|
|
281
|
+
send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
|
|
255
282
|
end
|
|
256
283
|
|
|
257
284
|
# Calling this function will reset the Bricklet. All configurations
|
|
@@ -261,7 +288,9 @@ module Tinkerforge
|
|
|
261
288
|
# calling functions on the existing ones will result in
|
|
262
289
|
# undefined behavior!
|
|
263
290
|
def reset
|
|
264
|
-
|
|
291
|
+
check_validity
|
|
292
|
+
|
|
293
|
+
send_request FUNCTION_RESET, [], '', 8, ''
|
|
265
294
|
end
|
|
266
295
|
|
|
267
296
|
# Writes a new UID into flash. If you want to set a new UID
|
|
@@ -270,25 +299,31 @@ module Tinkerforge
|
|
|
270
299
|
#
|
|
271
300
|
# We recommend that you use Brick Viewer to change the UID.
|
|
272
301
|
def write_uid(uid)
|
|
273
|
-
|
|
302
|
+
check_validity
|
|
303
|
+
|
|
304
|
+
send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
|
|
274
305
|
end
|
|
275
306
|
|
|
276
307
|
# Returns the current UID as an integer. Encode as
|
|
277
308
|
# Base58 to get the usual string version.
|
|
278
309
|
def read_uid
|
|
279
|
-
|
|
310
|
+
check_validity
|
|
311
|
+
|
|
312
|
+
send_request FUNCTION_READ_UID, [], '', 12, 'L'
|
|
280
313
|
end
|
|
281
314
|
|
|
282
315
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
283
316
|
# the position, the hardware and firmware version as well as the
|
|
284
317
|
# device identifier.
|
|
285
318
|
#
|
|
286
|
-
# The position can be 'a', 'b', 'c' or '
|
|
319
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
320
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
321
|
+
# position 'z'.
|
|
287
322
|
#
|
|
288
323
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
289
324
|
# |device_identifier_constant|
|
|
290
325
|
def get_identity
|
|
291
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
326
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
292
327
|
end
|
|
293
328
|
|
|
294
329
|
# 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
|
# DMX master and slave
|
|
14
16
|
class BrickletDMX < Device
|
|
@@ -37,15 +39,7 @@ module Tinkerforge
|
|
|
37
39
|
# This callback can only be triggered in slave mode.
|
|
38
40
|
CALLBACK_FRAME_AVAILABLE = 15
|
|
39
41
|
|
|
40
|
-
#
|
|
41
|
-
# (written by the DMX master).
|
|
42
|
-
#
|
|
43
|
-
# The size of the array is equivalent to the number of channels in
|
|
44
|
-
# the frame. Each byte represents one channel.
|
|
45
|
-
#
|
|
46
|
-
# This callback can be enabled via BrickletDMX#set_frame_callback_config.
|
|
47
|
-
#
|
|
48
|
-
# This callback can only be triggered in slave mode.
|
|
42
|
+
# See CALLBACK_FRAME
|
|
49
43
|
CALLBACK_FRAME_LOW_LEVEL = 16
|
|
50
44
|
|
|
51
45
|
# This callback is called if a new error occurs. It returns
|
|
@@ -61,6 +55,9 @@ module Tinkerforge
|
|
|
61
55
|
# This callback can be enabled via BrickletDMX#set_frame_callback_config.
|
|
62
56
|
#
|
|
63
57
|
# This callback can only be triggered in slave mode.
|
|
58
|
+
#
|
|
59
|
+
# .. note::
|
|
60
|
+
# If reconstructing the value fails, the callback is triggered with nil for frame.
|
|
64
61
|
CALLBACK_FRAME = -16
|
|
65
62
|
|
|
66
63
|
FUNCTION_SET_DMX_MODE = 1 # :nodoc:
|
|
@@ -118,7 +115,7 @@ module Tinkerforge
|
|
|
118
115
|
# Creates an object with the unique device ID <tt>uid</tt> and adds it to
|
|
119
116
|
# the IP Connection <tt>ipcon</tt>.
|
|
120
117
|
def initialize(uid, ipcon)
|
|
121
|
-
super uid, ipcon
|
|
118
|
+
super uid, ipcon, DEVICE_IDENTIFIER, DEVICE_DISPLAY_NAME
|
|
122
119
|
|
|
123
120
|
@api_version = [2, 0, 0]
|
|
124
121
|
|
|
@@ -148,26 +145,29 @@ module Tinkerforge
|
|
|
148
145
|
@response_expected[FUNCTION_READ_UID] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
149
146
|
@response_expected[FUNCTION_GET_IDENTITY] = RESPONSE_EXPECTED_ALWAYS_TRUE
|
|
150
147
|
|
|
151
|
-
@callback_formats[CALLBACK_FRAME_STARTED] = ''
|
|
152
|
-
@callback_formats[CALLBACK_FRAME_AVAILABLE] = 'L'
|
|
153
|
-
@callback_formats[CALLBACK_FRAME_LOW_LEVEL] = 'S S C56 L'
|
|
154
|
-
@callback_formats[CALLBACK_FRAME_ERROR_COUNT] = 'L L'
|
|
148
|
+
@callback_formats[CALLBACK_FRAME_STARTED] = [8, '']
|
|
149
|
+
@callback_formats[CALLBACK_FRAME_AVAILABLE] = [12, 'L']
|
|
150
|
+
@callback_formats[CALLBACK_FRAME_LOW_LEVEL] = [72, 'S S C56 L']
|
|
151
|
+
@callback_formats[CALLBACK_FRAME_ERROR_COUNT] = [16, 'L L']
|
|
155
152
|
|
|
156
153
|
@high_level_callbacks[CALLBACK_FRAME] = [['stream_length', 'stream_chunk_offset', 'stream_chunk_data', nil], {'fixed_length' => nil, 'single_chunk' => false}, nil]
|
|
154
|
+
@ipcon.add_device self
|
|
157
155
|
end
|
|
158
156
|
|
|
159
157
|
# Sets the DMX mode to either master or slave.
|
|
160
158
|
#
|
|
161
159
|
# Calling this function sets frame number to 0.
|
|
162
|
-
#
|
|
163
|
-
# The default value is 0 (master).
|
|
164
160
|
def set_dmx_mode(dmx_mode)
|
|
165
|
-
|
|
161
|
+
check_validity
|
|
162
|
+
|
|
163
|
+
send_request FUNCTION_SET_DMX_MODE, [dmx_mode], 'C', 8, ''
|
|
166
164
|
end
|
|
167
165
|
|
|
168
166
|
# Returns the DMX mode, as set by BrickletDMX#set_dmx_mode.
|
|
169
167
|
def get_dmx_mode
|
|
170
|
-
|
|
168
|
+
check_validity
|
|
169
|
+
|
|
170
|
+
send_request FUNCTION_GET_DMX_MODE, [], '', 9, 'C'
|
|
171
171
|
end
|
|
172
172
|
|
|
173
173
|
# Writes a DMX frame. The maximum frame size is 512 byte. Each byte represents one channel.
|
|
@@ -191,7 +191,9 @@ module Tinkerforge
|
|
|
191
191
|
#
|
|
192
192
|
# This function can only be called in master mode.
|
|
193
193
|
def write_frame_low_level(frame_length, frame_chunk_offset, frame_chunk_data)
|
|
194
|
-
|
|
194
|
+
check_validity
|
|
195
|
+
|
|
196
|
+
send_request FUNCTION_WRITE_FRAME_LOW_LEVEL, [frame_length, frame_chunk_offset, frame_chunk_data], 'S S C60', 8, ''
|
|
195
197
|
end
|
|
196
198
|
|
|
197
199
|
# Returns the last frame that was written by the DMX master. The size of the array
|
|
@@ -214,10 +216,12 @@ module Tinkerforge
|
|
|
214
216
|
#
|
|
215
217
|
# This function can only be called in slave mode.
|
|
216
218
|
def read_frame_low_level
|
|
217
|
-
|
|
219
|
+
check_validity
|
|
220
|
+
|
|
221
|
+
send_request FUNCTION_READ_FRAME_LOW_LEVEL, [], '', 72, 'S S C56 L'
|
|
218
222
|
end
|
|
219
223
|
|
|
220
|
-
# Sets the duration of a frame
|
|
224
|
+
# Sets the duration of a frame.
|
|
221
225
|
#
|
|
222
226
|
# Example: If you want to achieve 20 frames per second, you should
|
|
223
227
|
# set the frame duration to 50ms (50ms * 20 = 1 second).
|
|
@@ -226,20 +230,24 @@ module Tinkerforge
|
|
|
226
230
|
# this value to 0.
|
|
227
231
|
#
|
|
228
232
|
# This setting is only used in master mode.
|
|
229
|
-
#
|
|
230
|
-
# Default value: 100ms (10 frames per second).
|
|
231
233
|
def set_frame_duration(frame_duration)
|
|
232
|
-
|
|
234
|
+
check_validity
|
|
235
|
+
|
|
236
|
+
send_request FUNCTION_SET_FRAME_DURATION, [frame_duration], 'S', 8, ''
|
|
233
237
|
end
|
|
234
238
|
|
|
235
239
|
# Returns the frame duration as set by BrickletDMX#set_frame_duration.
|
|
236
240
|
def get_frame_duration
|
|
237
|
-
|
|
241
|
+
check_validity
|
|
242
|
+
|
|
243
|
+
send_request FUNCTION_GET_FRAME_DURATION, [], '', 10, 'S'
|
|
238
244
|
end
|
|
239
245
|
|
|
240
246
|
# Returns the current number of overrun and framing errors.
|
|
241
247
|
def get_frame_error_count
|
|
242
|
-
|
|
248
|
+
check_validity
|
|
249
|
+
|
|
250
|
+
send_request FUNCTION_GET_FRAME_ERROR_COUNT, [], '', 16, 'L L'
|
|
243
251
|
end
|
|
244
252
|
|
|
245
253
|
# Sets the communication LED configuration. By default the LED shows
|
|
@@ -249,12 +257,16 @@ module Tinkerforge
|
|
|
249
257
|
#
|
|
250
258
|
# If the Bricklet is in bootloader mode, the LED is off.
|
|
251
259
|
def set_communication_led_config(config)
|
|
252
|
-
|
|
260
|
+
check_validity
|
|
261
|
+
|
|
262
|
+
send_request FUNCTION_SET_COMMUNICATION_LED_CONFIG, [config], 'C', 8, ''
|
|
253
263
|
end
|
|
254
264
|
|
|
255
265
|
# Returns the configuration as set by BrickletDMX#set_communication_led_config
|
|
256
266
|
def get_communication_led_config
|
|
257
|
-
|
|
267
|
+
check_validity
|
|
268
|
+
|
|
269
|
+
send_request FUNCTION_GET_COMMUNICATION_LED_CONFIG, [], '', 9, 'C'
|
|
258
270
|
end
|
|
259
271
|
|
|
260
272
|
# Sets the error LED configuration.
|
|
@@ -267,12 +279,16 @@ module Tinkerforge
|
|
|
267
279
|
#
|
|
268
280
|
# If the Bricklet is in bootloader mode, the LED is off.
|
|
269
281
|
def set_error_led_config(config)
|
|
270
|
-
|
|
282
|
+
check_validity
|
|
283
|
+
|
|
284
|
+
send_request FUNCTION_SET_ERROR_LED_CONFIG, [config], 'C', 8, ''
|
|
271
285
|
end
|
|
272
286
|
|
|
273
287
|
# Returns the configuration as set by BrickletDMX#set_error_led_config.
|
|
274
288
|
def get_error_led_config
|
|
275
|
-
|
|
289
|
+
check_validity
|
|
290
|
+
|
|
291
|
+
send_request FUNCTION_GET_ERROR_LED_CONFIG, [], '', 9, 'C'
|
|
276
292
|
end
|
|
277
293
|
|
|
278
294
|
# Enables/Disables the different callbacks. By default the
|
|
@@ -283,12 +299,16 @@ module Tinkerforge
|
|
|
283
299
|
# the cb:`Frame Available` callback at the same time. It becomes redundant in
|
|
284
300
|
# this case.
|
|
285
301
|
def set_frame_callback_config(frame_started_callback_enabled, frame_available_callback_enabled, frame_callback_enabled, frame_error_count_callback_enabled)
|
|
286
|
-
|
|
302
|
+
check_validity
|
|
303
|
+
|
|
304
|
+
send_request FUNCTION_SET_FRAME_CALLBACK_CONFIG, [frame_started_callback_enabled, frame_available_callback_enabled, frame_callback_enabled, frame_error_count_callback_enabled], '? ? ? ?', 8, ''
|
|
287
305
|
end
|
|
288
306
|
|
|
289
307
|
# Returns the frame callback config as set by BrickletDMX#set_frame_callback_config.
|
|
290
308
|
def get_frame_callback_config
|
|
291
|
-
|
|
309
|
+
check_validity
|
|
310
|
+
|
|
311
|
+
send_request FUNCTION_GET_FRAME_CALLBACK_CONFIG, [], '', 12, '? ? ? ?'
|
|
292
312
|
end
|
|
293
313
|
|
|
294
314
|
# Returns the error count for the communication between Brick and Bricklet.
|
|
@@ -303,7 +323,9 @@ module Tinkerforge
|
|
|
303
323
|
# The errors counts are for errors that occur on the Bricklet side. All
|
|
304
324
|
# Bricks have a similar function that returns the errors on the Brick side.
|
|
305
325
|
def get_spitfp_error_count
|
|
306
|
-
|
|
326
|
+
check_validity
|
|
327
|
+
|
|
328
|
+
send_request FUNCTION_GET_SPITFP_ERROR_COUNT, [], '', 24, 'L L L L'
|
|
307
329
|
end
|
|
308
330
|
|
|
309
331
|
# Sets the bootloader mode and returns the status after the requested
|
|
@@ -316,12 +338,16 @@ module Tinkerforge
|
|
|
316
338
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
317
339
|
# necessary to call it in a normal user program.
|
|
318
340
|
def set_bootloader_mode(mode)
|
|
319
|
-
|
|
341
|
+
check_validity
|
|
342
|
+
|
|
343
|
+
send_request FUNCTION_SET_BOOTLOADER_MODE, [mode], 'C', 9, 'C'
|
|
320
344
|
end
|
|
321
345
|
|
|
322
346
|
# Returns the current bootloader mode, see BrickletDMX#set_bootloader_mode.
|
|
323
347
|
def get_bootloader_mode
|
|
324
|
-
|
|
348
|
+
check_validity
|
|
349
|
+
|
|
350
|
+
send_request FUNCTION_GET_BOOTLOADER_MODE, [], '', 9, 'C'
|
|
325
351
|
end
|
|
326
352
|
|
|
327
353
|
# Sets the firmware pointer for BrickletDMX#write_firmware. The pointer has
|
|
@@ -331,7 +357,9 @@ module Tinkerforge
|
|
|
331
357
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
332
358
|
# necessary to call it in a normal user program.
|
|
333
359
|
def set_write_firmware_pointer(pointer)
|
|
334
|
-
|
|
360
|
+
check_validity
|
|
361
|
+
|
|
362
|
+
send_request FUNCTION_SET_WRITE_FIRMWARE_POINTER, [pointer], 'L', 8, ''
|
|
335
363
|
end
|
|
336
364
|
|
|
337
365
|
# Writes 64 Bytes of firmware at the position as written by
|
|
@@ -343,7 +371,9 @@ module Tinkerforge
|
|
|
343
371
|
# This function is used by Brick Viewer during flashing. It should not be
|
|
344
372
|
# necessary to call it in a normal user program.
|
|
345
373
|
def write_firmware(data)
|
|
346
|
-
|
|
374
|
+
check_validity
|
|
375
|
+
|
|
376
|
+
send_request FUNCTION_WRITE_FIRMWARE, [data], 'C64', 9, 'C'
|
|
347
377
|
end
|
|
348
378
|
|
|
349
379
|
# Sets the status LED configuration. By default the LED shows
|
|
@@ -354,22 +384,28 @@ module Tinkerforge
|
|
|
354
384
|
#
|
|
355
385
|
# If the Bricklet is in bootloader mode, the LED is will show heartbeat by default.
|
|
356
386
|
def set_status_led_config(config)
|
|
357
|
-
|
|
387
|
+
check_validity
|
|
388
|
+
|
|
389
|
+
send_request FUNCTION_SET_STATUS_LED_CONFIG, [config], 'C', 8, ''
|
|
358
390
|
end
|
|
359
391
|
|
|
360
392
|
# Returns the configuration as set by BrickletDMX#set_status_led_config
|
|
361
393
|
def get_status_led_config
|
|
362
|
-
|
|
394
|
+
check_validity
|
|
395
|
+
|
|
396
|
+
send_request FUNCTION_GET_STATUS_LED_CONFIG, [], '', 9, 'C'
|
|
363
397
|
end
|
|
364
398
|
|
|
365
|
-
# Returns the temperature
|
|
399
|
+
# Returns the temperature as measured inside the microcontroller. The
|
|
366
400
|
# value returned is not the ambient temperature!
|
|
367
401
|
#
|
|
368
402
|
# The temperature is only proportional to the real temperature and it has bad
|
|
369
403
|
# accuracy. Practically it is only useful as an indicator for
|
|
370
404
|
# temperature changes.
|
|
371
405
|
def get_chip_temperature
|
|
372
|
-
|
|
406
|
+
check_validity
|
|
407
|
+
|
|
408
|
+
send_request FUNCTION_GET_CHIP_TEMPERATURE, [], '', 10, 's'
|
|
373
409
|
end
|
|
374
410
|
|
|
375
411
|
# Calling this function will reset the Bricklet. All configurations
|
|
@@ -379,7 +415,9 @@ module Tinkerforge
|
|
|
379
415
|
# calling functions on the existing ones will result in
|
|
380
416
|
# undefined behavior!
|
|
381
417
|
def reset
|
|
382
|
-
|
|
418
|
+
check_validity
|
|
419
|
+
|
|
420
|
+
send_request FUNCTION_RESET, [], '', 8, ''
|
|
383
421
|
end
|
|
384
422
|
|
|
385
423
|
# Writes a new UID into flash. If you want to set a new UID
|
|
@@ -388,25 +426,31 @@ module Tinkerforge
|
|
|
388
426
|
#
|
|
389
427
|
# We recommend that you use Brick Viewer to change the UID.
|
|
390
428
|
def write_uid(uid)
|
|
391
|
-
|
|
429
|
+
check_validity
|
|
430
|
+
|
|
431
|
+
send_request FUNCTION_WRITE_UID, [uid], 'L', 8, ''
|
|
392
432
|
end
|
|
393
433
|
|
|
394
434
|
# Returns the current UID as an integer. Encode as
|
|
395
435
|
# Base58 to get the usual string version.
|
|
396
436
|
def read_uid
|
|
397
|
-
|
|
437
|
+
check_validity
|
|
438
|
+
|
|
439
|
+
send_request FUNCTION_READ_UID, [], '', 12, 'L'
|
|
398
440
|
end
|
|
399
441
|
|
|
400
442
|
# Returns the UID, the UID where the Bricklet is connected to,
|
|
401
443
|
# the position, the hardware and firmware version as well as the
|
|
402
444
|
# device identifier.
|
|
403
445
|
#
|
|
404
|
-
# The position can be 'a', 'b', 'c' or '
|
|
446
|
+
# The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port).
|
|
447
|
+
# A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at
|
|
448
|
+
# position 'z'.
|
|
405
449
|
#
|
|
406
450
|
# The device identifier numbers can be found :ref:`here <device_identifier>`.
|
|
407
451
|
# |device_identifier_constant|
|
|
408
452
|
def get_identity
|
|
409
|
-
send_request FUNCTION_GET_IDENTITY, [], '',
|
|
453
|
+
send_request FUNCTION_GET_IDENTITY, [], '', 33, 'Z8 Z8 k C3 C3 S'
|
|
410
454
|
end
|
|
411
455
|
|
|
412
456
|
# Writes a DMX frame. The maximum frame size is 512 byte. Each byte represents one channel.
|