Browse Source

sns: flash strings in description

pull/2516/head
Maxim Prokhorov 2 years ago
parent
commit
77b9cbcb36
16 changed files with 73 additions and 52 deletions
  1. +3
    -2
      code/espurna/sensors/BH1750Sensor.h
  2. +1
    -1
      code/espurna/sensors/DallasSensor.h
  3. +4
    -3
      code/espurna/sensors/DigitalSensor.h
  4. +4
    -3
      code/espurna/sensors/EmonADC121Sensor.h
  5. +2
    -1
      code/espurna/sensors/GeigerSensor.h
  6. +3
    -3
      code/espurna/sensors/MAX6675Sensor.h
  7. +6
    -5
      code/espurna/sensors/PM1006Sensor.h
  8. +3
    -2
      code/espurna/sensors/PMSX003Sensor.h
  9. +15
    -11
      code/espurna/sensors/SDS011Sensor.h
  10. +3
    -2
      code/espurna/sensors/SHT3XI2CSensor.h
  11. +3
    -2
      code/espurna/sensors/SI1145Sensor.h
  12. +3
    -2
      code/espurna/sensors/SI7021Sensor.h
  13. +7
    -6
      code/espurna/sensors/SM300D2Sensor.h
  14. +7
    -6
      code/espurna/sensors/SonarSensor.h
  15. +4
    -3
      code/espurna/sensors/T6613Sensor.h
  16. +5
    -0
      code/espurna/settings_helpers.h

+ 3
- 2
code/espurna/sensors/BH1750Sensor.h View File

@ -66,8 +66,9 @@ class BH1750Sensor : public I2CSensor<> {
// Descriptive name of the sensor
String description() const override {
char buffer[25];
snprintf(buffer, sizeof(buffer), "BH1750 @ I2C (0x%02X)", getAddress());
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("BH1750 @ I2C (0x%02X)"), getAddress());
return String(buffer);
}


+ 1
- 1
code/espurna/sensors/DallasSensor.h View File

@ -258,7 +258,7 @@ class DallasSensor : public BaseSensor {
char buffer[40];
if (index < _devices.size()) {
const auto& address = _devices[index].address;
snprintf(buffer, sizeof(buffer),
snprintf_P(buffer, sizeof(buffer),
PSTR("%s (%02X%02X%02X%02X%02X%02X%02X%02X) @ GPIO%hhu"),
chipAsString(index).c_str(),
address[0], address[1], address[2], address[3],


+ 4
- 3
code/espurna/sensors/DigitalSensor.h View File

@ -62,8 +62,9 @@ class DigitalSensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[20];
snprintf(buffer, sizeof(buffer), "DIGITAL @ GPIO%d", _gpio);
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("DIGITAL @ GPIO%hhu"), _gpio);
return String(buffer);
}
@ -74,7 +75,7 @@ class DigitalSensor : public BaseSensor {
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char) const override {
return String(_gpio);
return String(_gpio, 10);
}
// Type for slot # index


+ 4
- 3
code/espurna/sensors/EmonADC121Sensor.h View File

@ -98,7 +98,7 @@ public:
// Descriptive name of the sensor
String description() const override {
char buffer[30];
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("EMON @ ADC121 A0 @ I2C (0x%02X)"),
_port.address());
@ -106,8 +106,9 @@ public:
}
String address(unsigned char) const override {
char buffer[10];
snprintf(buffer, sizeof(buffer), "A0 @ 0x%02X", _port.address());
char buffer[16];
snprintf_P(buffer, sizeof(buffer),
PSTR("A0 @ 0x%02X"), _port.address());
return String(buffer);
}


+ 2
- 1
code/espurna/sensors/GeigerSensor.h View File

@ -93,7 +93,8 @@ void begin() override {
// Descriptive name of the sensor
String description() const override {
char buffer[20];
snprintf(buffer, sizeof(buffer), "Geiger @ GPIO%hhu", _pin.pin());
snprintf_P(buffer, sizeof(buffer),
PSTR("Geiger @ GPIO%hhu"), _pin.pin());
return String(buffer);
}


+ 3
- 3
code/espurna/sensors/MAX6675Sensor.h View File

@ -112,9 +112,9 @@ class MAX6675Sensor : public BaseSensor {
static constexpr auto ReadInterval = TimeSource::duration { 3000 };
TimeSource::time_point _last_reading = TimeSource::now();
unsigned int _pin_cs = MAX6675_CS_PIN;
unsigned int _pin_so = MAX6675_SO_PIN;
unsigned int _pin_sck = MAX6675_SCK_PIN;
unsigned char _pin_cs = MAX6675_CS_PIN;
unsigned char _pin_so = MAX6675_SO_PIN;
unsigned char _pin_sck = MAX6675_SCK_PIN;
bool _busy = false;
double _value = 0;
std::unique_ptr<MAX6675> _max;


+ 6
- 5
code/espurna/sensors/PM1006Sensor.h View File

@ -77,19 +77,20 @@ class PM1006Sensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[28];
if (_serial_is_hardware()) {
snprintf(buffer, sizeof(buffer), "PM1006 @ HwSerial");
} else {
snprintf(buffer, sizeof(buffer), "PM1006 @ SwSerial(%hhu,NULL)", _pin_rx);
return F("PM1006 @ HwSerial"));
}
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("PM1006 @ SwSerial(%hhu,NULL)"), _pin_rx);
return String(buffer);
}
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char index) const override {
char buffer[4];
snprintf(buffer, sizeof(buffer), "%hhu", _pin_rx);
snprintf_P(buffer, sizeof(buffer), PSTR("%hhu"), _pin_rx);
return String(buffer);
}


