Skip to content

Commit c39e7a7

Browse files
Added support for PPM Sensors
1 parent 4ab0af1 commit c39e7a7

File tree

5 files changed

+26
-0
lines changed

5 files changed

+26
-0
lines changed

src/controller/Bridge.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,8 @@ void configureExpansionPort(int portNumber, JsonObject& portConfig) {
568568
calc = new SensorCalculationDirectOhm(portNumber);
569569
else if (portConfig["s"]["cf"] == "DIRECT_KOHM")
570570
calc = new SensorCalculationDirectKOhm(portNumber);
571+
else if (portConfig["s"]["cf"] == "DIRECT_PPM")
572+
calc = new SensorCalculationDirectPPM(portNumber);
571573
else if (portConfig["s"]["cf"] == "DIRECT_NONE")
572574
calc = new SensorCalculationDirectNone(portNumber);
573575
else if (portConfig["s"]["cf"] == "CALC_METER")
@@ -671,6 +673,8 @@ void configurePort(int portNumber, JsonObject& portConfig) {
671673
calc = new SensorCalculationDirectOhm(portNumber);
672674
else if (portConfig["s"]["cf"] == "DIRECT_KOHM")
673675
calc = new SensorCalculationDirectKOhm(portNumber);
676+
else if (portConfig["s"]["cf"] == "DIRECT_PPM")
677+
calc = new SensorCalculationDirectPPM(portNumber);
674678
else if (portConfig["s"]["cf"] == "DIRECT_NONE")
675679
calc = new SensorCalculationDirectNone(portNumber);
676680
else if (portConfig["s"]["cf"] == "CALC_METER")

src/input/SensorCalculation.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ SensorCalculationDirectKOhm::SensorCalculationDirectKOhm(int portNumber)
9090
_portNumber = portNumber;
9191
}
9292

93+
SensorCalculationDirectPPM::SensorCalculationDirectPPM(int portNumber)
94+
{
95+
_portNumber = portNumber;
96+
}
97+
9398
SensorCalculationDirectNone::SensorCalculationDirectNone(int portNumber)
9499
{
95100
_portNumber = portNumber;
@@ -241,6 +246,15 @@ Data* SensorCalculationDirectKOhm::calculate(long id, String name, String shortN
241246
return new Data (id, rawValue, "KOHM");
242247
}
243248

249+
Data* SensorCalculationDirectPPM::calculate(long id, String name, String shortName, float rawValue, bool postData)
250+
{
251+
if(display!=NULL && _portNumber>=0)
252+
display->drawValue(_portNumber, name, shortName, rawValue, "ppm");
253+
if(!postData)
254+
return NULL;
255+
return new Data (id, rawValue, "PPM");
256+
}
257+
244258
Data* SensorCalculationDirectNone::calculate(long id, String name, String shortName, float rawValue, bool postData)
245259
{
246260
if(display!=NULL && _portNumber>=0)

src/input/SensorCalculation.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ class SensorCalculationDirectKOhm : public SensorCalculation {
115115
Data* calculate(long, String, String, float, bool);
116116
};
117117

118+
class SensorCalculationDirectPPM : public SensorCalculation {
119+
public:
120+
SensorCalculationDirectPPM(int);
121+
Data* calculate(long, String, String, float, bool);
122+
};
123+
118124
class SensorCalculationCalcAltitude : public SensorCalculation {
119125
public:
120126
SensorCalculationCalcAltitude(int);

src/output/display/DisplayOLED128.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
SOURCE: https://github.com/sensate-io/firmware-esp8266.git
1212
1313
@section HISTORY
14+
v30 - Added Support for SSD1306 Displays
1415
v29 - First Public Release
1516
*/
1617
/**************************************************************************/

src/output/display/DisplayOLED128.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
SOURCE: https://github.com/sensate-io/firmware-esp8266.git
1212
1313
@section HISTORY
14+
v30 - Added Support for SSD1306 Displays
1415
v29 - First Public Release
1516
*/
1617
/**************************************************************************/

0 commit comments

Comments
 (0)