tinderfridge 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/tinderfridge/devices/bricklet_air_quality/bricklet_air_quality.rb +15 -0
- data/lib/tinderfridge/devices/bricklet_analog_in_v3/bricklet_analog_in_v3.json +2 -1
- data/lib/tinderfridge/devices/bricklet_distance_us_v2/bricklet_distance_us_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_dmx/bricklet_dmx.json +2 -1
- data/lib/tinderfridge/devices/bricklet_e_paper_296x128/bricklet_e_paper_296x128.json +2 -1
- data/lib/tinderfridge/devices/bricklet_energy_monitor/bricklet_energy_monitor.json +2 -1
- data/lib/tinderfridge/devices/bricklet_gps_v2/bricklet_gps_v2.rb +7 -0
- data/lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.rb +16 -0
- data/lib/tinderfridge/devices/bricklet_humidity_v2/bricklet_humidity_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_imu_v3/bricklet_imu_v3.json +2 -1
- data/lib/tinderfridge/devices/bricklet_industrial_dual_relay/bricklet_industrial_dual_relay.json +2 -1
- data/lib/tinderfridge/devices/bricklet_isolator/bricklet_isolator.json +2 -1
- data/lib/tinderfridge/devices/bricklet_joystick_v2/bricklet_joystick_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_laser_range_finder_v2/bricklet_laser_range_finder_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_lcd_128x64/bricklet_lcd_128x64.json +2 -1
- data/lib/tinderfridge/devices/bricklet_lcd_128x64/bricklet_lcd_128x64.rb +46 -0
- data/lib/tinderfridge/devices/bricklet_linear_poti_v2/bricklet_linear_poti_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_motorized_linear_poti/bricklet_motorized_linear_poti.json +2 -1
- data/lib/tinderfridge/devices/bricklet_nfc/bricklet_nfc.json +2 -1
- data/lib/tinderfridge/devices/bricklet_oled_128x64_v2/bricklet_oled_128x64_v2.rb +79 -0
- data/lib/tinderfridge/devices/bricklet_outdoor_weather/bricklet_outdoor_weather.json +2 -1
- data/lib/tinderfridge/devices/bricklet_piezo_speaker_v2/bricklet_piezo_speaker_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_real_time_clock_v2/bricklet_real_time_clock_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_rgb_led_button/bricklet_rgb_led_button.json +2 -1
- data/lib/tinderfridge/devices/bricklet_rgb_led_v2/bricklet_rgb_led_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_rotary_encoder_v2/bricklet_rotary_encoder_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_rotary_poti_v2/bricklet_rotary_poti_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.rb +14 -0
- data/lib/tinderfridge/devices/bricklet_temperature_v2/bricklet_temperature_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_thermal_imaging/bricklet_thermal_imaging.json +2 -1
- data/lib/tinderfridge/devices/bricklet_thermocouple_v2/bricklet_thermocouple_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_uv_light_v2/bricklet_uv_light_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_voltage_current_v2/bricklet_voltage_current_v2.json +2 -1
- data/lib/tinderfridge/devices/bricklet_xmc1400_breakout/bricklet_xmc1400_breakout.json +2 -1
- data/lib/tinderfridge/ip_connection.rb +19 -11
- data/lib/tinderfridge/shared/display_ibm437_encoding.rb +41 -0
- data/lib/tinderfridge/tinkerforge.rb +24 -9
- data/lib/tinderfridge/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a38ff1936a5557806bbd57e497dedda5b7d244b0e5cc4773d89d38265343affa
|
|
4
|
+
data.tar.gz: 45b04a762c008a25d5bfc02d61cc254b4b655eaacc460e9f99b7308c47734ea7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2ab3a4497bfb859e8b4a82e37edbad2ebee17c1b9c830a5cda9030c206f7a4188987cef28f5420299555568b682e93ad48daec128d18190ec435b02b2a64a1d7
|
|
7
|
+
data.tar.gz: 7209808acb2f9bc4f7ef0ad9770f57f6e66837962f19480d88b91def64a15b3af6f19e761c47ed1623a38852efbb0de6aa5ad8348c5b08c65336f9e955e83a18
|
|
@@ -15,6 +15,21 @@ module Tinkerforge
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
# Returns the derived air pressure at sea level.
|
|
19
|
+
#
|
|
20
|
+
# Air pressure is derived from:
|
|
21
|
+
# - air pressure as measured by the Bricklet itself
|
|
22
|
+
# - temperature as measured by the Bricklet itself
|
|
23
|
+
# - altitude of the Bricklet's location (meter)
|
|
24
|
+
#
|
|
25
|
+
# With help from:
|
|
26
|
+
# - https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Barometer_V2.html
|
|
27
|
+
# - https://keisan.casio.com/exec/system/1224575267
|
|
28
|
+
def qff(altitude)
|
|
29
|
+
# QFE / [1 - Tg * H / (273.15 + Tfe + Tg * H)] ^ (0.034163 / Tg)
|
|
30
|
+
(get_air_pressure / (1 - 0.0065 * altitude / (273.15 + (get_temperature * 0.01) + 0.0065 * altitude)) ** (0.034163 / 0.0065)).round
|
|
31
|
+
end
|
|
32
|
+
|
|
18
33
|
end
|
|
19
34
|
|
|
20
35
|
end
|
|
@@ -39,6 +39,13 @@ module Tinkerforge
|
|
|
39
39
|
Time.gm *dt.map(&:to_i)
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
# Returns a URL for viewing the current coordinates on OpenStreetMap.
|
|
43
|
+
def openstreetmap_marker_url(zoom=12)
|
|
44
|
+
if c = coordinates
|
|
45
|
+
"https://www.openstreetmap.org/?mlat=%f&mlon=%f&zoom=%d" % [c, zoom].flatten
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
42
49
|
end
|
|
43
50
|
|
|
44
51
|
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Tinkerforge
|
|
2
|
+
|
|
3
|
+
class BrickletHallEffectV2
|
|
4
|
+
|
|
5
|
+
# Returns the device's state.
|
|
6
|
+
def state
|
|
7
|
+
super.merge(
|
|
8
|
+
'magnetic_flux_density' => get_magnetic_flux_density,
|
|
9
|
+
'counter' => get_counter(false),
|
|
10
|
+
'counter_config' => get_counter_config,
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
data/lib/tinderfridge/devices/bricklet_industrial_dual_relay/bricklet_industrial_dual_relay.json
CHANGED
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 29.4,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Industrial_Dual_Relay.html",
|
|
9
|
-
"versions_identifier": "bricklets:industrial_dual_relay"
|
|
9
|
+
"versions_identifier": "bricklets:industrial_dual_relay",
|
|
10
|
+
"released": "2018-06-07"
|
|
10
11
|
}
|
data/lib/tinderfridge/devices/bricklet_laser_range_finder_v2/bricklet_laser_range_finder_v2.json
CHANGED
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 30,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Laser_Range_Finder_V2.html",
|
|
9
|
-
"versions_identifier": "bricklets:laser_range_finder_v2"
|
|
9
|
+
"versions_identifier": "bricklets:laser_range_finder_v2",
|
|
10
|
+
"released": "2019-05-20"
|
|
10
11
|
}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
require 'tinderfridge/shared/display_ibm437_encoding'
|
|
2
|
+
|
|
1
3
|
module Tinkerforge
|
|
2
4
|
|
|
3
5
|
class BrickletLCD128x64
|
|
4
6
|
|
|
7
|
+
include Tinkerforge::Shared::IBM437_encoding
|
|
8
|
+
|
|
9
|
+
# Encodes a string in the IBM437 character set used by some displays.
|
|
10
|
+
#
|
|
11
|
+
# Characters that can not be encoded are replaced with '?'.
|
|
12
|
+
#
|
|
13
|
+
# See:
|
|
14
|
+
# - https://en.wikipedia.org/wiki/Code_page_437
|
|
15
|
+
def encode(string)
|
|
16
|
+
ibm437_encode(string)
|
|
17
|
+
end
|
|
18
|
+
|
|
5
19
|
# Returns the current setting for the backlight (0..100).
|
|
6
20
|
def backlight
|
|
7
21
|
get_display_configuration[1]
|
|
@@ -20,12 +34,44 @@ module Tinkerforge
|
|
|
20
34
|
true
|
|
21
35
|
end
|
|
22
36
|
|
|
37
|
+
# Returns the current contrast setting (0..63).
|
|
38
|
+
def contrast
|
|
39
|
+
get_display_configuration[0]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Sets the contrast (0..63).
|
|
43
|
+
def contrast=(value)
|
|
44
|
+
state = get_display_configuration
|
|
45
|
+
state[0] = value.to_i
|
|
46
|
+
set_display_configuration *state
|
|
47
|
+
end
|
|
48
|
+
|
|
23
49
|
# Clears the display, including the GUI.
|
|
24
50
|
def clear
|
|
25
51
|
clear_display
|
|
26
52
|
remove_all_gui
|
|
27
53
|
end
|
|
28
54
|
|
|
55
|
+
# Returns true if automatic draw is set to false.
|
|
56
|
+
def buffered?
|
|
57
|
+
! get_display_configuration[3]
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Draws the currently buffered frame.
|
|
61
|
+
def redraw(force_complete_redraw=false)
|
|
62
|
+
draw_buffered_frame force_complete_redraw
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
alias flush redraw
|
|
66
|
+
|
|
67
|
+
# Returns the device's state.
|
|
68
|
+
def state
|
|
69
|
+
super.merge(
|
|
70
|
+
'touch_led_config' => get_touch_led_config,
|
|
71
|
+
'display_configuration' => get_display_configuration,
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
29
75
|
end
|
|
30
76
|
|
|
31
77
|
end
|
data/lib/tinderfridge/devices/bricklet_motorized_linear_poti/bricklet_motorized_linear_poti.json
CHANGED
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 67,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Motorized_Linear_Poti.html",
|
|
9
|
-
"versions_identifier": "bricklets:motorized_linear_poti"
|
|
9
|
+
"versions_identifier": "bricklets:motorized_linear_poti",
|
|
10
|
+
"released": "2017-11-17"
|
|
10
11
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
require 'tinderfridge/shared/display_ibm437_encoding'
|
|
2
|
+
|
|
3
|
+
module Tinkerforge
|
|
4
|
+
|
|
5
|
+
class BrickletOLED128x64V2
|
|
6
|
+
|
|
7
|
+
include Tinkerforge::Shared::IBM437_encoding
|
|
8
|
+
|
|
9
|
+
# Encodes a string in the IBM437 character set used by some displays.
|
|
10
|
+
#
|
|
11
|
+
# Characters that can not be encoded are replaced with '?'.
|
|
12
|
+
#
|
|
13
|
+
# See:
|
|
14
|
+
# - https://en.wikipedia.org/wiki/Code_page_437
|
|
15
|
+
def encode(string)
|
|
16
|
+
ibm437_encode(string)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Turns the display all black.
|
|
20
|
+
def blackout
|
|
21
|
+
c = get_display_configuration
|
|
22
|
+
|
|
23
|
+
if c[1] # inverted
|
|
24
|
+
set_display_configuration c[0], false, c[2]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
clear_display
|
|
28
|
+
|
|
29
|
+
if ! c[2] # buffered
|
|
30
|
+
draw_buffered_frame(true)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Returns true if automatic draw is set to false.
|
|
37
|
+
def buffered?
|
|
38
|
+
! get_display_configuration[2]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Draws the currently buffered frame.
|
|
42
|
+
def redraw(force_complete_redraw=false)
|
|
43
|
+
draw_buffered_frame force_complete_redraw
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
alias flush redraw
|
|
47
|
+
|
|
48
|
+
# Returns the device's state.
|
|
49
|
+
def state
|
|
50
|
+
super.merge(
|
|
51
|
+
'display_configuration' => get_display_configuration,
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Clears the display and prints upto 8 lines of text.
|
|
56
|
+
#
|
|
57
|
+
# Text may contain newline characters to separate lines.
|
|
58
|
+
# Lines longer than 21 characters will be wrapped.
|
|
59
|
+
#
|
|
60
|
+
# Text is automatically encoded in the IBM437 character set.
|
|
61
|
+
# @example
|
|
62
|
+
# my_oled.put_screen "Hello, World!\n\nRuby #{RUBY_VERSION}"
|
|
63
|
+
def put_screen(text='', test: false)
|
|
64
|
+
lines = text.split("\n")
|
|
65
|
+
lines = lines.map { |s| s.empty? ? '' : s.scan(/.{1,21}/) }.flatten
|
|
66
|
+
lines = lines[0,8].map { |l| encode l }
|
|
67
|
+
|
|
68
|
+
return lines if test
|
|
69
|
+
|
|
70
|
+
clear_display
|
|
71
|
+
lines.each_with_index do |s,l|
|
|
72
|
+
write_line l, 0, s
|
|
73
|
+
end
|
|
74
|
+
nil
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 3,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/RealTime_Clock_V2.html",
|
|
9
|
-
"versions_identifier": "bricklets:real_time_clock_v2"
|
|
9
|
+
"versions_identifier": "bricklets:real_time_clock_v2",
|
|
10
|
+
"released": "2018-06-07"
|
|
10
11
|
}
|
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 6,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Rotary_Encoder_V2.html",
|
|
9
|
-
"versions_identifier": "bricklets:rotary_encoder_v2"
|
|
9
|
+
"versions_identifier": "bricklets:rotary_encoder_v2",
|
|
10
|
+
"released": "2018-02-26"
|
|
10
11
|
}
|
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 3,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Temperature_IR_V2.html",
|
|
9
|
-
"versions_identifier": "bricklets:temperature_ir_v2"
|
|
9
|
+
"versions_identifier": "bricklets:temperature_ir_v2",
|
|
10
|
+
"released": "2018-02-26"
|
|
10
11
|
}
|
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"weight": 10,
|
|
8
8
|
"documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/Voltage_Current_V2.html",
|
|
9
|
-
"versions_identifier": "bricklets:voltage_current_v2"
|
|
9
|
+
"versions_identifier": "bricklets:voltage_current_v2",
|
|
10
|
+
"released": "2018-06-07"
|
|
10
11
|
}
|
|
@@ -10,6 +10,9 @@ module Tinkerforge
|
|
|
10
10
|
# Returns the port for the IP Connection.
|
|
11
11
|
attr_reader :port
|
|
12
12
|
|
|
13
|
+
# Returns the network socket used by the IP Connection.
|
|
14
|
+
attr_reader :socket
|
|
15
|
+
|
|
13
16
|
# Returns a programmer-friendly representation of the object.
|
|
14
17
|
def inspect
|
|
15
18
|
"%s (%s:%s)" % [self.class, host, port]
|
|
@@ -117,17 +120,22 @@ module Tinkerforge
|
|
|
117
120
|
|
|
118
121
|
end
|
|
119
122
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
|
|
124
|
+
class << self
|
|
125
|
+
|
|
126
|
+
# Creates an IP Connection object connected to the given host and port.
|
|
127
|
+
#
|
|
128
|
+
# If no host and port are specified, uses the TINKERFORGE_HOST and TINKERFORGE_PORT environment variables, when defined.
|
|
129
|
+
# Otherwise defaults to 'localhost' and port 4223.
|
|
130
|
+
def connect(host=nil, port=nil)
|
|
131
|
+
ipcon = IPConnection.new
|
|
132
|
+
ipcon.connect(
|
|
133
|
+
( host || ENV['TINKERFORGE_HOST'] || 'localhost' ),
|
|
134
|
+
( port || ENV['TINKERFORGE_PORT'] || 4223 )
|
|
135
|
+
)
|
|
136
|
+
ipcon
|
|
137
|
+
end
|
|
138
|
+
|
|
131
139
|
end
|
|
132
140
|
|
|
133
141
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Tinkerforge
|
|
2
|
+
|
|
3
|
+
module Shared
|
|
4
|
+
|
|
5
|
+
module IBM437_encoding
|
|
6
|
+
|
|
7
|
+
private
|
|
8
|
+
|
|
9
|
+
# Encodes a string in the IBM437 character set used by some displays.
|
|
10
|
+
#
|
|
11
|
+
# Characters that can not be encoded are replaced with '?'.
|
|
12
|
+
#
|
|
13
|
+
# See:
|
|
14
|
+
# - https://en.wikipedia.org/wiki/Code_page_437
|
|
15
|
+
def ibm437_encode(string)
|
|
16
|
+
string.encode('IBM437', fallback: ibm437_encoding_fallback_table)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Ruby's IBM437 encoding does not include codepoints 0..31 and 127.
|
|
20
|
+
# This fallback table defines those, minus 0,
|
|
21
|
+
# and defines '?' as default for undefined characters.
|
|
22
|
+
def ibm437_encoding_fallback_table
|
|
23
|
+
@@ibm437_encoding_fallback_table ||= Hash.new('?').merge(
|
|
24
|
+
{
|
|
25
|
+
'☺'=> "\x01", '☻'=> "\x02", '♥'=> "\x03", '♦'=> "\x04",
|
|
26
|
+
'♣'=> "\x05", '♠'=> "\x06", '•'=> "\x07", '◘'=> "\x08",
|
|
27
|
+
'○'=> "\x09", '◙'=> "\x0a", '♂'=> "\x0b", '♀'=> "\x0c",
|
|
28
|
+
'♪'=> "\x0d", '♫'=> "\x0e", '☼'=> "\x0f", '►'=> "\x10",
|
|
29
|
+
'◄'=> "\x11", '↕'=> "\x12", '‼'=> "\x13", '¶'=> "\x14",
|
|
30
|
+
'§'=> "\x15", '▬'=> "\x16", '↨'=> "\x17", '↑'=> "\x18",
|
|
31
|
+
'↓'=> "\x19", '→'=> "\x1a", '←'=> "\x1b", '∟'=> "\x1c",
|
|
32
|
+
'↔'=> "\x1d", '▲'=> "\x1e", '▼'=> "\x1f", '⌂'=> "\x7f"
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -5,16 +5,31 @@ module Tinkerforge
|
|
|
5
5
|
ALL_VERSIONS_URL = 'https://download.tinkerforge.com/all_versions.txt'
|
|
6
6
|
LATEST_VERSIONS_URL = 'https://download.tinkerforge.com/latest_versions.txt'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
class << self
|
|
9
|
+
|
|
10
|
+
# Returns the directory where Tinkerforge bindings appear to be installed.
|
|
11
|
+
def lib_dir
|
|
12
|
+
File.dirname File.dirname Device.instance_method('uid').source_location.first
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Attempts to load all files that are part of Tinkerforge. Returns a list of files loaded.
|
|
16
|
+
def require_everything
|
|
17
|
+
Dir.glob(File.join lib_dir, 'tinkerforge', '*.rb').map do |file|
|
|
18
|
+
require(file) ? file : nil
|
|
19
|
+
end.compact
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Discovers local devices.
|
|
23
|
+
#
|
|
24
|
+
# Connects to 'localhost', and returns devices discovered there. If no port is specified, defaults to port 4223.
|
|
25
|
+
# @example
|
|
26
|
+
# Tinkerforge.local.ls
|
|
27
|
+
# @example Mac only
|
|
28
|
+
# Tinkerforge.local.doc
|
|
29
|
+
def local(port=4223)
|
|
30
|
+
connect('localhost', port).discover(0.25)
|
|
31
|
+
end
|
|
12
32
|
|
|
13
|
-
# Attempts to load all files that are part of Tinkerforge. Returns a list of files loaded.
|
|
14
|
-
def self.require_everything
|
|
15
|
-
Dir.glob(File.join lib_dir, 'tinkerforge', '*.rb').map do |file|
|
|
16
|
-
require(file) ? file : nil
|
|
17
|
-
end.compact
|
|
18
33
|
end
|
|
19
34
|
|
|
20
35
|
end
|
data/lib/tinderfridge/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tinderfridge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.10.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lllist.eu
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-04-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: tinkerforge
|
|
@@ -72,6 +72,7 @@ files:
|
|
|
72
72
|
- lib/tinderfridge/devices/bricklet_gps_v2/bricklet_gps_v2.json
|
|
73
73
|
- lib/tinderfridge/devices/bricklet_gps_v2/bricklet_gps_v2.rb
|
|
74
74
|
- lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.json
|
|
75
|
+
- lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.rb
|
|
75
76
|
- lib/tinderfridge/devices/bricklet_humidity_v2/bricklet_humidity_v2.json
|
|
76
77
|
- lib/tinderfridge/devices/bricklet_imu_v3/bricklet_imu_v3.json
|
|
77
78
|
- lib/tinderfridge/devices/bricklet_industrial_analog_out_v2/bricklet_industrial_analog_out_v2.json
|
|
@@ -107,6 +108,7 @@ files:
|
|
|
107
108
|
- lib/tinderfridge/devices/bricklet_nfc/bricklet_nfc.json
|
|
108
109
|
- lib/tinderfridge/devices/bricklet_nfc/bricklet_nfc.rb
|
|
109
110
|
- lib/tinderfridge/devices/bricklet_oled_128x64_v2/bricklet_oled_128x64_v2.json
|
|
111
|
+
- lib/tinderfridge/devices/bricklet_oled_128x64_v2/bricklet_oled_128x64_v2.rb
|
|
110
112
|
- lib/tinderfridge/devices/bricklet_one_wire/bricklet_one_wire.json
|
|
111
113
|
- lib/tinderfridge/devices/bricklet_outdoor_weather/bricklet_outdoor_weather.json
|
|
112
114
|
- lib/tinderfridge/devices/bricklet_outdoor_weather/bricklet_outdoor_weather.rb
|
|
@@ -134,6 +136,7 @@ files:
|
|
|
134
136
|
- lib/tinderfridge/devices/bricklet_sound_pressure_level/bricklet_sound_pressure_level.json
|
|
135
137
|
- lib/tinderfridge/devices/bricklet_sound_pressure_level/bricklet_sound_pressure_level.rb
|
|
136
138
|
- lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.json
|
|
139
|
+
- lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.rb
|
|
137
140
|
- lib/tinderfridge/devices/bricklet_temperature_v2/bricklet_temperature_v2.json
|
|
138
141
|
- lib/tinderfridge/devices/bricklet_thermal_imaging/bricklet_thermal_imaging.json
|
|
139
142
|
- lib/tinderfridge/devices/bricklet_thermocouple_v2/bricklet_thermocouple_v2.json
|
|
@@ -142,6 +145,7 @@ files:
|
|
|
142
145
|
- lib/tinderfridge/devices/bricklet_voltage_current_v2/bricklet_voltage_current_v2.rb
|
|
143
146
|
- lib/tinderfridge/devices/bricklet_xmc1400_breakout/bricklet_xmc1400_breakout.json
|
|
144
147
|
- lib/tinderfridge/ip_connection.rb
|
|
148
|
+
- lib/tinderfridge/shared/display_ibm437_encoding.rb
|
|
145
149
|
- lib/tinderfridge/tinkerforge.rb
|
|
146
150
|
- lib/tinderfridge/version.rb
|
|
147
151
|
homepage: https://github.com/lllisteu/tinderfridge
|