+ 3
- 2
code/espurna/sensors/PMSX003Sensor.h View File

@ -274,8 +274,9 @@ class PMSX003Sensor : public BaseSensor, PMSX003 {
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char index) const override {
char buffer[6];
snprintf(buffer, sizeof(buffer), "%hhu:%hhu", _pin_rx, _pin_tx);
char buffer[8];
snprintf_P(buffer, sizeof(buffer),
PSTR("%hhu:%hhu"), _pin_rx, _pin_tx);
return String(buffer);
}


+ 15
- 11
code/espurna/sensors/SDS011Sensor.h View File

@ -39,11 +39,11 @@ class SDS011Sensor : public BaseSensor {
// ---------------------------------------------------------------------
unsigned char getRX() {
unsigned char getRX() const {
return _pin_rx;
}
unsigned char getTX() {
unsigned char getTX() const {
return _pin_tx;
}
@ -64,9 +64,11 @@ class SDS011Sensor : public BaseSensor {
if (!_dirty) return;
if (_serial) delete _serial;
if (_serial) {
_serial.reset(nullptr);
}
_serial = new SoftwareSerial(_pin_rx, _pin_tx);
_serial = std::make_unique<SoftwareSerial>(_pin_rx, _pin_tx);
_serial->begin(9600);
_ready = true;
@ -75,15 +77,17 @@ class SDS011Sensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[28];
snprintf(buffer, sizeof(buffer), "SDS011 @ SwSerial(%u,%u)", _pin_rx, _pin_tx);
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("SDS011 @ SwSerial(%hhu,%hhu)"), _pin_rx, _pin_tx);
return String(buffer);
}
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char) const override {
char buffer[6];
snprintf(buffer, sizeof(buffer), "%u:%u", _pin_rx, _pin_tx);
char buffer[8];
snprintf_P(buffer, sizeof(buffer),
PSTR("%hhu:%hhu"), _pin_rx, _pin_tx);
return String(buffer);
}
@ -158,9 +162,9 @@ class SDS011Sensor : public BaseSensor {
double _p2dot5 = 0;
double _p10 = 0;
unsigned int _pin_rx;
unsigned int _pin_tx;
SoftwareSerial * _serial = NULL;
unsigned char _pin_rx;
unsigned char _pin_tx;
std::unique_ptr<SoftwareSerial> _serial;
};


+ 3
- 2
code/espurna/sensors/SHT3XI2CSensor.h View File

@ -51,8 +51,9 @@ class SHT3XI2CSensor : public I2CSensor<> {
// Descriptive name of the sensor
String description() const override {
char buffer[25];
snprintf(buffer, sizeof(buffer), "SHT3X @ I2C (0x%02X)", getAddress());
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("SHT3X @ I2C (0x%02X)"), getAddress());
return String(buffer);
}


+ 3
- 2
code/espurna/sensors/SI1145Sensor.h View File

@ -46,8 +46,9 @@ class SI1145Sensor : public I2CSensor<> {
// Descriptive name of the sensor
String description() const override {
char buffer[25];
snprintf(buffer, sizeof(buffer), "SI1145 @ I2C (0x%02X)", getAddress());
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("SI1145 @ I2C (0x%02X)"), getAddress());
return String(buffer);
}


+ 3
- 2
code/espurna/sensors/SI7021Sensor.h View File

@ -56,8 +56,9 @@ class SI7021Sensor : public I2CSensor<> {
si7021_chip_htu21d_name,
sizeof(name)
);
char buffer[25];
snprintf(buffer, sizeof(buffer), "%s @ I2C (0x%02X)", name, getAddress());
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("%s @ I2C (0x%02X)"), name, getAddress());
return String(buffer);
}


