tinderfridge 0.10.0 → 0.11.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a38ff1936a5557806bbd57e497dedda5b7d244b0e5cc4773d89d38265343affa
4
- data.tar.gz: 45b04a762c008a25d5bfc02d61cc254b4b655eaacc460e9f99b7308c47734ea7
3
+ metadata.gz: f1c28bf9d30fc0a07640bc0455e0c79625d9c83891eff91d8e6e4227780c57d3
4
+ data.tar.gz: cb7039e16d274378b77af9c065e74ff0ad2ebd07450df034893d04144c5b5302
5
5
  SHA512:
6
- metadata.gz: 2ab3a4497bfb859e8b4a82e37edbad2ebee17c1b9c830a5cda9030c206f7a4188987cef28f5420299555568b682e93ad48daec128d18190ec435b02b2a64a1d7
7
- data.tar.gz: 7209808acb2f9bc4f7ef0ad9770f57f6e66837962f19480d88b91def64a15b3af6f19e761c47ed1623a38852efbb0de6aa5ad8348c5b08c65336f9e955e83a18
6
+ metadata.gz: 3311ac8e16a9233ae652ae8caf50aca8ebe6fa48ba8f0079764da55a8234542d57044ab52c2d7a6358fe22fb57e771c4cef8777e772dff3ad78da1e0e86ba989
7
+ data.tar.gz: 466bc1054d70689af056866a5d784050d6731d71fc711937a59e8a053bc7f17335eee594034f241282f918d773237d401486f62cef209d173e37eb95b559e105
@@ -79,7 +79,7 @@ module Tinkerforge
79
79
 
80
80
  # Returns a programmer-friendly representation of the device.
81
81
  def inspect
82
- "%s (%s@%s:%s)" % [self.class, @uid_string, ipcon.host, ipcon.port]
82
+ "%s (%s@%s:%s)" % [self.class, uid_string, ipcon.host, ipcon.port]
83
83
  end
84
84
 
85
85
  # Returns the device's properties.
@@ -16,6 +16,8 @@
16
16
  29 IO-4 Bricklet Tinkerforge::BrickletIO4 bricklet_io4
17
17
  111 HAT Brick Tinkerforge::BrickHAT brick_hat
18
18
  112 HAT Zero Brick Tinkerforge::BrickHATZero brick_hat_zero
19
+ 113 ESP32 Brick Tinkerforge::BrickESP32 brick_esp32
20
+ 115 ESP32 Ethernet Brick Tinkerforge::BrickESP32Ethernet brick_esp32_ethernet
19
21
  210 Joystick Bricklet Tinkerforge::BrickletJoystick bricklet_joystick
20
22
  211 LCD 16x2 Bricklet Tinkerforge::BrickletLCD16x2 bricklet_lcd_16x2
21
23
  212 LCD 20x4 Bricklet Tinkerforge::BrickletLCD20x4 bricklet_lcd_20x4
@@ -142,3 +144,4 @@
142
144
  2164 Industrial PTC Bricklet Tinkerforge::BrickletIndustrialPTC bricklet_industrial_ptc
143
145
  2165 DC Bricklet 2.0 Tinkerforge::BrickletDCV2 bricklet_dc_v2
144
146
  2166 Silent Stepper Bricklet 2.0 Tinkerforge::BrickletSilentStepperV2 bricklet_silent_stepper_v2
147
+ 2171 GPS Bricklet 3.0 Tinkerforge::BrickletGPSV3 bricklet_gps_v3
@@ -0,0 +1,11 @@
1
+ {
2
+ "dimensions": [
3
+ 66,
4
+ 40,
5
+ 9
6
+ ],
7
+ "weight": 14,
8
+ "documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricks/ESP32_Brick.html",
9
+ "versions_identifier": "bricks:esp32",
10
+ "released": "2022-04-29"
11
+ }
@@ -0,0 +1,13 @@
1
+ module Tinkerforge
2
+
3
+ class BrickESP32
4
+
5
+ private
6
+
7
+ def _view_21x8
8
+ "ESP32 #{uid_string.rjust 8}"
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -0,0 +1,11 @@
1
+ {
2
+ "dimensions": [
3
+ 88,
4
+ 45,
5
+ 12
6
+ ],
7
+ "weight": 20,
8
+ "documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricks/ESP32_Ethernet_Brick.html",
9
+ "versions_identifier": "bricks:esp32_ethernet",
10
+ "released": "2022-04-29"
11
+ }
@@ -0,0 +1,13 @@
1
+ module Tinkerforge
2
+
3
+ class BrickESP32Ethernet
4
+
5
+ private
6
+
7
+ def _view_21x8
8
+ "ESP32 Eth #{uid_string.rjust 8}"
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -13,6 +13,18 @@ module Tinkerforge
13
13
  )
14
14
  end
15
15
 
16
+ private
17
+
18
+ def _view_21x8
19
+ volts = get_voltages
20
+ <<~ET
21
+ HAT #{uid_string.rjust 8}
22
+
23
+ USB #{'%5.2f V' % [volts[0]*0.001]}
24
+ DC #{'%5.2f V' % [volts[1]*0.001]}
25
+ ET
26
+ end
27
+
16
28
  end
