Better sensors (#154)
* globally expose repeat functionality as advanced function * implement repeated sends for Arduino based boards * use String class instead of C-style arrays to benefit from dynamic allocation and avoid buffer overflows. Try to improve stability of BME280. * replace sprintf with String class to avoid buffer overruns by dynamic allocation * fix caps on variable * re-add TSL2561 code that was accidentally removed
This commit is contained in:
1 parent
3613d011c6
commit
ea1711b7f0
6 files changed
+35
-59
No files matched your search
+14
-26
@@ -70,7 +70,7 @@ void setupZsensorBME280()
|
||||
// 5, 1000ms
|
||||
// 6, 10ms
|
||||
// 7, 20ms
|
||||
mySensor.settings.tStandby = 0;
|
||||
mySensor.settings.tStandby = 1;
|
||||
|
||||
// Filter can be off or number of FIR coefficients - Values:
|
||||
// ---------------------------------------------------------
|
||||
@@ -79,7 +79,7 @@ void setupZsensorBME280()
|
||||
// 2, coefficients = 4
|
||||
// 3, coefficients = 8
|
||||
// 4, coefficients = 16
|
||||
mySensor.settings.filter = 0;
|
||||
mySensor.settings.filter = 4;
|
||||
|
||||
// tempOverSample - Values:
|
||||
// ------------------------
|
||||
@@ -129,66 +129,54 @@ void MeasureTempHumAndPressure()
|
||||
}else{
|
||||
// Generate Temperature in degrees C
|
||||
if(BmeTempC != persisted_bme_tempc || bme280_always){
|
||||
char bmetempc[7];
|
||||
dtostrf(BmeTempC,4,2,bmetempc);
|
||||
trc(F("Sending Degrees C to MQTT"));
|
||||
trc(String(bmetempc));
|
||||
client.publish(TEMPBMEC,bmetempc);
|
||||
trc(String(BmeTempC));
|
||||
client.publish(TEMPBMEC, String(BmeTempC).c_str());
|
||||
}else{
|
||||
trc(F("Same Degrees C don't send it"));
|
||||
}
|
||||
|
||||
// Generate Temperature in degrees F
|
||||
if(BmeTempF != persisted_bme_tempf || bme280_always){
|
||||
char bmetempf[7];
|
||||
dtostrf(BmeTempF,4,2,bmetempf);
|
||||
trc(F("Sending Degrees F to MQTT"));
|
||||
trc(String(bmetempf));
|
||||
client.publish(TEMPBMEF,bmetempf);
|
||||
trc(String(BmeTempF));
|
||||
client.publish(TEMPBMEF,String(BmeTempF).c_str());
|
||||
}else{
|
||||
trc(F("Same Degrees F don't send it"));
|
||||
}
|
||||
|
||||
// Generate Humidity in percent
|
||||
if(BmeHum != persisted_bme_hum || bme280_always){
|
||||
char bmehum[7];
|
||||
dtostrf(BmeHum,4,2,bmehum);
|
||||
trc(F("Sending Humidity to MQTT"));
|
||||
trc(String(bmehum));
|
||||
client.publish(HUMBME,bmehum);
|
||||
trc(String(BmeHum));
|
||||
client.publish(HUMBME, String(BmeHum).c_str());
|
||||
}else{
|
||||
trc(F("Same Humidity don't send it"));
|
||||
}
|
||||
|
||||
// Generate Pressure in Pa
|
||||
if(BmePa != persisted_bme_pa || bme280_always){
|
||||
char bmepa[7];
|
||||
dtostrf(BmePa,4,2,bmepa);
|
||||
trc(F("Sending Pressure to MQTT"));
|
||||
trc(String(bmepa));
|
||||
client.publish(PRESSBME,bmepa);
|
||||
trc(String(BmePa));
|
||||
client.publish(PRESSBME, String(BmePa).c_str());
|
||||
}else{
|
||||
trc(F("Same Pressure don't send it"));
|
||||
}
|
||||
|
||||
// Generate Altitude in Meter
|
||||
if(BmeAltiM != persisted_bme_altim || bme280_always){
|
||||
char bmealtim[7];
|
||||
dtostrf(BmeAltiM,4,2,bmealtim);
|
||||
trc(F("Sending Altitude Meter to MQTT"));
|
||||
trc(String(bmealtim));
|
||||
client.publish(ALTIBMEM,bmealtim);
|
||||
trc(String(BmeAltiM));
|
||||
client.publish(ALTIBMEM, String(BmeAltiM).c_str());
|
||||
}else{
|
||||
trc(F("Same Altitude Meter don't send it"));
|
||||
}
|
||||
|
||||
// Generate Altitude in Feet
|
||||
if(BmeAltiFt != persisted_bme_altift || bme280_always){
|
||||
char bmealtift[7];
|
||||
dtostrf(BmeAltiFt,4,2,bmealtift);
|
||||
trc(F("Sending Altitude Feet to MQTT"));
|
||||
trc(String(bmealtift));
|
||||
client.publish(ALTIBMEFT,bmealtift);
|
||||
trc(String(BmeAltiFt));
|
||||
client.publish(ALTIBMEFT, String(BmeAltiFt).c_str());
|
||||
}else{
|
||||
trc(F("Same Altitude Feet don't send it"));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user