Skip to content

Commit a27cecf

Browse files
move range params to methods
1 parent df1aaf1 commit a27cecf

File tree

4 files changed

+38
-37
lines changed

4 files changed

+38
-37
lines changed

MultiPlexer_ADS1115/MultiPlexer_ADS1115.cpp

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@
55
#include "MultiPlexer_ADS1115.h"
66

77
MultiPlexer_ADS1115::MultiPlexer_ADS1115(
8-
int16_t max_voltage,
9-
int16_t range_min,
10-
int16_t range_max,
118
int i2c_addr,
129
ADS1115_RANGE voltage_range
1310
) {
14-
_maxVoltage = max_voltage;
15-
_rangeMin = range_min;
16-
_rangeMax = range_max;
1711
_i2cAddress = i2c_addr;
1812
_voltageRange = voltage_range;
1913

@@ -41,37 +35,37 @@ void MultiPlexer_ADS1115::begin() {
4135
void MultiPlexer_ADS1115::loop() {
4236
}
4337

44-
int16_t MultiPlexer_ADS1115::readChannel(ADS1115_MUX channel) {
38+
int16_t MultiPlexer_ADS1115::readChannel(ADS1115_MUX channel, int16_t max_voltage, int16_t range_min, int16_t range_max) {
4539
_adc->setCompareChannels(channel);
4640
_adc->startSingleMeasurement();
4741

4842
while (_adc->isBusy()) {}
4943

50-
return _adc->getResultWithRange(_rangeMin, _rangeMax, _maxVoltage);
44+
return _adc->getResultWithRange(range_min, range_max, max_voltage);
5145
}
5246

53-
int16_t MultiPlexer_ADS1115::readChannel0() {
54-
return readChannel(ADS1115_COMP_0_GND);
47+
int16_t MultiPlexer_ADS1115::readChannel0(int16_t max_voltage, int16_t range_min, int16_t range_max) {
48+
return readChannel(ADS1115_COMP_0_GND, max_voltage, range_min, range_max);
5549
}
5650

57-
int16_t MultiPlexer_ADS1115::readChannel1() {
58-
return readChannel(ADS1115_COMP_1_GND);
51+
int16_t MultiPlexer_ADS1115::readChannel1(int16_t max_voltage, int16_t range_min, int16_t range_max) {
52+
return readChannel(ADS1115_COMP_1_GND, max_voltage, range_min, range_max);
5953
}
6054

61-
int16_t MultiPlexer_ADS1115::readChannel2() {
62-
return readChannel(ADS1115_COMP_2_GND);
55+
int16_t MultiPlexer_ADS1115::readChannel2(int16_t max_voltage, int16_t range_min, int16_t range_max) {
56+
return readChannel(ADS1115_COMP_2_GND, max_voltage, range_min, range_max);
6357
}
6458

65-
int16_t MultiPlexer_ADS1115::readChannel3() {
66-
return readChannel(ADS1115_COMP_3_GND);
59+
int16_t MultiPlexer_ADS1115::readChannel3(int16_t max_voltage, int16_t range_min, int16_t range_max) {
60+
return readChannel(ADS1115_COMP_3_GND, max_voltage, range_min, range_max);
6761
}
6862

69-
ADS1115Result MultiPlexer_ADS1115::readAll() {
63+
ADS1115Result MultiPlexer_ADS1115::readAll(int16_t max_voltage, int16_t range_min, int16_t range_max) {
7064
ADS1115Result result;
71-
result.channel0 = readChannel0();
72-
result.channel1 = readChannel1();
73-
result.channel2 = readChannel2();
74-
result.channel3 = readChannel3();
65+
result.channel0 = readChannel0(max_voltage, range_min, range_max);
66+
result.channel1 = readChannel1(max_voltage, range_min, range_max);
67+
result.channel2 = readChannel2(max_voltage, range_min, range_max);
68+
result.channel3 = readChannel3(max_voltage, range_min, range_max);
7569

7670
return result;
7771
}

MultiPlexer_ADS1115/MultiPlexer_ADS1115.h

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,20 @@ class MultiPlexer_ADS1115
1919
{
2020
public:
2121
MultiPlexer_ADS1115(
22-
int16_t max_voltage,
23-
int16_t range_min = 0,
24-
int16_t range_max = 127,
2522
int i2c_addr = 0x48,
2623
ADS1115_RANGE voltage_range = ADS1115_RANGE_6144
2724
);
2825
void loop();
2926
void begin();
30-
ADS1115Result readAll();
31-
int16_t readChannel(ADS1115_MUX channel);
32-
int16_t readChannel0();
33-
int16_t readChannel1();
34-
int16_t readChannel2();
35-
int16_t readChannel3();
27+
ADS1115Result readAll(int16_t max_voltage, int16_t range_min, int16_t range_max);
28+
int16_t readChannel(ADS1115_MUX channel, int16_t max_voltage, int16_t range_min, int16_t range_max);
29+
int16_t readChannel0(int16_t max_voltage, int16_t range_min, int16_t range_max);
30+
int16_t readChannel1(int16_t max_voltage, int16_t range_min, int16_t range_max);
31+
int16_t readChannel2(int16_t max_voltage, int16_t range_min, int16_t range_max);
32+
int16_t readChannel3(int16_t max_voltage, int16_t range_min, int16_t range_max);
3633

3734
private:
3835
int _i2cAddress;
39-
int16_t _maxVoltage;
40-
int16_t _rangeMin;
41-
int16_t _rangeMax;
4236
ADS1115_WE* _adc;
4337
ADS1115_RANGE _voltageRange;
4438
};

Potentiometer_ADS1115/Potentiometer_ADS1115.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,16 @@
66

77
Potentiometer_ADS1115::Potentiometer_ADS1115(
88
int channel,
9+
int16_t max_voltage,
10+
int16_t range_min,
11+
int16_t range_max,
912
MultiPlexer_ADS1115* adc,
1013
Method callback
1114
) {
1215
_channel = channel;
16+
_maxVoltage = max_voltage;
17+
_rangeMin = range_min;
18+
_rangeMax = range_max;
1319
_adc = adc;
1420
_callback = callback;
1521
}
@@ -23,13 +29,13 @@ void Potentiometer_ADS1115::loop() {
2329

2430
void Potentiometer_ADS1115::read() {
2531
if (_channel == 0) {
26-
_val = _adc->readChannel0();
32+
_val = _adc->readChannel0(_maxVoltage, _rangeMin, _rangeMax);
2733
} else if (_channel == 1) {
28-
_val = _adc->readChannel1();
34+
_val = _adc->readChannel1(_maxVoltage, _rangeMin, _rangeMax);
2935
} else if (_channel == 2) {
30-
_val = _adc->readChannel2();
36+
_val = _adc->readChannel2(_maxVoltage, _rangeMin, _rangeMax);
3137
} else if (_channel == 3) {
32-
_val = _adc->readChannel3();
38+
_val = _adc->readChannel3(_maxVoltage, _rangeMin, _rangeMax);
3339
}
3440
if (_val != _prev) {
3541
_prev = _val;

Potentiometer_ADS1115/Potentiometer_ADS1115.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ class Potentiometer_ADS1115
1313
public:
1414
Potentiometer_ADS1115(
1515
int channel,
16+
int16_t max_voltage,
17+
int16_t range_min,
18+
int16_t range_max,
1619
MultiPlexer_ADS1115* adc,
1720
Method callback
1821
);
@@ -24,6 +27,10 @@ class Potentiometer_ADS1115
2427
int _channel;
2528
int16_t _val;
2629
int16_t _prev;
30+
int16_t _rangeMin;
31+
int16_t _rangeMax;
32+
int16_t _maxVoltage;
33+
2734
Method _callback;
2835
MultiPlexer_ADS1115* _adc;
2936
};

0 commit comments

Comments
 (0)