17
29
 
18
30
  end
@@ -9,6 +9,16 @@ module Tinkerforge
9
9
  )
10
10
  end
11
11
 
12
+ private
13
+
14
+ def _view_21x8
15
+ <<~ET
16
+ HAT Zero #{uid_string.rjust 8}
17
+
18
+ USB #{'%5.2f V' % [get_usb_voltage*0.001]}
19
+ ET
20
+ end
21
+
12
22
  end
13
23
 
14
24
  end
@@ -0,0 +1,30 @@
1
+ module Tinkerforge
2
+
3
+ class BrickletBarometerV2
4
+
5
+ # Returns the device's state.
6
+ def state
7
+ super.merge(
8
+ 'air_pressure' => get_air_pressure,
9
+ 'calibration' => get_calibration,
10
+ 'altitude' => get_altitude,
11
+ 'reference_air_pressure' => get_reference_air_pressure,
12
+ 'temperature' => get_temperature,
13
+ 'moving_average_configuration' => get_moving_average_configuration,
14
+ 'sensor_configuration' => get_sensor_configuration,
15
+ )
16
+ end
17
+
18
+ private
19
+
20
+ def _view_21x8
21
+ <<~ET
22
+ Baro #{uid_string.rjust 8}
23
+
24
+ #{'%7.2f hPa' % [get_air_pressure*0.001]}
25
+ ET
26
+ end
27
+
28
+ end
29
+
30
+ end
@@ -14,6 +14,16 @@ module Tinkerforge
14
14
  )
15
15
  end
16
16
 
17
+ private
18
+
19
+ def _view_21x8
20
+ <<~ET
21
+ CO2 #{uid_string.rjust 8}
22
+
23
+ #{'%5d PPM' % get_co2_concentration}
24
+ ET
25
+ end
26
+
17
27
  end
18
28
 
19
29
  end
@@ -46,6 +46,13 @@ module Tinkerforge
46
46
  end
47
47
  end
48
48
 
49
+ private
50
+
51
+ def _view_21x8
52
+ "GPS #{uid_string.rjust 8}\n\n" +
53
+ ((c = coordinates) ? (" Lat %10.5f\n Lon %10.5f" % c) : ' no fix')
54
+ end
55
+
49
56
  end
50
57
 
51
58
  end
@@ -0,0 +1,4 @@
1
+ {
2
+ "documentation_en_url": "https://www.tinkerforge.com/en/doc/Hardware/Bricklets/GPS_V3.html",
3
+ "released": "2022-05-09"
4
+ }
@@ -72,6 +72,43 @@ module Tinkerforge
72
72
  )
73
73
  end
74
74
 
75
+ # Clears the display and prints upto 8 lines of text.
76
+ #
77
+ # Text may contain newline characters to separate lines.
78
+ # Lines longer than 21 characters will be wrapped.
79
+ #
80
+ # Text is automatically encoded in the IBM437 character set.
81
+ # @example
82
+ # my_lcd.put_screen "Hello, World!\n\nRuby #{RUBY_VERSION}"
83
+ def put_screen(text='', test: false)
84
+ lines = text.split("\n")
85
+ lines = lines.map { |s| s.empty? ? '' : s.scan(/.{1,21}/) }.flatten
86
+ lines = lines[0,8].map { |l| encode l }
87
+
88
+ return lines if test
89
+
90
+ clear
91
+ lines.each_with_index do |s,l|
92
+ write_line l, 0, s
93
+ end
94
+ nil
95
+ end
96
+
97
+ # Shows an object.
98
+ def show(object)
99
+ if object.respond_to?( :_view_21x8, true)
100
+ put_screen ( object.send(:_view_21x8) rescue "21x8 view error\n\n#{object.class.to_s}" )
101
+ elsif
102
+ put_screen object.inspect[0,168]
103
+ end
104
+ end
105
+
106
+ private
107
+
108
+ def _view_21x8
109
+ "LCD #{uid_string.rjust 8}"
110
+ end
111
+
75
112
  end
76
113
 
77
114
  end
@@ -74,6 +74,21 @@ module Tinkerforge
74
74
  nil
75
75
  end
76
76
 
77
+ # Shows an object.
78
+ def show(object)
79
+ if object.respond_to?( :_view_21x8, true)
80
+ put_screen ( object.send(:_view_21x8) rescue "21x8 view error\n\n#{object.class.to_s}" )
81
+ elsif
82
+ put_screen object.inspect[0,168]
83
+ end
84
+ end
85
+
86
+ private
87
+
88
+ def _view_21x8
89
+ "OLED #{uid_string.rjust 8}"
90
+ end
91
+
77
92
  end
78
93
 
79
94
  end
@@ -14,6 +14,15 @@ module Tinkerforge
14
14
  end.to_h
15
15
  end
16
16
 
