object_oriented_beaglebone_black 0.2.2 → 0.3.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/README.md +2 -0
- data/examples/arduino/arduino_sketches/DcDcConverterManagement/DcDcConverterManagement.ino +100 -0
- data/examples/arduino/arduino_sketches/VoltageMeasurement/VoltageMeasurement.ino +78 -0
- data/examples/object_oriented_beaglebone_black_examples/current_measurement/current_input.rb +30 -0
- data/examples/object_oriented_beaglebone_black_examples/current_measurement.rb +7 -0
- data/examples/object_oriented_beaglebone_black_examples/dc_dc_converter_control_example_1.rb +54 -0
- data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output.rb +30 -0
- data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input.rb +73 -0
- data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino.rb +8 -0
- data/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation.rb +49 -0
- data/examples/object_oriented_beaglebone_black_examples/voltage_measurement/voltage_input.rb +26 -0
- data/examples/object_oriented_beaglebone_black_examples/voltage_measurement.rb +7 -0
- data/examples/object_oriented_beaglebone_black_examples.rb +10 -0
- data/lib/object_oriented_beaglebone_black/analog_input.rb +32 -4
- data/lib/object_oriented_beaglebone_black/pin_mappings.rb +3 -3
- data/lib/object_oriented_beaglebone_black/pwm.rb +68 -10
- data/lib/object_oriented_beaglebone_black/uart_connection.rb +95 -0
- data/lib/object_oriented_beaglebone_black/uart_mappings.rb +29 -0
- data/lib/object_oriented_beaglebone_black/version.rb +1 -1
- data/lib/object_oriented_beaglebone_black.rb +2 -0
- data/object_orieted_beaglebone_black.gemspec +3 -0
- data/spec/examples/{current_measurement → object_oriented_beaglebone_black_examples/current_measurement}/current_input_spec.rb +3 -2
- data/spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output_spec.rb +41 -0
- data/spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input_spec.rb +55 -0
- data/spec/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation_spec.rb +126 -0
- data/spec/examples/{voltage_measurement → object_oriented_beaglebone_black_examples/voltage_measurement}/voltage_input_spec.rb +4 -2
- data/spec/object_oriented_beaglebone_black/uart_connection_spec.rb +47 -0
- data/spec/object_oriented_beaglebone_black/uart_mappings_spec.rb +22 -0
- data/spec/spec_helper.rb +1 -0
- metadata +44 -12
- data/examples/current_measurement/current_input.rb +0 -16
- data/examples/current_measurement/current_input_with_point04_shunt.rb +0 -12
- data/examples/current_measurement.rb +0 -8
- data/examples/voltage_measurement/voltage_input.rb +0 -16
- data/examples/voltage_measurement/voltage_input_with_100k_and_20k_voltage_divider.rb +0 -12
- data/examples/voltage_measurement.rb +0 -8
data/spec/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation_spec.rb
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'bigdecimal'
|
3
|
+
|
4
|
+
describe ObjectOrientedBeagleboneBlackExamples::VoltageCurrentCalculation do
|
5
|
+
|
6
|
+
context "External analog digital converter (Arduino)" do
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
@analog_steps = BigDecimal("1023")
|
10
|
+
reference_voltage = BigDecimal("5")
|
11
|
+
@voltage_current_calculation = ObjectOrientedBeagleboneBlackExamples::VoltageCurrentCalculation.new(@analog_steps, reference_voltage)
|
12
|
+
end
|
13
|
+
|
14
|
+
context "voltage" do
|
15
|
+
|
16
|
+
it "should calculate voltage based on the raw analog data" do
|
17
|
+
|
18
|
+
raw_analog_reading = BigDecimal("1023")
|
19
|
+
expect(@voltage_current_calculation.voltage(raw_analog_reading)).to be_within(BigDecimal("0.1")).of(BigDecimal("5.0"))
|
20
|
+
|
21
|
+
raw_analog_reading = BigDecimal("511")
|
22
|
+
expect(@voltage_current_calculation.voltage(raw_analog_reading)).to be_within(BigDecimal("0.1")).of(BigDecimal("2.5"))
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should calculate voltage based on the raw analog data with voltage divisor" do
|
27
|
+
|
28
|
+
raw_analog_reading = BigDecimal("1023")
|
29
|
+
expect(@voltage_current_calculation.voltage(raw_analog_reading,
|
30
|
+
higher_side_resistor_resistance: BigDecimal("1000"),
|
31
|
+
lower_side_resistor_resistance: BigDecimal("1000"))).to be_within(BigDecimal("0.1")).of(BigDecimal("10.0"))
|
32
|
+
|
33
|
+
raw_analog_reading = BigDecimal("511")
|
34
|
+
expect(@voltage_current_calculation.voltage(raw_analog_reading,
|
35
|
+
higher_side_resistor_resistance: BigDecimal("1000"),
|
36
|
+
lower_side_resistor_resistance: BigDecimal("1000"))).to be_within(BigDecimal("0.1")).of(BigDecimal("5.0"))
|
37
|
+
|
38
|
+
raw_analog_reading = BigDecimal("1023")
|
39
|
+
expect(@voltage_current_calculation.voltage(raw_analog_reading,
|
40
|
+
higher_side_resistor_resistance: BigDecimal("10"),
|
41
|
+
lower_side_resistor_resistance: BigDecimal("2.2"))).to be_within(BigDecimal("0.1")).of(BigDecimal("27.7"))
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
context "voltage divider" do
|
46
|
+
|
47
|
+
it "should calculate resistor factor" do
|
48
|
+
|
49
|
+
higher_side_resistor_resistance = BigDecimal("1000")
|
50
|
+
lower_side_resistor_resistance = BigDecimal("1000")
|
51
|
+
|
52
|
+
expect(@voltage_current_calculation.resistor_factor(higher_side_resistor_resistance,
|
53
|
+
lower_side_resistor_resistance))
|
54
|
+
.to eq(@analog_steps * BigDecimal("0.5"))
|
55
|
+
|
56
|
+
higher_side_resistor_resistance = BigDecimal("10")
|
57
|
+
lower_side_resistor_resistance = BigDecimal("2.2")
|
58
|
+
|
59
|
+
expect(@voltage_current_calculation.resistor_factor(higher_side_resistor_resistance,
|
60
|
+
lower_side_resistor_resistance))
|
61
|
+
.to be_within(BigDecimal("1"))
|
62
|
+
.of(@analog_steps * BigDecimal("0.18"))
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should get analog steps as resistor factor if the resistances are nil" do
|
67
|
+
|
68
|
+
higher_side_resistor_resistance = nil
|
69
|
+
lower_side_resistor_resistance = nil
|
70
|
+
|
71
|
+
expect(@voltage_current_calculation.resistor_factor(higher_side_resistor_resistance,
|
72
|
+
lower_side_resistor_resistance))
|
73
|
+
.to eq(@analog_steps * BigDecimal("1"))
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
context "current" do
|
82
|
+
|
83
|
+
it "should calculate current based on the raw analog voltage accross shunt resistance" do
|
84
|
+
|
85
|
+
resistance_for_current_measurement = BigDecimal("0.005")
|
86
|
+
voltage_gain_for_current_measurement = BigDecimal("100")
|
87
|
+
|
88
|
+
raw_analog_reading = BigDecimal("1023")
|
89
|
+
expect(@voltage_current_calculation.current(raw_analog_reading,
|
90
|
+
resistance_for_current_measurement: resistance_for_current_measurement,
|
91
|
+
voltage_gain_for_current_measurement: voltage_gain_for_current_measurement)).to be_within(BigDecimal("0.1")).of(BigDecimal("10.0"))
|
92
|
+
|
93
|
+
raw_analog_reading = BigDecimal("511")
|
94
|
+
expect(@voltage_current_calculation.current(raw_analog_reading,
|
95
|
+
resistance_for_current_measurement: resistance_for_current_measurement,
|
96
|
+
voltage_gain_for_current_measurement: voltage_gain_for_current_measurement)).to be_within(BigDecimal("0.1")).of(BigDecimal("5.0"))
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
context "Internal analog digital converter" do
|
105
|
+
|
106
|
+
before(:each) do
|
107
|
+
@voltage_current_calculation = ObjectOrientedBeagleboneBlackExamples::VoltageCurrentCalculation.new
|
108
|
+
end
|
109
|
+
|
110
|
+
context "current" do
|
111
|
+
|
112
|
+
it "should calculate current based on the voltage measured by current sensor" do
|
113
|
+
|
114
|
+
voltage_current_ratio_for_current_measurement = BigDecimal("0.185") # 185 [mV/A] for ACS712
|
115
|
+
|
116
|
+
raw_analog_reading = BigDecimal("0.5")
|
117
|
+
expect(@voltage_current_calculation.current(raw_analog_reading,
|
118
|
+
voltage_current_ratio_for_current_measurement: voltage_current_ratio_for_current_measurement)).to be_within(BigDecimal("0.1")).of(BigDecimal("2.7"))
|
119
|
+
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'voltage_measurement'
|
3
2
|
require 'bigdecimal'
|
4
3
|
|
5
4
|
describe "Voltage measurement with voltage divider of 11:1, e.g. 51[kΩ] and 5.1[kΩ]", analog_input: true do
|
@@ -28,10 +27,13 @@ describe "Voltage measurement with voltage divider of 11:1, e.g. 51[kΩ] and 5.1
|
|
28
27
|
it "should calculate the measuring voltage" do
|
29
28
|
|
30
29
|
pin_key = "P9_40"
|
30
|
+
higher_side_resistor_resistance = BigDecimal("51000") # [Ω]
|
31
|
+
lower_side_resistor_resistance = BigDecimal("5100") # [Ω]
|
32
|
+
|
31
33
|
expected_voltage = BigDecimal("20").to_f
|
32
34
|
expected_raw_value = (BigDecimal(expected_voltage.to_s) / BigDecimal("11")).to_f
|
33
35
|
|
34
|
-
voltage_input = VoltageMeasurement::VoltageInput.new(pin_key)
|
36
|
+
voltage_input = ObjectOrientedBeagleboneBlackExamples::VoltageMeasurement::VoltageInput.new(pin_key, higher_side_resistor_resistance: higher_side_resistor_resistance, lower_side_resistor_resistance: lower_side_resistor_resistance)
|
35
37
|
|
36
38
|
# Since the real "slots" file creates a directory structure when a device tree overlay is written to it,
|
37
39
|
# in the "test" environment with a regular file, it is mimiced here.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'bigdecimal'
|
4
|
+
|
5
|
+
describe "ObjectOrientedBeagleboneBlack::UartConnection" do
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
|
9
|
+
@slots_directory = OBJECT_ORIENTED_BEAGLEBONE_BLACK_CONFIG["slots_directory"]
|
10
|
+
|
11
|
+
# In order to run this spec example in the real environment, the directories and files that already exist there are not created in that case.
|
12
|
+
if ENV["OBJECT_ORIENTED_BEAGLEBONE_BLACK_ENV"] == 'test'
|
13
|
+
FileUtils.mkdir_p(@slots_directory, mode: 0700) unless Dir.exists?(@slots_directory)
|
14
|
+
FileUtils.touch(File.join(@slots_directory, "slots"))
|
15
|
+
File.chmod(0700, File.join(@slots_directory, "slots"))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
after(:each) do
|
20
|
+
if ENV["OBJECT_ORIENTED_BEAGLEBONE_BLACK_ENV"] == 'test'
|
21
|
+
File.open(File.join(@slots_directory, "slots"), 'w') {|file| file.truncate(0) }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should read the value through the specified UART connection" do
|
26
|
+
|
27
|
+
uart_id = "UART4"
|
28
|
+
|
29
|
+
uart_connection = ObjectOrientedBeagleboneBlack::UartConnection.new(uart_id)
|
30
|
+
|
31
|
+
# TODO: The following requires serial connection. Find a way to test it.
|
32
|
+
# uart_connection.read(serial_baud_rate: 9600, serial_data_bits: 8, serial_stop_bits: 1, communication_command: 's')
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should write the value through the specified UART connection" do
|
37
|
+
|
38
|
+
uart_id = "UART4"
|
39
|
+
|
40
|
+
uart_connection = ObjectOrientedBeagleboneBlack::UartConnection.new(uart_id)
|
41
|
+
|
42
|
+
# TODO: The following requires serial connection. Find a way to test it.
|
43
|
+
# uart_connection.write(serial_baud_rate: 9600, serial_data_bits: 8, serial_stop_bits: 1, communication_command: 'p127')
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ObjectOrientedBeagleboneBlack::UartMappings do
|
4
|
+
|
5
|
+
class TestUartMappingsClass
|
6
|
+
include ObjectOrientedBeagleboneBlack::UartMappings
|
7
|
+
end
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
@test_uart_mappings = TestUartMappingsClass.new
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should get Hash for UART4" do
|
14
|
+
|
15
|
+
expect(@test_uart_mappings.property_hash(id: "UART4")).to eq({"teletype_device_path" => "/dev/ttyO4",
|
16
|
+
"devicetree" => "BB-UART4",
|
17
|
+
"rx" => "P9_11",
|
18
|
+
"tx" => "P9_13"})
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
ENV["OBJECT_ORIENTED_BEAGLEBONE_BLACK_ENV"] ||= 'test'
|
2
2
|
|
3
3
|
require 'object_oriented_beaglebone_black'
|
4
|
+
require 'object_oriented_beaglebone_black_examples'
|
4
5
|
|
5
6
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
6
7
|
# in spec/support/ and its subdirectories.
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: object_oriented_beaglebone_black
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tadatoshi Takahashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: serialport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,12 +88,18 @@ files:
|
|
74
88
|
- config/i2c.json
|
75
89
|
- config/pin_index.json
|
76
90
|
- config/uarts.json
|
77
|
-
- examples/
|
78
|
-
- examples/
|
79
|
-
- examples/
|
80
|
-
- examples/
|
81
|
-
- examples/
|
82
|
-
- examples/
|
91
|
+
- examples/arduino/arduino_sketches/DcDcConverterManagement/DcDcConverterManagement.ino
|
92
|
+
- examples/arduino/arduino_sketches/VoltageMeasurement/VoltageMeasurement.ino
|
93
|
+
- examples/object_oriented_beaglebone_black_examples.rb
|
94
|
+
- examples/object_oriented_beaglebone_black_examples/current_measurement.rb
|
95
|
+
- examples/object_oriented_beaglebone_black_examples/current_measurement/current_input.rb
|
96
|
+
- examples/object_oriented_beaglebone_black_examples/dc_dc_converter_control_example_1.rb
|
97
|
+
- examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino.rb
|
98
|
+
- examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output.rb
|
99
|
+
- examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input.rb
|
100
|
+
- examples/object_oriented_beaglebone_black_examples/voltage_current_calculation.rb
|
101
|
+
- examples/object_oriented_beaglebone_black_examples/voltage_measurement.rb
|
102
|
+
- examples/object_oriented_beaglebone_black_examples/voltage_measurement/voltage_input.rb
|
83
103
|
- lib/object_oriented_beaglebone_black.rb
|
84
104
|
- lib/object_oriented_beaglebone_black/analog_input.rb
|
85
105
|
- lib/object_oriented_beaglebone_black/gpio.rb
|
@@ -89,15 +109,22 @@ files:
|
|
89
109
|
- lib/object_oriented_beaglebone_black/led.rb
|
90
110
|
- lib/object_oriented_beaglebone_black/pin_mappings.rb
|
91
111
|
- lib/object_oriented_beaglebone_black/pwm.rb
|
112
|
+
- lib/object_oriented_beaglebone_black/uart_connection.rb
|
113
|
+
- lib/object_oriented_beaglebone_black/uart_mappings.rb
|
92
114
|
- lib/object_oriented_beaglebone_black/version.rb
|
93
115
|
- object_orieted_beaglebone_black.gemspec
|
94
|
-
- spec/examples/current_measurement/current_input_spec.rb
|
95
|
-
- spec/examples/
|
116
|
+
- spec/examples/object_oriented_beaglebone_black_examples/current_measurement/current_input_spec.rb
|
117
|
+
- spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output_spec.rb
|
118
|
+
- spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input_spec.rb
|
119
|
+
- spec/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation_spec.rb
|
120
|
+
- spec/examples/object_oriented_beaglebone_black_examples/voltage_measurement/voltage_input_spec.rb
|
96
121
|
- spec/object_oriented_beaglebone_black/analog_input_spec.rb
|
97
122
|
- spec/object_oriented_beaglebone_black/gpio_spec.rb
|
98
123
|
- spec/object_oriented_beaglebone_black/led_spec.rb
|
99
124
|
- spec/object_oriented_beaglebone_black/pin_mappings_spec.rb
|
100
125
|
- spec/object_oriented_beaglebone_black/pwm_spec.rb
|
126
|
+
- spec/object_oriented_beaglebone_black/uart_connection_spec.rb
|
127
|
+
- spec/object_oriented_beaglebone_black/uart_mappings_spec.rb
|
101
128
|
- spec/spec_helper.rb
|
102
129
|
- spec/support/analog_input_file_behavoir_helper.rb
|
103
130
|
- spec/support/gpio_file_behavior_helper.rb
|
@@ -128,13 +155,18 @@ signing_key:
|
|
128
155
|
specification_version: 4
|
129
156
|
summary: For using BeagleBone Black in Object-Oriented way through Ruby.
|
130
157
|
test_files:
|
131
|
-
- spec/examples/current_measurement/current_input_spec.rb
|
132
|
-
- spec/examples/
|
158
|
+
- spec/examples/object_oriented_beaglebone_black_examples/current_measurement/current_input_spec.rb
|
159
|
+
- spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output_spec.rb
|
160
|
+
- spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input_spec.rb
|
161
|
+
- spec/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation_spec.rb
|
162
|
+
- spec/examples/object_oriented_beaglebone_black_examples/voltage_measurement/voltage_input_spec.rb
|
133
163
|
- spec/object_oriented_beaglebone_black/analog_input_spec.rb
|
134
164
|
- spec/object_oriented_beaglebone_black/gpio_spec.rb
|
135
165
|
- spec/object_oriented_beaglebone_black/led_spec.rb
|
136
166
|
- spec/object_oriented_beaglebone_black/pin_mappings_spec.rb
|
137
167
|
- spec/object_oriented_beaglebone_black/pwm_spec.rb
|
168
|
+
- spec/object_oriented_beaglebone_black/uart_connection_spec.rb
|
169
|
+
- spec/object_oriented_beaglebone_black/uart_mappings_spec.rb
|
138
170
|
- spec/spec_helper.rb
|
139
171
|
- spec/support/analog_input_file_behavoir_helper.rb
|
140
172
|
- spec/support/gpio_file_behavior_helper.rb
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'bigdecimal'
|
2
|
-
|
3
|
-
module CurrentMeasurement
|
4
|
-
class CurrentInput
|
5
|
-
|
6
|
-
def initialize(pin_key)
|
7
|
-
@analog_input = ObjectOrientedBeagleboneBlack::AnalogInput.new(pin_key)
|
8
|
-
end
|
9
|
-
|
10
|
-
def value
|
11
|
-
# Conversion for ACS712 Breakout. If a different current measurement device is used, extract this code to subclass and make this class parent class.
|
12
|
-
(@analog_input.raw_value / BigDecimal("0.185")).to_f
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
require 'bigdecimal'
|
2
|
-
|
3
|
-
module VoltageMeasurement
|
4
|
-
class VoltageInput
|
5
|
-
|
6
|
-
def initialize(pin_key)
|
7
|
-
@analog_input = ObjectOrientedBeagleboneBlack::AnalogInput.new(pin_key)
|
8
|
-
end
|
9
|
-
|
10
|
-
def value
|
11
|
-
# For voltage divider 11:1, e.g. 51[kΩ] and 5.1[kΩ]. If another voltage divider is added, extract this code to subclass and make this class parent class.
|
12
|
-
(@analog_input.raw_value * BigDecimal("11")).to_f
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
16
|
-
end
|