Skip to content

Commit

Permalink
Added support for PPM Sensors
Browse files Browse the repository at this point in the history
  • Loading branch information
Manuel-Sensate committed Jun 4, 2020
1 parent 4ab0af1 commit c39e7a7
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/controller/Bridge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,8 @@ void configureExpansionPort(int portNumber, JsonObject& portConfig) {
calc = new SensorCalculationDirectOhm(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_KOHM")
calc = new SensorCalculationDirectKOhm(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_PPM")
calc = new SensorCalculationDirectPPM(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_NONE")
calc = new SensorCalculationDirectNone(portNumber);
else if (portConfig["s"]["cf"] == "CALC_METER")
Expand Down Expand Up @@ -671,6 +673,8 @@ void configurePort(int portNumber, JsonObject& portConfig) {
calc = new SensorCalculationDirectOhm(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_KOHM")
calc = new SensorCalculationDirectKOhm(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_PPM")
calc = new SensorCalculationDirectPPM(portNumber);
else if (portConfig["s"]["cf"] == "DIRECT_NONE")
calc = new SensorCalculationDirectNone(portNumber);
else if (portConfig["s"]["cf"] == "CALC_METER")
Expand Down
14 changes: 14 additions & 0 deletions src/input/SensorCalculation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,11 @@ SensorCalculationDirectKOhm::SensorCalculationDirectKOhm(int portNumber)
_portNumber = portNumber;
}

SensorCalculationDirectPPM::SensorCalculationDirectPPM(int portNumber)
{
_portNumber = portNumber;
}

SensorCalculationDirectNone::SensorCalculationDirectNone(int portNumber)
{
_portNumber = portNumber;
Expand Down Expand Up @@ -241,6 +246,15 @@ Data* SensorCalculationDirectKOhm::calculate(long id, String name, String shortN
return new Data (id, rawValue, "KOHM");
}

Data* SensorCalculationDirectPPM::calculate(long id, String name, String shortName, float rawValue, bool postData)
{
if(display!=NULL && _portNumber>=0)
display->drawValue(_portNumber, name, shortName, rawValue, "ppm");
if(!postData)
return NULL;
return new Data (id, rawValue, "PPM");
}

Data* SensorCalculationDirectNone::calculate(long id, String name, String shortName, float rawValue, bool postData)
{
if(display!=NULL && _portNumber>=0)
Expand Down
6 changes: 6 additions & 0 deletions src/input/SensorCalculation.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@ class SensorCalculationDirectKOhm : public SensorCalculation {
Data* calculate(long, String, String, float, bool);
};

class SensorCalculationDirectPPM : public SensorCalculation {
public:
SensorCalculationDirectPPM(int);
Data* calculate(long, String, String, float, bool);
};

class SensorCalculationCalcAltitude : public SensorCalculation {
public:
SensorCalculationCalcAltitude(int);
Expand Down
1 change: 1 addition & 0 deletions src/output/display/DisplayOLED128.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
SOURCE: https://github.com/sensate-io/firmware-esp8266.git
@section HISTORY
v30 - Added Support for SSD1306 Displays
v29 - First Public Release
*/
/**************************************************************************/
Expand Down
1 change: 1 addition & 0 deletions src/output/display/DisplayOLED128.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
SOURCE: https://github.com/sensate-io/firmware-esp8266.git
@section HISTORY
v30 - Added Support for SSD1306 Displays
v29 - First Public Release
*/
/**************************************************************************/
Expand Down

0 comments on commit c39e7a7

Please sign in to comment.