17
+ private
18
+
19
+ def _view_21x8
20
+ "Weather #{uid_string.rjust 8}\n\n" +
21
+ sensors.first(6).map do |k,v|
22
+ %Q(#{v[2] > 100 ? '?' : ' '} %3d %4.1f °C %2d %%\n) % [k,v].flatten
23
+ end.join
24
+ end
25
+
17
26
  end
18
27
 
19
28
  end
@@ -0,0 +1,27 @@
1
+ module Tinkerforge
2
+
3
+ class BrickletTemperatureV2
4
+
5
+ # Returns the device's state.
6
+ def state
7
+ super.merge(
8
+ 'temperature' => get_temperature,
9
+ 'heater_configuration' => get_heater_configuration,
10
+ )
11
+ end
12
+
13
+ private
14
+
15
+ def _view_21x8
16
+ <<~ET
17
+ Temp #{uid_string.rjust 8}
18
+
19
+ #{'%6.2f °C' % [get_temperature*0.01]}
20
+
21
+ #{get_heater_configuration == 1 ? 'HEATER' : ''}
22
+ ET
23
+ end
24
+
25
+ end
26
+
27
+ end
@@ -3,7 +3,7 @@ require 'tinkerforge/version'
3
3
  module Tinkerforge
4
4
 
5
5
  # Tinderfridge version.
6
- TINDERFRIDGE_VERSION = '0.10.0'
6
+ TINDERFRIDGE_VERSION = '0.11.0'
7
7
 
8
8
  # About Tinkerforge & Tinderfridge.
9
9
  def self.about
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.10.0
4
+ version: 0.11.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-04-04 00:00:00.000000000 Z
11
+ date: 2022-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tinkerforge
@@ -41,6 +41,10 @@ files:
41
41
  - lib/tinderfridge/device_collection.rb
42
42
  - lib/tinderfridge/device_info.rb
43
43
  - lib/tinderfridge/device_info.txt
44
+ - lib/tinderfridge/devices/brick_esp32/brick_esp32.json
45
+ - lib/tinderfridge/devices/brick_esp32/brick_esp32.rb
46
+ - lib/tinderfridge/devices/brick_esp32_ethernet/brick_esp32_ethernet.json
47
+ - lib/tinderfridge/devices/brick_esp32_ethernet/brick_esp32_ethernet.rb
44
48
  - lib/tinderfridge/devices/brick_hat/brick_hat.json
45
49
  - lib/tinderfridge/devices/brick_hat/brick_hat.rb
46
50
  - lib/tinderfridge/devices/brick_hat_zero/brick_hat_zero.json
@@ -55,6 +59,7 @@ files:
55
59
  - lib/tinderfridge/devices/bricklet_analog_in_v3/bricklet_analog_in_v3.json
56
60
  - lib/tinderfridge/devices/bricklet_analog_out_v3/bricklet_analog_out_v3.json
57
61
  - lib/tinderfridge/devices/bricklet_barometer_v2/bricklet_barometer_v2.json
62
+ - lib/tinderfridge/devices/bricklet_barometer_v2/bricklet_barometer_v2.rb
58
63
  - lib/tinderfridge/devices/bricklet_can_v2/bricklet_can_v2.json
59
64
  - lib/tinderfridge/devices/bricklet_co2_v2/bricklet_co2_v2.json
60
65
  - lib/tinderfridge/devices/bricklet_co2_v2/bricklet_co2_v2.rb
@@ -71,6 +76,7 @@ files:
71
76
  - lib/tinderfridge/devices/bricklet_energy_monitor/bricklet_energy_monitor.json
72
77
  - lib/tinderfridge/devices/bricklet_gps_v2/bricklet_gps_v2.json
73
78
  - lib/tinderfridge/devices/bricklet_gps_v2/bricklet_gps_v2.rb
79
+ - lib/tinderfridge/devices/bricklet_gps_v3/bricklet_gps_v3.json
74
80
  - lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.json
75
81
  - lib/tinderfridge/devices/bricklet_hall_effect_v2/bricklet_hall_effect_v2.rb
76
82
  - lib/tinderfridge/devices/bricklet_humidity_v2/bricklet_humidity_v2.json
@@ -138,6 +144,7 @@ files:
138
144
  - lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.json
139
145
  - lib/tinderfridge/devices/bricklet_temperature_ir_v2/bricklet_temperature_ir_v2.rb
140
146
  - lib/tinderfridge/devices/bricklet_temperature_v2/bricklet_temperature_v2.json
147
+ - lib/tinderfridge/devices/bricklet_temperature_v2/bricklet_temperature_v2.rb
141
148
  - lib/tinderfridge/devices/bricklet_thermal_imaging/bricklet_thermal_imaging.json
142
149
  - lib/tinderfridge/devices/bricklet_thermocouple_v2/bricklet_thermocouple_v2.json
143
150
  - lib/tinderfridge/devices/bricklet_uv_light_v2/bricklet_uv_light_v2.json
@@ -170,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
177
  - !ruby/object:Gem::Version
171
178
  version: '0'
172
179
  requirements: []
173
- rubygems_version: 3.2.32
180
+ rubygems_version: 3.3.11
174
181
  signing_key:
175
182
  specification_version: 4
176
183
  summary: Extending Tinkerforge in fun and useful ways.