+ 7
- 6
code/espurna/sensors/SM300D2Sensor.h View File

@ -77,19 +77,20 @@ class SM300D2Sensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[28];
if (_serial_is_hardware()) {
snprintf(buffer, sizeof(buffer), "SM300D2 @ HwSerial");
} else {
snprintf(buffer, sizeof(buffer), "SM300D2 @ SwSerial(%hhu,NULL)", _pin_rx);
return F("SM300D2 @ HwSerial");
}
char buffer[28];
snprintf_P(buffer, sizeof(buffer),
PSTR("SM300D2 @ SwSerial(%hhu,NULL)"), _pin_rx);
return String(buffer);
}
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char index) const override {
char buffer[6];
snprintf(buffer, sizeof(buffer), "%hhu", _pin_rx);
char buffer[4];
snprintf_P(buffer, sizeof(buffer), PSTR("%hhu"), _pin_rx);
return String(buffer);
}


+ 7
- 6
code/espurna/sensors/SonarSensor.h View File

@ -42,19 +42,19 @@ class SonarSensor : public BaseSensor {
// ---------------------------------------------------------------------
unsigned char getEcho() {
unsigned char getEcho() const {
return _echo;
}
unsigned char getTrigger() {
unsigned char getTrigger() const {
return _trigger;
}
unsigned int getMaxDistance() {
unsigned int getMaxDistance() const {
return _max_distance;
}
unsigned int getIterations() {
unsigned int getIterations() const {
return _iterations;
}
@ -83,8 +83,9 @@ class SonarSensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[23];
snprintf(buffer, sizeof(buffer), "Sonar @ GPIO(%u, %u)", _trigger, _echo);
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("Sonar @ GPIO(%hhu, %hhu)"), _trigger, _echo);
return String(buffer);
}


+ 4
- 3
code/espurna/sensors/T6613Sensor.h View File

@ -81,8 +81,8 @@ class T6613Sensor : public BaseSensor {
// Descriptive name of the sensor
String description() const override {
char buffer[28];
snprintf(buffer, sizeof(buffer),
char buffer[32];
snprintf_P(buffer, sizeof(buffer),
PSTR("T6613 @ SwSerial(%hhu,%hhu)"),
_pin_rx, _pin_tx);
return String(buffer);
@ -91,7 +91,8 @@ class T6613Sensor : public BaseSensor {
// Address of the sensor (it could be the GPIO or I2C address)
String address(unsigned char index) const override {
char buffer[8];
snprintf(buffer, sizeof(buffer), "%hhu:%hhu", _pin_rx, _pin_tx);
snprintf_P(buffer, sizeof(buffer),
PSTR("%hhu:%hhu"), _pin_rx, _pin_tx);
return String(buffer);
}


+ 5
- 0
code/espurna/settings_helpers.h View File

@ -277,6 +277,11 @@ inline bool operator==(const StringView& lhs, const SettingsKey& rhs) {
return lhs.compareFlash(StringView{rhs.c_str(), rhs.length()});
}
inline String operator+(String&& lhs, StringView rhs) {
lhs.concat(rhs.c_str(), rhs.length());
return lhs;
}
#define STRING_VIEW(X) ({\
alignas(4) static constexpr char __pstr__[] PROGMEM = (X);\
::settings::StringView{__pstr__};\


Loading…
Cancel
Save