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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/examples/arduino/arduino_sketches/DcDcConverterManagement/DcDcConverterManagement.ino +100 -0
  4. data/examples/arduino/arduino_sketches/VoltageMeasurement/VoltageMeasurement.ino +78 -0
  5. data/examples/object_oriented_beaglebone_black_examples/current_measurement/current_input.rb +30 -0
  6. data/examples/object_oriented_beaglebone_black_examples/current_measurement.rb +7 -0
  7. data/examples/object_oriented_beaglebone_black_examples/dc_dc_converter_control_example_1.rb +54 -0
  8. data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output.rb +30 -0
  9. data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input.rb +73 -0
  10. data/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino.rb +8 -0
  11. data/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation.rb +49 -0
  12. data/examples/object_oriented_beaglebone_black_examples/voltage_measurement/voltage_input.rb +26 -0
  13. data/examples/object_oriented_beaglebone_black_examples/voltage_measurement.rb +7 -0
  14. data/examples/object_oriented_beaglebone_black_examples.rb +10 -0
  15. data/lib/object_oriented_beaglebone_black/analog_input.rb +32 -4
  16. data/lib/object_oriented_beaglebone_black/pin_mappings.rb +3 -3
  17. data/lib/object_oriented_beaglebone_black/pwm.rb +68 -10
  18. data/lib/object_oriented_beaglebone_black/uart_connection.rb +95 -0
  19. data/lib/object_oriented_beaglebone_black/uart_mappings.rb +29 -0
  20. data/lib/object_oriented_beaglebone_black/version.rb +1 -1
  21. data/lib/object_oriented_beaglebone_black.rb +2 -0
  22. data/object_orieted_beaglebone_black.gemspec +3 -0
  23. data/spec/examples/{current_measurement → object_oriented_beaglebone_black_examples/current_measurement}/current_input_spec.rb +3 -2
  24. data/spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output_spec.rb +41 -0
  25. data/spec/examples/object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input_spec.rb +55 -0
  26. data/spec/examples/object_oriented_beaglebone_black_examples/voltage_current_calculation_spec.rb +126 -0
  27. data/spec/examples/{voltage_measurement → object_oriented_beaglebone_black_examples/voltage_measurement}/voltage_input_spec.rb +4 -2
  28. data/spec/object_oriented_beaglebone_black/uart_connection_spec.rb +47 -0
  29. data/spec/object_oriented_beaglebone_black/uart_mappings_spec.rb +22 -0
  30. data/spec/spec_helper.rb +1 -0
  31. metadata +44 -12
  32. data/examples/current_measurement/current_input.rb +0 -16
  33. data/examples/current_measurement/current_input_with_point04_shunt.rb +0 -12
  34. data/examples/current_measurement.rb +0 -8
  35. data/examples/voltage_measurement/voltage_input.rb +0 -16
  36. data/examples/voltage_measurement/voltage_input_with_100k_and_20k_voltage_divider.rb +0 -12
  37. data/examples/voltage_measurement.rb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0d50d4a5e405aaf4a8a2eb0cc753003898af3727
4
- data.tar.gz: 77570e9e927f7e0dba758f41fa49b92c31ea60a9
3
+ metadata.gz: 23dd492f02ed9599e354f09bc32122056d4b570d
4
+ data.tar.gz: 52af68d2197f4b880dc83a2b541531546b38d24b
5
5
  SHA512:
6
- metadata.gz: e89d8f813c455dfae761bf9d7a0631a732289b2187bb3256fd614e4c393ddeb69c7077918bbb2f7f8d78f5ada765847bd0623889fd8b2665091e08d977a859a0
7
- data.tar.gz: ee89313d3c4dfadbd391336e54ee09f8087bf040bf1efdcccdeb5f4f5a2623383a4c1955dceed970e646d5ad7b1c6d02542f412d48589d54c5ed2ee86bc974a8
6
+ metadata.gz: 5e19440fd68f62438dbcaca492524cedc1f5ca10dc3f018ceb22d66b9310e3668b47b4e8b4e01288afa0c87a902b48dd8e5c181eb07dca6c8bace62a578955d6
7
+ data.tar.gz: cc30fabdeb896be78abe143067145e90901258b0f766ed5d3053e799681251df8e575790b4512539916e11a52cb7388454be34e8b8270aa0e95643e5582dedd4
data/README.md CHANGED
@@ -86,6 +86,7 @@ Or install it yourself as:
86
86
 
87
87
  pin_key = "P9_40"
88
88
 
89
+ # This can take a few seconds:
89
90
  analog_input = ObjectOrientedBeagleboneBlack::AnalogInput.new(pin_key)
90
91
 
91
92
  analog_input.raw_value # Read the raw voltage value in the range of 0 and 1.8[V].
@@ -102,6 +103,7 @@ Or install it yourself as:
102
103
 
103
104
  pwm_pin_key = "P9_14"
104
105
 
106
+ # This can take several seconds:
105
107
  pwm = ObjectOrientedBeagleboneBlack::Pwm.new(pwm_pin_key)
106
108
 
107
109
  pwm.period = 1000 # Unit is [ns] (nano second)
@@ -0,0 +1,100 @@
1
+ /*
2
+ Sends the raw voltage and current to the serial port and receives raw PWM value from the serial port.
3
+
4
+ Created by Tadatoshi Takahashi
5
+ */
6
+
7
+ const int inputVoltageAnalogInputPin = 0;
8
+ const int inputCurrentAnalogInputPin = 1;
9
+ const int outputVoltageAnalogInputPin = 2;
10
+ const int outputCurrentAnalogInputPin = 3;
11
+ const int pwmDigitalPin = 8; // Just in case, selected a pin number different from the ones used for input pins.
12
+
13
+ void setup() {
14
+ pinMode(pwmDigitalPin, OUTPUT);
15
+ Serial.begin(9600, SERIAL_8N1); // send and receive at 9600 baud
16
+ }
17
+
18
+ void loop() {
19
+
20
+ // Serial.println("In loop");
21
+
22
+
23
+
24
+ // delay(1000);
25
+
26
+ }
27
+
28
+ void serialEvent() {
29
+
30
+ // Serial.println("Testing serialEvent method.");
31
+
32
+ while (Serial.available()) {
33
+
34
+ // Serial.println("In Serial.available()");
35
+
36
+ char command = Serial.read();
37
+
38
+ // Serial.print("command: ");
39
+ // Serial.println(command);
40
+
41
+ // 'm' for measure:
42
+ if (command == 'm') {
43
+
44
+ // Serial.println("if for m");
45
+
46
+ measureRawVoltageAndCurrent();
47
+
48
+ // 'p' for pwm (e.g. "p127": 127 out of between 0 and 255 gives 50% duty cycle):
49
+ } else if (command == 'p') {
50
+
51
+ // Serial.println("else if for p");
52
+
53
+ int dutyCycle = Serial.parseInt();
54
+ // Serial.print("duty cycle: ");
55
+ // Serial.println(dutyCycle);
56
+
57
+ setDutyCycle(pwmDigitalPin, dutyCycle);
58
+ // Serial.println("duty_cycle_set");
59
+
60
+ // 'o' for b'o'ost (set duty cycle for the second switch with the first one clsed = 255):
61
+ }
62
+
63
+ }
64
+
65
+ // delay(1000);
66
+
67
+ }
68
+
69
+ void measureRawVoltageAndCurrent() {
70
+
71
+ // Serial.println("in measureRawVoltageAndCurrent");
72
+
73
+ // In order to have analog steps between 0 and 4095:
74
+ analogReadResolution(12);
75
+
76
+ int rawReadingForInputVoltage = analogRead(inputVoltageAnalogInputPin);
77
+ int rawReadingForInputCurrent = analogRead(inputCurrentAnalogInputPin);
78
+ int rawReadingForOutputVoltage = analogRead(outputVoltageAnalogInputPin);
79
+ // int rawReadingForOutputCurrent = analogRead(outputCurrentAnalogInputPin);
80
+
81
+ Serial.print("{\"raw_reading_for_input_voltage\": ");
82
+ Serial.print(rawReadingForInputVoltage);
83
+ Serial.print(", \"raw_reading_for_input_current\": ");
84
+ Serial.print(rawReadingForInputCurrent);
85
+ Serial.print(", \"raw_reading_for_output_voltage\": ");
86
+ Serial.print(rawReadingForOutputVoltage);
87
+ // Serial.print(", \"raw_reading_for_output_current\": ");
88
+ // Serial.print(rawReadingForOutputCurrent);
89
+ Serial.println("}");
90
+
91
+ // delay(1000);
92
+
93
+ }
94
+
95
+ void setDutyCycle(int pwmPin, int dutyCycle) {
96
+ analogWrite(pwmDigitalPin, dutyCycle);
97
+
98
+ // delay(1000);
99
+ }
100
+
@@ -0,0 +1,78 @@
1
+ /*
2
+ Sends the raw voltage and current to the serial port.
3
+
4
+ Created by Tadatoshi Takahashi
5
+ */
6
+
7
+ const int inputVoltagePin = 0;
8
+ const int inputCurrentPin = 1;
9
+ const int outputVoltagePin = 2;
10
+ const int outputCurrentPin = 3;
11
+
12
+ void setup() {
13
+ Serial.begin(9600, SERIAL_8N1); // send and receive at 9600 baud
14
+ }
15
+
16
+ void loop() {
17
+
18
+ // Serial.println("In loop");
19
+
20
+
21
+
22
+ // delay(1000);
23
+
24
+ }
25
+
26
+ void serialEvent() {
27
+
28
+ // Serial.println("Testing serialEvent method.");
29
+
30
+ while (Serial.available()) {
31
+
32
+ // Serial.println("In Serial.available()");
33
+
34
+ char command = Serial.read();
35
+
36
+ // Serial.print("command: ");
37
+ // Serial.println(command);
38
+
39
+ // 'm' for measure:
40
+ if (command == 'm') {
41
+
42
+ // Serial.println("if for m");
43
+
44
+ measureRawVoltageAndCurrent();
45
+
46
+ }
47
+
48
+ }
49
+
50
+ // delay(1000);
51
+
52
+ }
53
+
54
+ void measureRawVoltageAndCurrent() {
55
+
56
+ // Serial.println("in measureRawVoltageAndCurrent");
57
+
58
+ // In order to have analog steps between 0 and 4095:
59
+ analogReadResolution(12);
60
+
61
+ int rawReadingForInputVoltage = analogRead(inputVoltagePin);
62
+ int rawReadingForInputCurrent = analogRead(inputCurrentPin);
63
+ int rawReadingForOutputVoltage = analogRead(outputVoltagePin);
64
+ // int rawReadingForOutputCurrent = analogRead(outputCurrentPin);
65
+
66
+ Serial.print("{\"raw_reading_for_input_voltage\": ");
67
+ Serial.print(rawReadingForInputVoltage);
68
+ Serial.print(", \"raw_reading_for_input_current\": ");
69
+ Serial.print(rawReadingForInputCurrent);
70
+ Serial.print(", \"raw_reading_for_output_voltage\": ");
71
+ Serial.print(rawReadingForOutputVoltage);
72
+ // Serial.print(", \"raw_reading_for_output_current\": ");
73
+ // Serial.print(rawReadingForOutputCurrent);
74
+ Serial.println("}");
75
+
76
+ // delay(1000);
77
+
78
+ }
@@ -0,0 +1,30 @@
1
+ require 'bigdecimal'
2
+
3
+ module ObjectOrientedBeagleboneBlackExamples
4
+ module CurrentMeasurement
5
+ class CurrentInput
6
+
7
+ def initialize(pin_key, resistance_for_current_measurement: nil, voltage_gain_for_current_measurement: BigDecimal("1.0"), voltage_current_ratio_for_current_measurement: nil)
8
+ @analog_input = ObjectOrientedBeagleboneBlack::AnalogInput.new(pin_key)
9
+
10
+ @voltage_current_calculation = VoltageCurrentCalculation.new
11
+
12
+ @resistance_for_current_measurement = resistance_for_current_measurement
13
+ @voltage_gain_for_current_measurement = voltage_gain_for_current_measurement
14
+ @voltage_current_ratio_for_current_measurement = voltage_current_ratio_for_current_measurement
15
+ end
16
+
17
+ def value
18
+ raw_analog_reading = BigDecimal(@analog_input.raw_value.to_s)
19
+
20
+ current_in_bigdecimal = @voltage_current_calculation.current(raw_analog_reading,
21
+ resistance_for_current_measurement: @resistance_for_current_measurement,
22
+ voltage_gain_for_current_measurement: @voltage_gain_for_current_measurement,
23
+ voltage_current_ratio_for_current_measurement: @voltage_current_ratio_for_current_measurement)
24
+
25
+ current_in_bigdecimal.to_f
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,7 @@
1
+ require 'object_oriented_beaglebone_black_examples/current_measurement/current_input'
2
+
3
+ module ObjectOrientedBeagleboneBlackExamples
4
+ module CurrentMeasurement
5
+ # Your code goes here...
6
+ end
7
+ end
@@ -0,0 +1,54 @@
1
+ require 'object_oriented_beaglebone_black_examples'
2
+ require 'bigdecimal'
3
+
4
+ uart_id = "UART4"
5
+
6
+ uart_connection = ObjectOrientedBeagleboneBlack::UartConnection.new(uart_id)
7
+
8
+ # The parameters for Arduino Due:
9
+ analog_steps = BigDecimal("4095")
10
+ reference_voltage = BigDecimal("3.3")
11
+
12
+ voltage_current_input = ObjectOrientedBeagleboneBlackExamples::UartConnectionToArduino::VoltageCurrentInput.new(uart_connection, analog_steps, reference_voltage)
13
+
14
+ voltage_current_input.measure
15
+
16
+ # higher_side_resistor_resistance: 100[kΩ], lower_side_resistor_resistance: 8.2[kΩ]
17
+ input_voltage = voltage_current_input.input_voltage(higher_side_resistor_resistance: BigDecimal("100000"), lower_side_resistor_resistance: BigDecimal("8200"))
18
+ # shunt resistance: 0.04[Ω]
19
+ input_current = voltage_current_input.input_current(resistance_for_current_measurement: BigDecimal("0.04"))
20
+ # higher_side_resistor_resistance: 100[kΩ], lower_side_resistor_resistance: 8.2[kΩ]
21
+ output_voltage = voltage_current_input.output_voltage(higher_side_resistor_resistance: BigDecimal("100000"), lower_side_resistor_resistance: BigDecimal("8200"))
22
+
23
+ puts "----- Before setting PWM -----"
24
+
25
+ puts "input_voltage: #{input_voltage}"
26
+ puts "input_current: #{input_current}"
27
+ puts "output_voltage: #{output_voltage}"
28
+
29
+ puts "output_voltage / input_voltage = #{(BigDecimal(output_voltage.to_s) / BigDecimal(input_voltage.to_s)).to_f}"
30
+
31
+ # The parameters for Arduino Due:
32
+ pwm_steps = BigDecimal("255")
33
+
34
+ pwm_output = ObjectOrientedBeagleboneBlackExamples::UartConnectionToArduino::PwmOutput.new(uart_connection, pwm_steps)
35
+
36
+ pwm_output.send(0.5)
37
+
38
+ voltage_current_input.measure
39
+
40
+ # higher_side_resistor_resistance: 100[kΩ], lower_side_resistor_resistance: 8.2[kΩ]
41
+ input_voltage = voltage_current_input.input_voltage(higher_side_resistor_resistance: BigDecimal("100000"), lower_side_resistor_resistance: BigDecimal("8200"))
42
+ # shunt resistance: 0.04[Ω]
43
+ input_current = voltage_current_input.input_current(resistance_for_current_measurement: BigDecimal("0.04"))
44
+ # higher_side_resistor_resistance: 100[kΩ], lower_side_resistor_resistance: 8.2[kΩ]
45
+ output_voltage = voltage_current_input.output_voltage(higher_side_resistor_resistance: BigDecimal("100000"), lower_side_resistor_resistance: BigDecimal("8200"))
46
+
47
+ puts "----- After setting PWM -----"
48
+
49
+ puts "input_voltage: #{input_voltage}"
50
+ puts "input_current: #{input_current}"
51
+ puts "output_voltage: #{output_voltage}"
52
+
53
+ puts "output_voltage / input_voltage = #{(BigDecimal(output_voltage.to_s) / BigDecimal(input_voltage.to_s)).to_f}"
54
+
@@ -0,0 +1,30 @@
1
+ require 'bigdecimal'
2
+
3
+ module ObjectOrientedBeagleboneBlackExamples
4
+ module UartConnectionToArduino
5
+ class PwmOutput
6
+
7
+ def initialize(uart_connection, pwm_steps)
8
+ @uart_connection = uart_connection
9
+
10
+ @pwm_steps = BigDecimal(pwm_steps.to_s)
11
+ end
12
+
13
+ def send(duty_cycle)
14
+
15
+ duty_cycle_in_bigdecimal = BigDecimal(duty_cycle.to_s)
16
+ raw_value = convert_duty_cycle(duty_cycle_in_bigdecimal)
17
+ communication_command = "p#{raw_value}"
18
+
19
+ @uart_connection.write(serial_baud_rate: 9600, serial_data_bits: 8, serial_stop_bits: 1, communication_command: communication_command)
20
+
21
+ end
22
+
23
+ private
24
+ def convert_duty_cycle(duty_cycle_in_bigdecimal)
25
+ (duty_cycle_in_bigdecimal * @pwm_steps).to_i
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,73 @@
1
+ require 'bigdecimal'
2
+ require 'json'
3
+
4
+ module ObjectOrientedBeagleboneBlackExamples
5
+ module UartConnectionToArduino
6
+ class VoltageCurrentInput
7
+
8
+ def initialize(uart_connection, analog_steps, reference_voltage)
9
+ @uart_connection = uart_connection
10
+ @voltage_current_calculation = VoltageCurrentCalculation.new(analog_steps, reference_voltage)
11
+ end
12
+
13
+ def measure
14
+
15
+ raw_data = @uart_connection.read(serial_baud_rate: 9600, serial_data_bits: 8, serial_stop_bits: 1, communication_command: 'm')
16
+
17
+ @raw_data_hash = JSON.parse(raw_data)
18
+
19
+ end
20
+
21
+ def input_voltage(higher_side_resistor_resistance: nil, lower_side_resistor_resistance: nil)
22
+
23
+ if @raw_data_hash.has_key?("raw_reading_for_input_voltage")
24
+ raw_reading_in_bigdecimal = BigDecimal(@raw_data_hash["raw_reading_for_input_voltage"].to_s)
25
+ voltage_in_bigdecimal = @voltage_current_calculation.voltage(raw_reading_in_bigdecimal,
26
+ higher_side_resistor_resistance: higher_side_resistor_resistance,
27
+ lower_side_resistor_resistance: lower_side_resistor_resistance)
28
+ voltage_in_bigdecimal.to_f
29
+ end
30
+
31
+ end
32
+
33
+ def input_current(resistance_for_current_measurement: nil, voltage_gain_for_current_measurement: BigDecimal("1.0"), voltage_current_ratio_for_current_measurement: nil)
34
+
35
+ if @raw_data_hash.has_key?("raw_reading_for_input_current")
36
+ raw_reading_in_bigdecimal = BigDecimal(@raw_data_hash["raw_reading_for_input_current"].to_s)
37
+ current_in_bigdecimal = @voltage_current_calculation.current(raw_reading_in_bigdecimal,
38
+ resistance_for_current_measurement: resistance_for_current_measurement,
39
+ voltage_gain_for_current_measurement: voltage_gain_for_current_measurement,
40
+ voltage_current_ratio_for_current_measurement: voltage_current_ratio_for_current_measurement)
41
+ current_in_bigdecimal.to_f
42
+ end
43
+
44
+ end
45
+
46
+ def output_voltage(higher_side_resistor_resistance: nil, lower_side_resistor_resistance: nil)
47
+
48
+ if @raw_data_hash.has_key?("raw_reading_for_output_voltage")
49
+ raw_reading_in_bigdecimal = BigDecimal(@raw_data_hash["raw_reading_for_output_voltage"].to_s)
50
+ voltage_in_bigdecimal = @voltage_current_calculation.voltage(raw_reading_in_bigdecimal,
51
+ higher_side_resistor_resistance: higher_side_resistor_resistance,
52
+ lower_side_resistor_resistance: lower_side_resistor_resistance)
53
+ voltage_in_bigdecimal.to_f
54
+ end
55
+
56
+ end
57
+
58
+ def output_current(resistance_for_current_measurement: nil, voltage_gain_for_current_measurement: BigDecimal("1.0"), voltage_current_ratio_for_current_measurement: nil)
59
+
60
+ if @raw_data_hash.has_key?("raw_reading_for_output_current")
61
+ raw_reading_in_bigdecimal = BigDecimal(@raw_data_hash["raw_reading_for_output_current"].to_s)
62
+ current_in_bigdecimal = @voltage_current_calculation.current(raw_reading_in_bigdecimal,
63
+ resistance_for_current_measurement: resistance_for_current_measurement,
64
+ voltage_gain_for_current_measurement: voltage_gain_for_current_measurement,
65
+ voltage_current_ratio_for_current_measurement: voltage_current_ratio_for_current_measurement)
66
+ current_in_bigdecimal.to_f
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,8 @@
1
+ require 'object_oriented_beaglebone_black_examples/uart_connection_to_arduino/voltage_current_input'
2
+ require 'object_oriented_beaglebone_black_examples/uart_connection_to_arduino/pwm_output'
3
+
4
+ module ObjectOrientedBeagleboneBlackExamples
5
+ module UartConnectionToArduino
6
+ # Your code goes here...
7
+ end
8
+ end
@@ -0,0 +1,49 @@
1
+ require "bigdecimal"
2
+
3
+ module ObjectOrientedBeagleboneBlackExamples
4
+ class VoltageCurrentCalculation
5
+
6
+ # The default value is for Analog Input pin of BeagleBone Black.
7
+ # Since Analog Input pin reading doesn't work when it's used with PWM,
8
+ # this class is created to accommodate the case where external analog digital converter is used.
9
+ # e.g. Analog input pin of Arduino.
10
+ def initialize(analog_steps = BigDecimal("1.8"), reference_voltage = BigDecimal("1.8"))
11
+ @analog_steps = analog_steps
12
+ @reference_voltage = reference_voltage
13
+ end
14
+
15
+ def voltage(raw_analog_reading, higher_side_resistor_resistance: nil, lower_side_resistor_resistance: nil)
16
+
17
+ (raw_analog_reading / resistor_factor(higher_side_resistor_resistance, lower_side_resistor_resistance)) * @reference_voltage
18
+
19
+ end
20
+
21
+ def current(raw_analog_reading, resistance_for_current_measurement: nil, voltage_gain_for_current_measurement: BigDecimal("1.0"), voltage_current_ratio_for_current_measurement: nil)
22
+
23
+ current = nil
24
+
25
+ voltage = voltage(raw_analog_reading)
26
+
27
+ if !resistance_for_current_measurement.nil? && voltage_current_ratio_for_current_measurement.nil? # The case where voltage accross shunt resistance is directly measured
28
+ voltage = voltage / voltage_gain_for_current_measurement
29
+ current = voltage / resistance_for_current_measurement
30
+ elsif resistance_for_current_measurement.nil? && !voltage_current_ratio_for_current_measurement.nil? # The case where current sensor circuit is used
31
+ current = voltage / voltage_current_ratio_for_current_measurement
32
+ end
33
+
34
+ current
35
+
36
+ end
37
+
38
+ def resistor_factor(higher_side_resistor_resistance, lower_side_resistor_resistance)
39
+
40
+ if higher_side_resistor_resistance.nil? && lower_side_resistor_resistance.nil?
41
+ @analog_steps
42
+ else
43
+ @analog_steps * (lower_side_resistor_resistance / (higher_side_resistor_resistance + lower_side_resistor_resistance))
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+ end