From 5056396440b97b53888bbc468a38a30ee68e605d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Jean=20Gu=C3=A9no?= Date: Tue, 2 Aug 2022 09:12:42 +0200 Subject: [PATCH 01/12] Sensirion SEN5X for D1 Mini --- airrohr-firmware/airrohr-cfg.h | 3 + airrohr-firmware/airrohr-cfg.h.py | 1 + airrohr-firmware/airrohr-firmware.ino | 396 ++++++++++++++++++++++++++ airrohr-firmware/ext_def.h | 7 + airrohr-firmware/html-content.h | 4 + airrohr-firmware/intl_fr.h | 3 + airrohr-firmware/platformio.ini | 14 + 7 files changed, 428 insertions(+) diff --git a/airrohr-firmware/airrohr-cfg.h b/airrohr-firmware/airrohr-cfg.h index 74806dad..ff7907fe 100644 --- a/airrohr-firmware/airrohr-cfg.h +++ b/airrohr-firmware/airrohr-cfg.h @@ -42,6 +42,7 @@ enum ConfigShapeId { Config_npm_read, Config_npm_fulltime, Config_ips_read, + Config_sen5x_read, Config_sps30_read, Config_bmp_read, Config_bmx280_read, @@ -114,6 +115,7 @@ static constexpr char CFG_KEY_HPM_READ[] PROGMEM = "hpm_read"; static constexpr char CFG_KEY_NPM_READ[] PROGMEM = "npm_read"; static constexpr char CFG_KEY_NPM_FULLTIME[] PROGMEM = "npm_fulltime"; static constexpr char CFG_KEY_IPS_READ[] PROGMEM = "ips_read"; +static constexpr char CFG_KEY_SEN5X_READ[] PROGMEM = "sen5x_read"; static constexpr char CFG_KEY_SPS30_READ[] PROGMEM = "sps30_read"; static constexpr char CFG_KEY_BMP_READ[] PROGMEM = "bmp_read"; static constexpr char CFG_KEY_BMX280_READ[] PROGMEM = "bmx280_read"; @@ -186,6 +188,7 @@ static constexpr ConfigShapeEntry configShape[] PROGMEM = { { Config_Type_Bool, 0, CFG_KEY_NPM_READ, &cfg::npm_read }, { Config_Type_Bool, 0, CFG_KEY_NPM_FULLTIME, &cfg::npm_fulltime }, { Config_Type_Bool, 0, CFG_KEY_IPS_READ, &cfg::ips_read }, + { Config_Type_Bool, 0, CFG_KEY_SEN5X_READ, &cfg::sen5x_read }, { Config_Type_Bool, 0, CFG_KEY_SPS30_READ, &cfg::sps30_read }, { Config_Type_Bool, 0, CFG_KEY_BMP_READ, &cfg::bmp_read }, { Config_Type_Bool, 0, CFG_KEY_BMX280_READ, &cfg::bmx280_read }, diff --git a/airrohr-firmware/airrohr-cfg.h.py b/airrohr-firmware/airrohr-cfg.h.py index e68e3b2b..a5afd39c 100755 --- a/airrohr-firmware/airrohr-cfg.h.py +++ b/airrohr-firmware/airrohr-cfg.h.py @@ -18,6 +18,7 @@ Bool npm_read Bool npm_fulltime Bool ips_read +Bool sen5x_read Bool sps30_read Bool bmp_read Bool bmx280_read diff --git a/airrohr-firmware/airrohr-firmware.ino b/airrohr-firmware/airrohr-firmware.ino index 0b915bff..c656e85c 100644 --- a/airrohr-firmware/airrohr-firmware.ino +++ b/airrohr-firmware/airrohr-firmware.ino @@ -108,10 +108,12 @@ String SOFTWARE_VERSION(SOFTWARE_VERSION_STR); #include #include #include +#include #include #include "./bmx280_i2c.h" #include "./sps30_i2c.h" #include "./dnms_i2c.h" +// #include "./SensirionI2CSen5x.h" #include "./intl.h" @@ -167,6 +169,7 @@ namespace cfg bool npm_read = NPM_READ; bool npm_fulltime = NPM_FULLTIME; bool ips_read = IPS_READ; + bool sen5x_read = SEN5X_READ; bool sps30_read = SPS30_READ; bool bmp_read = BMP_READ; bool bmx280_read = BMX280_READ; @@ -346,6 +349,11 @@ Adafruit_SHT31 sht3x; OneWire oneWire; DallasTemperature ds18b20(&oneWire); +/***************************************************************** + * SEN5X declaration * + *****************************************************************/ +SensirionI2CSen5x sen5x; + /***************************************************************** * SCD30 declaration * *****************************************************************/ @@ -552,6 +560,39 @@ unsigned long ips_pm5_min_pcs = 4000000000; unsigned long ips_pm10_max_pcs = 0; unsigned long ips_pm10_min_pcs = 4000000000; +float last_value_SEN5X_P0 = -1.0; +float last_value_SEN5X_P1 = -1.0; +float last_value_SEN5X_P2 = -1.0; +float last_value_SEN5X_P4 = -1.0; +float last_value_SEN5X_N05 = -1.0; +float last_value_SEN5X_N1 = -1.0; +float last_value_SEN5X_N25 = -1.0; +float last_value_SEN5X_N4 = -1.0; +float last_value_SEN5X_N10 = -1.0; +float last_value_SEN5X_TS = -1.0; +float last_value_SEN5X_T = -128.0; +float last_value_SEN5X_H = -1.0; +float last_value_SEN5X_VOC = -1.0; +float value_SEN5X_P0 = 0.0; +float value_SEN5X_P1 = 0.0; +float value_SEN5X_P2 = 0.0; +float value_SEN5X_P4 = 0.0; +float value_SEN5X_N05 = 0.0; +float value_SEN5X_N1 = 0.0; +float value_SEN5X_N25 = 0.0; +float value_SEN5X_N4 = 0.0; +float value_SEN5X_N10 = 0.0; +float value_SEN5X_TS = 0.0; +float value_SEN5X_T = 0.0; +float value_SEN5X_H = 0.0; +float value_SEN5X_VOC = 0.0; + +uint16_t SEN5X_measurement_count = 0; +unsigned long SEN5X_read_counter = 0; +unsigned long SEN5X_read_error_counter = 0; +unsigned long SEN5X_read_timer = 0; +bool sen5x_init_failed = false; + float last_value_SPS30_P0 = -1.0; float last_value_SPS30_P1 = -1.0; float last_value_SPS30_P2 = -1.0; @@ -1065,6 +1106,89 @@ static String IPS_version_date() return last_value_IPS_version; } + +/***************************************************************** + * read SEN5X sensor serial and firmware date * + *****************************************************************/ + + +unsigned char SEN5X_type[6]; + +#define MAXBUF_REQUIREMENT 48 + +#if (defined(I2C_BUFFER_LENGTH) && \ + (I2C_BUFFER_LENGTH >= MAXBUF_REQUIREMENT)) || \ + (defined(BUFFER_LENGTH) && BUFFER_LENGTH >= MAXBUF_REQUIREMENT) +#define USE_PRODUCT_INFO +#endif + +void printModuleVersions() { + uint16_t error; + char errorMessage[256]; + + unsigned char productName[32]; + uint8_t productNameSize = 32; + + error = sen5x.getProductName(productName, productNameSize); + + if (error) { + Debug.print("Error trying to execute getProductName(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + } else { + Debug.print("ProductName:"); + Debug.println((char*)productName); + memcpy(SEN5X_type, productName, 6); + //Debug.println((char*)SEN5X_type); + } + + uint8_t firmwareMajor; + uint8_t firmwareMinor; + bool firmwareDebug; + uint8_t hardwareMajor; + uint8_t hardwareMinor; + uint8_t protocolMajor; + uint8_t protocolMinor; + + error = sen5x.getVersion(firmwareMajor, firmwareMinor, firmwareDebug, + hardwareMajor, hardwareMinor, protocolMajor, + protocolMinor); + if (error) { + Debug.print("Error trying to execute getVersion(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + } else { + Debug.print("Firmware: "); + Debug.print(firmwareMajor); + Debug.print("."); + Debug.print(firmwareMinor); + Debug.print(", "); + + Debug.print("Hardware: "); + Debug.print(hardwareMajor); + Debug.print("."); + Debug.println(hardwareMinor); + } +} + +void printSerialNumber() { + uint16_t error; + char errorMessage[256]; + unsigned char serialNumber[32]; + uint8_t serialNumberSize = 32; + + error = sen5x.getSerialNumber(serialNumber, serialNumberSize); + if (error) { + Debug.print("Error trying to execute getSerialNumber(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + } else { + Debug.print("SerialNumber:"); + Debug.println((char*)serialNumber); + } +} + + /***************************************************************** * disable unneeded NMEA sentences, TinyGPS++ needs GGA, RMC * *****************************************************************/ @@ -1769,6 +1893,7 @@ static void webserver_config_send_body_get(String &page_content) add_form_checkbox_sensor(Config_npm_read, FPSTR(INTL_NPM)); add_form_checkbox_sensor(Config_npm_fulltime, FPSTR(INTL_NPM_FULLTIME)); add_form_checkbox_sensor(Config_ips_read, FPSTR(INTL_IPS)); + add_form_checkbox_sensor(Config_sen5x_read, FPSTR(INTL_SEN5X)); add_form_checkbox_sensor(Config_bmp_read, FPSTR(INTL_BMP180)); add_form_checkbox(Config_gps_read, FPSTR(INTL_NEO6M)); @@ -2155,6 +2280,42 @@ static void webserver_values() add_table_nc_value(FPSTR(SENSORS_IPS), FPSTR(WEB_NC10), last_value_IPS_N10); page_content += FPSTR(EMPTY_ROW); } + + if (cfg::sen5x_read) + { + + // Debug.println((char*)SEN5X_type); + // Debug.println(memcmp(SEN5X_type,"SEN50",6)); + + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + add_table_pm_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_PM1), last_value_SEN5X_P0); + add_table_pm_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_PM25), last_value_SEN5X_P2); + add_table_pm_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_PM4), last_value_SEN5X_P4); + add_table_pm_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_PM10), last_value_SEN5X_P1); + add_table_nc_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_NC0k5), last_value_SEN5X_N05); + add_table_nc_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_NC1k0), last_value_SEN5X_N1); + add_table_nc_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_NC2k5), last_value_SEN5X_N25); + add_table_nc_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_NC4k0), last_value_SEN5X_N4); + add_table_nc_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_NC10), last_value_SEN5X_N10); + add_table_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_TPS), check_display_value(last_value_SEN5X_TS, -1, 1, 0), "µm"); + add_table_t_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_TEMPERATURE), last_value_SEN5X_T); + add_table_h_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_HUMIDITY), last_value_SEN5X_H); + add_table_h_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_VOC), last_value_SEN5X_VOC); + page_content += FPSTR(EMPTY_ROW); + } + + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + + } + } + if (cfg::sps30_read) { add_table_pm_value(FPSTR(SENSORS_SPS30), FPSTR(WEB_PM1), last_value_SPS30_P0); @@ -2377,6 +2538,27 @@ static void webserver_status() { add_table_row_from_value(page_content, FPSTR(SENSORS_NPM), String(NPM_error_count)); } + if (cfg::ips_read) + { + add_table_row_from_value(page_content, FPSTR(SENSORS_IPS), String(IPS_error_count)); + } + if (cfg::sen5x_read) + { + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + add_table_row_from_value(page_content, FPSTR(SENSORS_SEN54), String(SEN5X_read_error_counter)); + } + + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + + } + } if (cfg::sps30_read) { add_table_row_from_value(page_content, FPSTR(SENSORS_SPS30), String(SPS30_read_error_counter)); @@ -4370,6 +4552,88 @@ static void fetchSensorIPS(String &s) debug_outln_verbose(FPSTR(DBG_TXT_END_READING), FPSTR(SENSORS_IPS)); } + + + +/***************************************************************** + read SEN5X PM sensor values + *****************************************************************/ +static void fetchSensorSEN5X(String &s) +{ + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_START_READING), FPSTR(SENSORS_SEN50)); + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_START_READING), FPSTR(SENSORS_SEN54)); + } + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_START_READING), FPSTR(SENSORS_SEN55)); + } + + + last_value_SEN5X_P0 = value_SEN5X_P0 / SEN5X_measurement_count; + last_value_SEN5X_P2 = value_SEN5X_P2 / SEN5X_measurement_count; + last_value_SEN5X_P4 = value_SEN5X_P4 / SEN5X_measurement_count; + last_value_SEN5X_P1 = value_SEN5X_P1 / SEN5X_measurement_count; + last_value_SEN5X_N05 = value_SEN5X_N05 / SEN5X_measurement_count; + last_value_SEN5X_N1 = value_SEN5X_N1 / SEN5X_measurement_count; + last_value_SEN5X_N25 = value_SEN5X_N25 / SEN5X_measurement_count; + last_value_SEN5X_N4 = value_SEN5X_N4 / SEN5X_measurement_count; + last_value_SEN5X_N10 = value_SEN5X_N10 / SEN5X_measurement_count; + last_value_SEN5X_TS = value_SEN5X_TS / SEN5X_measurement_count; + last_value_SEN5X_T = value_SEN5X_T / SEN5X_measurement_count; + last_value_SEN5X_H = value_SEN5X_H / SEN5X_measurement_count; + last_value_SEN5X_VOC = value_SEN5X_VOC / SEN5X_measurement_count; + + + add_Value2Json(s, F("SEN5X_P0"), F("PM1.0: "), last_value_SEN5X_P0); + add_Value2Json(s, F("SEN5X_P2"), F("PM2.5: "), last_value_SEN5X_P2); + add_Value2Json(s, F("SEN5X_P4"), F("PM4.0: "), last_value_SEN5X_P4); + add_Value2Json(s, F("SEN5X_P1"), F("PM 10: "), last_value_SEN5X_P1); + add_Value2Json(s, F("SEN5X_N05"), F("NC0.5: "), last_value_SEN5X_N05); + add_Value2Json(s, F("SEN5X_N1"), F("NC1.0: "), last_value_SEN5X_N1); + add_Value2Json(s, F("SEN5X_N25"), F("NC2.5: "), last_value_SEN5X_N25); + add_Value2Json(s, F("SEN5X_N4"), F("NC4.0: "), last_value_SEN5X_N4); + add_Value2Json(s, F("SEN5X_N10"), F("NC10: "), last_value_SEN5X_N10); + add_Value2Json(s, F("SEN5X_TS"), F("TPS: "), last_value_SEN5X_TS); + + add_Value2Json(s, F("SEN5X_temperature"), FPSTR(DBG_TXT_TEMPERATURE), last_value_SEN5X_T); + add_Value2Json(s, F("SEN5X_humidity"), FPSTR(DBG_TXT_HUMIDITY), last_value_SEN5X_H); + add_Value2Json(s, F("SEN5X_voc"), FPSTR(DBG_TXT_VOCINDEX), last_value_SEN5X_VOC); + + debug_outln_info(F("SEN5X read counter: "), String(SEN5X_read_counter)); + debug_outln_info(F("SEN5X read error counter: "), String(SEN5X_read_error_counter)); + + SEN5X_measurement_count = 0; + SEN5X_read_counter = 0; + SEN5X_read_error_counter = 0; + value_SEN5X_P0 = value_SEN5X_P1 = value_SEN5X_P2 = value_SEN5X_P4 = 0.0; + value_SEN5X_N05 = value_SEN5X_N1 = value_SEN5X_N25 = value_SEN5X_N10 = value_SEN5X_N4 = 0.0; + value_SEN5X_TS = 0.0; + value_SEN5X_H = value_SEN5X_T = value_SEN5X_VOC = 0.0; + + debug_outln_info(FPSTR(DBG_TXT_SEP)); + + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_END_READING), FPSTR(SENSORS_SEN50)); + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_END_READING), FPSTR(SENSORS_SEN54)); + } + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + debug_outln_verbose(FPSTR(DBG_TXT_END_READING), FPSTR(SENSORS_SEN55)); + } +} + + /***************************************************************** * read PPD42NS sensor values * *****************************************************************/ @@ -5384,6 +5648,48 @@ static bool initBMX280(char addr) } } +/***************************************************************** + Init SEN5X Sensor + *****************************************************************/ +static void initSEN5X() +{ + debug_out(F("Trying SEN5X sensor"), DEBUG_MIN_INFO); + + sen5x.begin(Wire); + + uint16_t error; + char errorMessage[256]; + error = sen5x.deviceReset(); + if (error) { + Debug.print("Error trying to execute deviceReset(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + sen5x_init_failed = true; + return; + } + +#ifdef USE_PRODUCT_INFO + printSerialNumber(); + printModuleVersions(); +#endif + + if (sen5x.setFanAutoCleaningInterval(SEN5X_AUTO_CLEANING_INTERVAL) != 0) + { + debug_outln_error(F("setting of Auto Cleaning Intervall SEN5X failed!")); + sen5x_init_failed = true; + return; + } + + error = sen5x.startMeasurement(); + if (error) { + Debug.print("Error trying to execute startMeasurement(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + sen5x_init_failed = true; + return; + } +} + /***************************************************************** Init SPS30 PM Sensor *****************************************************************/ @@ -5582,6 +5888,13 @@ static void powerOnTestSensors() is_IPS_running = false; } + + if (cfg::sen5x_read) + { + debug_outln_info(F("Read SEN5X...")); + initSEN5X(); + } + if (cfg::sps30_read) { debug_outln_info(F("Read SPS30...")); @@ -6012,6 +6325,69 @@ void loop(void) } } + + + if (cfg::sen5x_read && (!sen5x_init_failed)) + { + if ((msSince(starttime) - SEN5X_read_timer) > SEN5X_WAITING_AFTER_LAST_READ) + { + + uint16_t error; + char errorMessage[256]; + + float massConcentrationPm1p0; + float massConcentrationPm2p5; + float massConcentrationPm4p0; + float massConcentrationPm10p0; + float numberConcentrationPm0p5; + float numberConcentrationPm1p0; + float numberConcentrationPm2p5; + float numberConcentrationPm4p0; + float numberConcentrationPm10p0; + float typicalParticleSize; + float ambientHumidity; + float ambientTemperature; + float vocIndex; + float noxIndex; + + + SEN5X_read_timer = msSince(starttime); + + error = sen5x.readMeasuredPmValues(massConcentrationPm1p0, massConcentrationPm2p5, massConcentrationPm4p0, massConcentrationPm10p0, numberConcentrationPm0p5, numberConcentrationPm1p0,numberConcentrationPm2p5, numberConcentrationPm4p0,numberConcentrationPm10p0, typicalParticleSize); + ++SEN5X_read_counter; + + if (error) { + Debug.print("Error trying to execute readMeasuredPmValues(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + }else{ + value_SEN5X_P0 += massConcentrationPm1p0; + value_SEN5X_P1 += massConcentrationPm10p0; + value_SEN5X_P2 += massConcentrationPm2p5; + value_SEN5X_P4 += massConcentrationPm4p0; + value_SEN5X_N05 += numberConcentrationPm0p5; + value_SEN5X_N1 += numberConcentrationPm1p0; + value_SEN5X_N25 += numberConcentrationPm2p5; + value_SEN5X_N4 += numberConcentrationPm4p0; + value_SEN5X_N10 += numberConcentrationPm10p0; + value_SEN5X_TS += typicalParticleSize; + } + + error = sen5x.readMeasuredValues(massConcentrationPm1p0, massConcentrationPm2p5, massConcentrationPm4p0, massConcentrationPm10p0,ambientHumidity, ambientTemperature, vocIndex, noxIndex); + + if (error) { + Debug.print("Error trying to execute readMeasuredValues(): "); + errorToString(error, errorMessage, 256); + Debug.println(errorMessage); + }else{ + value_SEN5X_T += ambientTemperature; + value_SEN5X_H += ambientHumidity; + value_SEN5X_VOC += vocIndex; + } + ++SEN5X_measurement_count; + } + } + if (cfg::ppd_read) { fetchSensorPPD(result_PPD); @@ -6117,6 +6493,26 @@ void loop(void) data += result_IPS; sum_send_time += sendSensorCommunity(result_IPS, IPS_API_PIN, FPSTR(SENSORS_IPS), "IPS_"); } + if (cfg::sen5x_read && (!sen5x_init_failed)) + { + fetchSensorSEN5X(result); + data += result; + + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + sum_send_time += sendSensorCommunity(result, SEN5X_API_PIN, FPSTR(SENSORS_SEN50), "SEN50_"); + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + sum_send_time += sendSensorCommunity(result, SEN5X_API_PIN, FPSTR(SENSORS_SEN54), "SEN54_"); + } + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + sum_send_time += sendSensorCommunity(result, SEN5X_API_PIN, FPSTR(SENSORS_SEN55), "SEN55_"); + } + result = emptyString; + } if (cfg::sps30_read && (!sps30_init_failed)) { fetchSensorSPS30(result); diff --git a/airrohr-firmware/ext_def.h b/airrohr-firmware/ext_def.h index 0a715e4f..a9be6777 100644 --- a/airrohr-firmware/ext_def.h +++ b/airrohr-firmware/ext_def.h @@ -257,6 +257,13 @@ static const char MEASUREMENT_NAME_INFLUX[] PROGMEM = "feinstaub"; #define IPS_READ 0 #define IPS_API_PIN 1 +// Sensirion Sensirion I2C SEN5X +#define SEN5X_READ 0 +#define SEN5X_API_PIN 16 // New pin n°! 1 for PM, 7 for the rest? +#define SEN5X_WAITING_AFTER_LAST_READ 11000 // waiting time after last reading mesurement data in ms +#define SEN5X_AUTO_CLEANING_INTERVAL 7200 // time in seconds + + // Sensirion SPS30, the more expensive version of the particle sensor #define SPS30_READ 0 #define SPS30_API_PIN 1 diff --git a/airrohr-firmware/html-content.h b/airrohr-firmware/html-content.h index 1130cc08..24398baa 100644 --- a/airrohr-firmware/html-content.h +++ b/airrohr-firmware/html-content.h @@ -9,6 +9,7 @@ const char DBG_TXT_TEMPERATURE[] PROGMEM = "Temperature (°C): "; const char DBG_TXT_HUMIDITY[] PROGMEM = "Humidity (%): "; const char DBG_TXT_PRESSURE[] PROGMEM = "Pressure (hPa): "; const char DBG_TXT_CO2PPM[] PROGMEM = "CO₂ (ppm): "; +const char DBG_TXT_VOCINDEX[] PROGMEM = "VOC index : "; const char DBG_TXT_START_READING[] PROGMEM = "R/ "; const char DBG_TXT_END_READING[] PROGMEM = "/R "; const char DBG_TXT_CHECKSUM_IS[] PROGMEM = "Checksum is: "; @@ -32,6 +33,9 @@ const char SENSORS_HPM[] PROGMEM = "Honeywell PM"; const char SENSORS_NPM[] PROGMEM = "Tera Sensor Next PM"; const char SENSORS_IPS[] PROGMEM = "Piera Systems IPS-7100"; const char SENSORS_SPS30[] PROGMEM = "Sensirion SPS30"; +const char SENSORS_SEN50[] PROGMEM = "Sensirion SEN50"; +const char SENSORS_SEN54[] PROGMEM = "Sensirion SEN54"; +const char SENSORS_SEN55[] PROGMEM = "Sensirion SEN55"; const char SENSORS_DHT22[] PROGMEM = "DHT22"; const char SENSORS_DS18B20[] PROGMEM = "DS18B20"; const char SENSORS_HTU21D[] PROGMEM = "HTU21D"; diff --git a/airrohr-firmware/intl_fr.h b/airrohr-firmware/intl_fr.h index 781246e7..ffcc2253 100644 --- a/airrohr-firmware/intl_fr.h +++ b/airrohr-firmware/intl_fr.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell détecteur de particules fines"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM permanent"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -68,6 +69,7 @@ const char INTL_DEBUG_LEVEL[] PROGMEM = "Niveau de débogage"; const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Intervalle de mesure"; const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Durée mode routeur"; const char INTL_MORE_APIS[] PROGMEM = "Autres API"; +const char INTL_POWERSAVE[] PROGMEM = "Sauvegarde énergie"; const char INTL_SEND_TO_OWN_API[] PROGMEM = "Envoyer les données vers l'API personnelle"; const char INTL_SERVER[] PROGMEM = "Serveur"; const char INTL_PATH[] PROGMEM = "Chemin"; @@ -111,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "particules fines"; const char INTL_TEMPERATURE[] PROGMEM = "Température"; const char INTL_HUMIDITY[] PROGMEM = "Humidité relative"; const char INTL_PRESSURE[] PROGMEM = "Pression atmosphérique"; +const char INTL_VOC[] PROGMEM = "Composés organiques volatiles"; const char INTL_DEW_POINT[] PROGMEM = "Point de rosée"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/platformio.ini b/airrohr-firmware/platformio.ini index b92dd55f..7529c0cc 100644 --- a/airrohr-firmware/platformio.ini +++ b/airrohr-firmware/platformio.ini @@ -53,6 +53,8 @@ lib_deps_external = bblanchon/ArduinoJson@6.18.3 ThingPulse/ESP8266 and ESP32 OLED driver for SSD1306 displays @ ^4.2.1 mikalhart/TinyGPSPlus@1.0.2 + sensirion/Sensirion Core@^0.6.0 + sensirion/Sensirion I2C SEN5X@^0.2.0 ; system libraries from platform -> no version number lib_deps_esp8266_platform = @@ -451,3 +453,15 @@ board_build.filesystem = ${common.board_build.filesystem} build_flags = ${common.build_flags} -DINTL_UA lib_deps = ${common.lib_deps_esp8266} extra_scripts = ${common.extra_scripts} + +[env:d1_mini] +lang = fr +platform = ${common.platform_version} +framework = arduino +board = d1_mini +board_build.f_cpu = ${common.board_build.f_cpu} +board_build.ldscript = ${common.board_build.ldscript} +board_build.filesystem = ${common.board_build.filesystem} +build_flags = ${common.build_flags} -DINTL_FR +lib_deps = ${common.lib_deps_esp8266} +extra_scripts = ${common.extra_scripts} \ No newline at end of file From 2b358e3ffe42596bb2cd64affd3e315abe0d3e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Jean=20Gu=C3=A9no?= Date: Tue, 2 Aug 2022 11:18:16 +0200 Subject: [PATCH 02/12] added displays --- airrohr-firmware/airrohr-firmware.ino | 82 ++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 3 deletions(-) diff --git a/airrohr-firmware/airrohr-firmware.ino b/airrohr-firmware/airrohr-firmware.ino index c656e85c..9e8570e0 100644 --- a/airrohr-firmware/airrohr-firmware.ino +++ b/airrohr-firmware/airrohr-firmware.ino @@ -2306,7 +2306,8 @@ static void webserver_values() add_table_value(FPSTR(SENSORS_SEN54), FPSTR(WEB_TPS), check_display_value(last_value_SEN5X_TS, -1, 1, 0), "µm"); add_table_t_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_TEMPERATURE), last_value_SEN5X_T); add_table_h_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_HUMIDITY), last_value_SEN5X_H); - add_table_h_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_VOC), last_value_SEN5X_VOC); + add_table_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_VOC), check_display_value(last_value_SEN5X_VOC, 0, 0, 0), "(index)"); + page_content += FPSTR(EMPTY_ROW); } @@ -5107,7 +5108,8 @@ static void display_values() float t_value = -128.0; float h_value = -1.0; float p_value = -1.0; - String t_sensor, h_sensor, p_sensor; + float voc_value = -1.0; + String t_sensor, h_sensor, p_sensor, voc_sensor; float pm001_value = -1.0; float pm003_value = -1.0; float pm005_value = -1.0; @@ -5142,7 +5144,7 @@ static void display_values() String display_header; String display_lines[3] = {"", "", ""}; uint8_t screen_count = 0; - uint8_t screens[8]; + uint8_t screens[13]; int line_count = 0; debug_outln_info(F("output values to display...")); if (cfg::ppd_read) @@ -5201,6 +5203,40 @@ static void display_values() nc003_value = last_value_IPS_N03; nc005_value = last_value_IPS_N05; nc050_value = last_value_IPS_N5; + } + if (cfg::sen5x_read) + { + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + + } + + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + pm01_sensor = FPSTR(SENSORS_SEN54); + pm10_sensor = FPSTR(SENSORS_SEN54); + pm25_sensor = FPSTR(SENSORS_SEN54); + t_sensor = h_sensor = voc_sensor = FPSTR(SENSORS_SEN54); + } + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + } + + + + pm01_value = last_value_SEN5X_P0; + pm25_value = last_value_SEN5X_P2; + pm04_value = last_value_SEN5X_P4; + pm10_value = last_value_SEN5X_P1; + nc005_value = last_value_SEN5X_N05; + nc010_value = last_value_SEN5X_N1; + nc025_value = last_value_SEN5X_N25; + nc040_value = last_value_SEN5X_N4; + nc100_value = last_value_SEN5X_N10; + tps_value = last_value_SEN5X_TS; + t_value = last_value_SEN5X_T; + h_value = last_value_SEN5X_H; + voc_value = last_value_SEN5X_VOC; } if (cfg::sps30_read) { @@ -5289,6 +5325,11 @@ static void display_values() { screens[screen_count++] = 11; //A VOIR POUR AJOUTER DES ÈCRANS } + if (cfg::sen5x_read) + { + screens[screen_count++] = 12; + screens[screen_count++] = 13; + } if (cfg::sps30_read) { screens[screen_count++] = 2; @@ -5432,6 +5473,29 @@ static void display_values() display_lines[0] = std::move(tmpl(F("PM1: {v} µg/m³"), check_display_value(pm01_value, -1, 1, 6))); display_lines[1] = std::move(tmpl(F("PM2.5: {v} µg/m³"), check_display_value(pm25_value, -1, 1, 6))); display_lines[2] = std::move(tmpl(F("PM10: {v} µg/m³"), check_display_value(pm10_value, -1, 1, 6))); + break; + case 12: + display_header = F("Sensirion SEN5X"); + display_lines[0] = std::move(tmpl(F("PM1: {v} µg/m³"), check_display_value(pm01_value, -1, 1, 6))); + display_lines[1] = std::move(tmpl(F("PM2.5: {v} µg/m³"), check_display_value(pm25_value, -1, 1, 6))); + display_lines[2] = std::move(tmpl(F("PM10: {v} µg/m³"), check_display_value(pm10_value, -1, 1, 6))); + break; + case 13: + display_header = F("Sensirion SEN5X"); + if(memcmp(SEN5X_type,"SEN50",6) == 0) + { + + } + if(memcmp(SEN5X_type,"SEN54",6)== 0) + { + display_lines[0] = std::move(tmpl(F("Temp.: {v} °C"), check_display_value(t_value, -128, 1, 6))); + display_lines[1] = std::move(tmpl(F("Humi: {v} %"), check_display_value(h_value, -1, 1, 6))); + display_lines[2] = std::move(tmpl(F("VOC: {v} (index)"), check_display_value(voc_value, -1, 1, 6))); + } + if(memcmp(SEN5X_type,"SEN55",6)== 0) + { + } + break; } @@ -5547,6 +5611,18 @@ static void display_values() display_lines[1] = "PM2.5: "; display_lines[1] += check_display_value(pm25_value, -1, 1, 6); break; + case 12: + display_lines[0] = "PM1: "; + display_lines[0] += check_display_value(pm01_value, -1, 1, 6); + display_lines[1] = "PM2.5: "; + display_lines[1] += check_display_value(pm25_value, -1, 1, 6); + break; + case 13: + display_lines[0] = "Temp.: "; + display_lines[0] += check_display_value(pm01_value, -1, 1, 6); + display_lines[1] = "Humi.: "; + display_lines[1] += check_display_value(pm25_value, -1, 1, 6); + break; } display_lines[0].replace("°", String(char(223))); From c21257fa7d3e1715be112c3f7c2a6d808889fd1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Jean=20Gu=C3=A9no?= Date: Fri, 9 Dec 2022 21:34:55 +0100 Subject: [PATCH 03/12] Sensirion SEN5X corrections --- airrohr-firmware/.gitignore | 0 airrohr-firmware/Contributing.md | 0 airrohr-firmware/DHT.cpp | 0 airrohr-firmware/DHT.h | 0 airrohr-firmware/LICENSE.md | 0 airrohr-firmware/Readme.md | 0 airrohr-firmware/Versions.md | 0 airrohr-firmware/airrohr-cfg.h | 0 airrohr-firmware/airrohr-firmware.ino | 62 ++++++++++++++++-- airrohr-firmware/airrohr-logo-common.h | 0 airrohr-firmware/astyle.rc | 0 airrohr-firmware/bmx280_i2c.cpp | 0 airrohr-firmware/bmx280_i2c.h | 0 airrohr-firmware/ca-root.h | 0 airrohr-firmware/defines.h | 0 airrohr-firmware/dnms_i2c.cpp | 0 airrohr-firmware/dnms_i2c.h | 0 airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf | Bin .../doc/NextPM-User-Guide_v3.4.pdf | Bin airrohr-firmware/ext_def.h | 0 airrohr-firmware/html-content.h | 1 + airrohr-firmware/intl.h | 0 airrohr-firmware/intl_bg.h | 0 airrohr-firmware/intl_cn.h | 0 airrohr-firmware/intl_cz.h | 0 airrohr-firmware/intl_de.h | 0 airrohr-firmware/intl_dk.h | 0 airrohr-firmware/intl_ee.h | 0 airrohr-firmware/intl_en.h | 5 ++ airrohr-firmware/intl_es.h | 0 airrohr-firmware/intl_fi.h | 0 airrohr-firmware/intl_fr.h | 4 +- airrohr-firmware/intl_gr.h | 0 airrohr-firmware/intl_hu.h | 0 airrohr-firmware/intl_it.h | 0 airrohr-firmware/intl_jp.h | 0 airrohr-firmware/intl_lt.h | 0 airrohr-firmware/intl_lu.h | 0 airrohr-firmware/intl_lv.h | 0 airrohr-firmware/intl_nl.h | 0 airrohr-firmware/intl_pl.h | 0 airrohr-firmware/intl_pt.h | 0 airrohr-firmware/intl_ro.h | 0 airrohr-firmware/intl_rs.h | 0 airrohr-firmware/intl_ru.h | 0 airrohr-firmware/intl_se.h | 0 airrohr-firmware/intl_si.h | 0 airrohr-firmware/intl_sk.h | 0 airrohr-firmware/intl_template.h | 5 ++ airrohr-firmware/intl_tr.h | 0 airrohr-firmware/intl_ua.h | 0 airrohr-firmware/lib/readme.txt | 0 airrohr-firmware/oledfont.h | 0 airrohr-firmware/platformio.ini | 0 airrohr-firmware/platformio_script.py | 0 .../ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin | Bin airrohr-firmware/sps30_i2c.cpp | 0 airrohr-firmware/sps30_i2c.h | 0 airrohr-firmware/utils.cpp | 2 + airrohr-firmware/utils.h | 0 60 files changed, 71 insertions(+), 8 deletions(-) mode change 100644 => 100755 airrohr-firmware/.gitignore mode change 100644 => 100755 airrohr-firmware/Contributing.md mode change 100644 => 100755 airrohr-firmware/DHT.cpp mode change 100644 => 100755 airrohr-firmware/DHT.h mode change 100644 => 100755 airrohr-firmware/LICENSE.md mode change 100644 => 100755 airrohr-firmware/Readme.md mode change 100644 => 100755 airrohr-firmware/Versions.md mode change 100644 => 100755 airrohr-firmware/airrohr-cfg.h mode change 100644 => 100755 airrohr-firmware/airrohr-firmware.ino mode change 100644 => 100755 airrohr-firmware/airrohr-logo-common.h mode change 100644 => 100755 airrohr-firmware/astyle.rc mode change 100644 => 100755 airrohr-firmware/bmx280_i2c.cpp mode change 100644 => 100755 airrohr-firmware/bmx280_i2c.h mode change 100644 => 100755 airrohr-firmware/ca-root.h mode change 100644 => 100755 airrohr-firmware/defines.h mode change 100644 => 100755 airrohr-firmware/dnms_i2c.cpp mode change 100644 => 100755 airrohr-firmware/dnms_i2c.h mode change 100644 => 100755 airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf mode change 100644 => 100755 airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf mode change 100644 => 100755 airrohr-firmware/ext_def.h mode change 100644 => 100755 airrohr-firmware/html-content.h mode change 100644 => 100755 airrohr-firmware/intl.h mode change 100644 => 100755 airrohr-firmware/intl_bg.h mode change 100644 => 100755 airrohr-firmware/intl_cn.h mode change 100644 => 100755 airrohr-firmware/intl_cz.h mode change 100644 => 100755 airrohr-firmware/intl_de.h mode change 100644 => 100755 airrohr-firmware/intl_dk.h mode change 100644 => 100755 airrohr-firmware/intl_ee.h mode change 100644 => 100755 airrohr-firmware/intl_en.h mode change 100644 => 100755 airrohr-firmware/intl_es.h mode change 100644 => 100755 airrohr-firmware/intl_fi.h mode change 100644 => 100755 airrohr-firmware/intl_fr.h mode change 100644 => 100755 airrohr-firmware/intl_gr.h mode change 100644 => 100755 airrohr-firmware/intl_hu.h mode change 100644 => 100755 airrohr-firmware/intl_it.h mode change 100644 => 100755 airrohr-firmware/intl_jp.h mode change 100644 => 100755 airrohr-firmware/intl_lt.h mode change 100644 => 100755 airrohr-firmware/intl_lu.h mode change 100644 => 100755 airrohr-firmware/intl_lv.h mode change 100644 => 100755 airrohr-firmware/intl_nl.h mode change 100644 => 100755 airrohr-firmware/intl_pl.h mode change 100644 => 100755 airrohr-firmware/intl_pt.h mode change 100644 => 100755 airrohr-firmware/intl_ro.h mode change 100644 => 100755 airrohr-firmware/intl_rs.h mode change 100644 => 100755 airrohr-firmware/intl_ru.h mode change 100644 => 100755 airrohr-firmware/intl_se.h mode change 100644 => 100755 airrohr-firmware/intl_si.h mode change 100644 => 100755 airrohr-firmware/intl_sk.h mode change 100644 => 100755 airrohr-firmware/intl_template.h mode change 100644 => 100755 airrohr-firmware/intl_tr.h mode change 100644 => 100755 airrohr-firmware/intl_ua.h mode change 100644 => 100755 airrohr-firmware/lib/readme.txt mode change 100644 => 100755 airrohr-firmware/oledfont.h mode change 100644 => 100755 airrohr-firmware/platformio.ini mode change 100644 => 100755 airrohr-firmware/platformio_script.py mode change 100644 => 100755 airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin mode change 100644 => 100755 airrohr-firmware/sps30_i2c.cpp mode change 100644 => 100755 airrohr-firmware/sps30_i2c.h mode change 100644 => 100755 airrohr-firmware/utils.cpp mode change 100644 => 100755 airrohr-firmware/utils.h diff --git a/airrohr-firmware/.gitignore b/airrohr-firmware/.gitignore old mode 100644 new mode 100755 diff --git a/airrohr-firmware/Contributing.md b/airrohr-firmware/Contributing.md old mode 100644 new mode 100755 diff --git a/airrohr-firmware/DHT.cpp b/airrohr-firmware/DHT.cpp old mode 100644 new mode 100755 diff --git a/airrohr-firmware/DHT.h b/airrohr-firmware/DHT.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/LICENSE.md b/airrohr-firmware/LICENSE.md old mode 100644 new mode 100755 diff --git a/airrohr-firmware/Readme.md b/airrohr-firmware/Readme.md old mode 100644 new mode 100755 diff --git a/airrohr-firmware/Versions.md b/airrohr-firmware/Versions.md old mode 100644 new mode 100755 diff --git a/airrohr-firmware/airrohr-cfg.h b/airrohr-firmware/airrohr-cfg.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/airrohr-firmware.ino b/airrohr-firmware/airrohr-firmware.ino old mode 100644 new mode 100755 index 9e8570e0..b3af5627 --- a/airrohr-firmware/airrohr-firmware.ino +++ b/airrohr-firmware/airrohr-firmware.ino @@ -573,6 +573,7 @@ float last_value_SEN5X_TS = -1.0; float last_value_SEN5X_T = -128.0; float last_value_SEN5X_H = -1.0; float last_value_SEN5X_VOC = -1.0; +float last_value_SEN5X_NOX = -1.0; float value_SEN5X_P0 = 0.0; float value_SEN5X_P1 = 0.0; float value_SEN5X_P2 = 0.0; @@ -586,6 +587,7 @@ float value_SEN5X_TS = 0.0; float value_SEN5X_T = 0.0; float value_SEN5X_H = 0.0; float value_SEN5X_VOC = 0.0; +float value_SEN5X_NOX = 0.0; uint16_t SEN5X_measurement_count = 0; unsigned long SEN5X_read_counter = 0; @@ -2289,7 +2291,17 @@ static void webserver_values() if(memcmp(SEN5X_type,"SEN50",6) == 0) { - + add_table_pm_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_PM1), last_value_SEN5X_P0); + add_table_pm_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_PM25), last_value_SEN5X_P2); + add_table_pm_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_PM4), last_value_SEN5X_P4); + add_table_pm_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_PM10), last_value_SEN5X_P1); + add_table_nc_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_NC0k5), last_value_SEN5X_N05); + add_table_nc_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_NC1k0), last_value_SEN5X_N1); + add_table_nc_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_NC2k5), last_value_SEN5X_N25); + add_table_nc_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_NC4k0), last_value_SEN5X_N4); + add_table_nc_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_NC10), last_value_SEN5X_N10); + add_table_value(FPSTR(SENSORS_SEN50), FPSTR(WEB_TPS), check_display_value(last_value_SEN5X_TS, -1, 1, 0), "µm"); + page_content += FPSTR(EMPTY_ROW); } if(memcmp(SEN5X_type,"SEN54",6)== 0) @@ -2307,13 +2319,26 @@ static void webserver_values() add_table_t_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_TEMPERATURE), last_value_SEN5X_T); add_table_h_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_HUMIDITY), last_value_SEN5X_H); add_table_value(FPSTR(SENSORS_SEN54), FPSTR(INTL_VOC), check_display_value(last_value_SEN5X_VOC, 0, 0, 0), "(index)"); - page_content += FPSTR(EMPTY_ROW); } if(memcmp(SEN5X_type,"SEN55",6)== 0) { - + add_table_pm_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_PM1), last_value_SEN5X_P0); + add_table_pm_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_PM25), last_value_SEN5X_P2); + add_table_pm_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_PM4), last_value_SEN5X_P4); + add_table_pm_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_PM10), last_value_SEN5X_P1); + add_table_nc_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_NC0k5), last_value_SEN5X_N05); + add_table_nc_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_NC1k0), last_value_SEN5X_N1); + add_table_nc_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_NC2k5), last_value_SEN5X_N25); + add_table_nc_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_NC4k0), last_value_SEN5X_N4); + add_table_nc_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_NC10), last_value_SEN5X_N10); + add_table_value(FPSTR(SENSORS_SEN55), FPSTR(WEB_TPS), check_display_value(last_value_SEN5X_TS, -1, 1, 0), "µm"); + add_table_t_value(FPSTR(SENSORS_SEN55), FPSTR(INTL_TEMPERATURE), last_value_SEN5X_T); + add_table_h_value(FPSTR(SENSORS_SEN55), FPSTR(INTL_HUMIDITY), last_value_SEN5X_H); + add_table_value(FPSTR(SENSORS_SEN55), FPSTR(INTL_VOC), check_display_value(last_value_SEN5X_VOC, 0, 0, 0), "(index)"); + add_table_value(FPSTR(SENSORS_SEN55), FPSTR(INTL_NOX), check_display_value(last_value_SEN5X_NOX, 0, 0, 0), "ppm"); + page_content += FPSTR(EMPTY_ROW); } } @@ -2547,7 +2572,7 @@ static void webserver_status() { if(memcmp(SEN5X_type,"SEN50",6) == 0) { - + add_table_row_from_value(page_content, FPSTR(SENSORS_SEN50), String(SEN5X_read_error_counter)); } if(memcmp(SEN5X_type,"SEN54",6)== 0) @@ -2557,7 +2582,7 @@ static void webserver_status() if(memcmp(SEN5X_type,"SEN55",6)== 0) { - + add_table_row_from_value(page_content, FPSTR(SENSORS_SEN55), String(SEN5X_read_error_counter)); } } if (cfg::sps30_read) @@ -4589,6 +4614,7 @@ static void fetchSensorSEN5X(String &s) last_value_SEN5X_T = value_SEN5X_T / SEN5X_measurement_count; last_value_SEN5X_H = value_SEN5X_H / SEN5X_measurement_count; last_value_SEN5X_VOC = value_SEN5X_VOC / SEN5X_measurement_count; + last_value_SEN5X_NOX = value_SEN5X_NOX / SEN5X_measurement_count; add_Value2Json(s, F("SEN5X_P0"), F("PM1.0: "), last_value_SEN5X_P0); @@ -4602,10 +4628,21 @@ static void fetchSensorSEN5X(String &s) add_Value2Json(s, F("SEN5X_N10"), F("NC10: "), last_value_SEN5X_N10); add_Value2Json(s, F("SEN5X_TS"), F("TPS: "), last_value_SEN5X_TS); +if(memcmp(SEN5X_type,"SEN50",6)!= 0) +{ add_Value2Json(s, F("SEN5X_temperature"), FPSTR(DBG_TXT_TEMPERATURE), last_value_SEN5X_T); add_Value2Json(s, F("SEN5X_humidity"), FPSTR(DBG_TXT_HUMIDITY), last_value_SEN5X_H); +} + +if(memcmp(SEN5X_type,"SEN54",6)!= 0 || memcmp(SEN5X_type,"SEN55",6)!= 0) +{ add_Value2Json(s, F("SEN5X_voc"), FPSTR(DBG_TXT_VOCINDEX), last_value_SEN5X_VOC); +} +if(memcmp(SEN5X_type,"SEN55",6)!= 0) +{ + add_Value2Json(s, F("SEN5X_nox"), FPSTR(DBG_TXT_NOX), last_value_SEN5X_NOX); +} debug_outln_info(F("SEN5X read counter: "), String(SEN5X_read_counter)); debug_outln_info(F("SEN5X read error counter: "), String(SEN5X_read_error_counter)); @@ -4615,7 +4652,7 @@ static void fetchSensorSEN5X(String &s) value_SEN5X_P0 = value_SEN5X_P1 = value_SEN5X_P2 = value_SEN5X_P4 = 0.0; value_SEN5X_N05 = value_SEN5X_N1 = value_SEN5X_N25 = value_SEN5X_N10 = value_SEN5X_N4 = 0.0; value_SEN5X_TS = 0.0; - value_SEN5X_H = value_SEN5X_T = value_SEN5X_VOC = 0.0; + value_SEN5X_H = value_SEN5X_T = value_SEN5X_VOC = value_SEN5X_NOX = 0.0; debug_outln_info(FPSTR(DBG_TXT_SEP)); @@ -5109,7 +5146,8 @@ static void display_values() float h_value = -1.0; float p_value = -1.0; float voc_value = -1.0; - String t_sensor, h_sensor, p_sensor, voc_sensor; + float nox_value = -1.0; + String t_sensor, h_sensor, p_sensor, voc_sensor, nox_sensor; float pm001_value = -1.0; float pm003_value = -1.0; float pm005_value = -1.0; @@ -5220,6 +5258,10 @@ static void display_values() } if(memcmp(SEN5X_type,"SEN55",6)== 0) { + pm01_sensor = FPSTR(SENSORS_SEN54); + pm10_sensor = FPSTR(SENSORS_SEN54); + pm25_sensor = FPSTR(SENSORS_SEN54); + t_sensor = h_sensor = voc_sensor = nox_sensor = FPSTR(SENSORS_SEN54); } @@ -5237,6 +5279,7 @@ static void display_values() t_value = last_value_SEN5X_T; h_value = last_value_SEN5X_H; voc_value = last_value_SEN5X_VOC; + nox_value = last_value_SEN5X_NOX; } if (cfg::sps30_read) { @@ -5494,6 +5537,10 @@ static void display_values() } if(memcmp(SEN5X_type,"SEN55",6)== 0) { + //display_lines[0] = std::move(tmpl(F("Temp.: {v} °C"), check_display_value(t_value, -128, 1, 6))); + display_lines[0] = std::move(tmpl(F("Humi: {v} %"), check_display_value(h_value, -1, 1, 6))); + display_lines[1] = std::move(tmpl(F("VOC: {v} (index)"), check_display_value(voc_value, -1, 1, 6))); + display_lines[2] = std::move(tmpl(F("NO2: {v} (ppm)"), check_display_value(nox_value, -1, 1, 6))); } break; @@ -6459,6 +6506,7 @@ void loop(void) value_SEN5X_T += ambientTemperature; value_SEN5X_H += ambientHumidity; value_SEN5X_VOC += vocIndex; + value_SEN5X_NOX += noxIndex; } ++SEN5X_measurement_count; } diff --git a/airrohr-firmware/airrohr-logo-common.h b/airrohr-firmware/airrohr-logo-common.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/astyle.rc b/airrohr-firmware/astyle.rc old mode 100644 new mode 100755 diff --git a/airrohr-firmware/bmx280_i2c.cpp b/airrohr-firmware/bmx280_i2c.cpp old mode 100644 new mode 100755 diff --git a/airrohr-firmware/bmx280_i2c.h b/airrohr-firmware/bmx280_i2c.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/ca-root.h b/airrohr-firmware/ca-root.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/defines.h b/airrohr-firmware/defines.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/dnms_i2c.cpp b/airrohr-firmware/dnms_i2c.cpp old mode 100644 new mode 100755 diff --git a/airrohr-firmware/dnms_i2c.h b/airrohr-firmware/dnms_i2c.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf b/airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf old mode 100644 new mode 100755 diff --git a/airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf b/airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf old mode 100644 new mode 100755 diff --git a/airrohr-firmware/ext_def.h b/airrohr-firmware/ext_def.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/html-content.h b/airrohr-firmware/html-content.h old mode 100644 new mode 100755 index 24398baa..140f7794 --- a/airrohr-firmware/html-content.h +++ b/airrohr-firmware/html-content.h @@ -10,6 +10,7 @@ const char DBG_TXT_HUMIDITY[] PROGMEM = "Humidity (%): "; const char DBG_TXT_PRESSURE[] PROGMEM = "Pressure (hPa): "; const char DBG_TXT_CO2PPM[] PROGMEM = "CO₂ (ppm): "; const char DBG_TXT_VOCINDEX[] PROGMEM = "VOC index : "; +const char DBG_TXT_NOX[] PROGMEM = "NOx index: "; const char DBG_TXT_START_READING[] PROGMEM = "R/ "; const char DBG_TXT_END_READING[] PROGMEM = "/R "; const char DBG_TXT_CHECKSUM_IS[] PROGMEM = "Checksum is: "; diff --git a/airrohr-firmware/intl.h b/airrohr-firmware/intl.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_bg.h b/airrohr-firmware/intl_bg.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_cn.h b/airrohr-firmware/intl_cn.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_cz.h b/airrohr-firmware/intl_cz.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_dk.h b/airrohr-firmware/intl_dk.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_ee.h b/airrohr-firmware/intl_ee.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_en.h b/airrohr-firmware/intl_en.h old mode 100644 new mode 100755 index 9422214e..3e627c8e --- a/airrohr-firmware/intl_en.h +++ b/airrohr-firmware/intl_en.h @@ -24,6 +24,9 @@ const char INTL_PMS[] PROGMEM = "Plantower PMS(1,3,5,6,7)003 ({pm})"; const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; +const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; +//const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -111,6 +114,8 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "particulate matter"; const char INTL_TEMPERATURE[] PROGMEM = "temperature"; const char INTL_HUMIDITY[] PROGMEM = "humidity"; const char INTL_PRESSURE[] PROGMEM = "air pressure"; +const char INTL_VOC[] PROGMEM = "Volatile organic compound"; +const char INTL_NOX[] PROGMEM = "Natrium oxydes"; const char INTL_DEW_POINT[] PROGMEM = "dew point"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_es.h b/airrohr-firmware/intl_es.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_fi.h b/airrohr-firmware/intl_fi.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_fr.h b/airrohr-firmware/intl_fr.h old mode 100644 new mode 100755 index ffcc2253..864dc2de --- a/airrohr-firmware/intl_fr.h +++ b/airrohr-firmware/intl_fr.h @@ -25,7 +25,8 @@ const char INTL_HPM[] PROGMEM = "Honeywell détecteur de particules fines"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM permanent"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; +//const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -114,6 +115,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Température"; const char INTL_HUMIDITY[] PROGMEM = "Humidité relative"; const char INTL_PRESSURE[] PROGMEM = "Pression atmosphérique"; const char INTL_VOC[] PROGMEM = "Composés organiques volatiles"; +const char INTL_NOX[] PROGMEM = "Oxydes d'azote"; const char INTL_DEW_POINT[] PROGMEM = "Point de rosée"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_gr.h b/airrohr-firmware/intl_gr.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_hu.h b/airrohr-firmware/intl_hu.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_it.h b/airrohr-firmware/intl_it.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_jp.h b/airrohr-firmware/intl_jp.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_lt.h b/airrohr-firmware/intl_lt.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_lu.h b/airrohr-firmware/intl_lu.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_lv.h b/airrohr-firmware/intl_lv.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_pt.h b/airrohr-firmware/intl_pt.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_ro.h b/airrohr-firmware/intl_ro.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_rs.h b/airrohr-firmware/intl_rs.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_ru.h b/airrohr-firmware/intl_ru.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_se.h b/airrohr-firmware/intl_se.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_si.h b/airrohr-firmware/intl_si.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_sk.h b/airrohr-firmware/intl_sk.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_template.h b/airrohr-firmware/intl_template.h old mode 100644 new mode 100755 index 15a5de44..4ad8c7a4 --- a/airrohr-firmware/intl_template.h +++ b/airrohr-firmware/intl_template.h @@ -24,6 +24,9 @@ const char INTL_PMS[] PROGMEM = "Plantower PMS(1,3,5,6,7)003 ({pm})"; const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; +const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; +//const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -110,6 +113,8 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = ""; const char INTL_TEMPERATURE[] PROGMEM = ""; const char INTL_HUMIDITY[] PROGMEM = ""; const char INTL_PRESSURE[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_tr.h b/airrohr-firmware/intl_tr.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/lib/readme.txt b/airrohr-firmware/lib/readme.txt old mode 100644 new mode 100755 diff --git a/airrohr-firmware/oledfont.h b/airrohr-firmware/oledfont.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/platformio.ini b/airrohr-firmware/platformio.ini old mode 100644 new mode 100755 diff --git a/airrohr-firmware/platformio_script.py b/airrohr-firmware/platformio_script.py old mode 100644 new mode 100755 diff --git a/airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin b/airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin old mode 100644 new mode 100755 diff --git a/airrohr-firmware/sps30_i2c.cpp b/airrohr-firmware/sps30_i2c.cpp old mode 100644 new mode 100755 diff --git a/airrohr-firmware/sps30_i2c.h b/airrohr-firmware/sps30_i2c.h old mode 100644 new mode 100755 diff --git a/airrohr-firmware/utils.cpp b/airrohr-firmware/utils.cpp old mode 100644 new mode 100755 index 20bfbcd1..6e14dda3 --- a/airrohr-firmware/utils.cpp +++ b/airrohr-firmware/utils.cpp @@ -105,6 +105,8 @@ String add_sensor_type(const String& sensor_text) { s.replace("{h}", FPSTR(INTL_HUMIDITY)); s.replace("{p}", FPSTR(INTL_PRESSURE)); s.replace("{l_a}", FPSTR(INTL_LEQ_A)); + s.replace("{voc}", FPSTR(INTL_LEQ_A)); + s.replace("{nox}", FPSTR(INTL_LEQ_A)); return s; } diff --git a/airrohr-firmware/utils.h b/airrohr-firmware/utils.h old mode 100644 new mode 100755 From 3880e3c454c9aef0b37567ac1fe950c1a8a01cb5 Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Fri, 9 Dec 2022 21:50:41 +0100 Subject: [PATCH 04/12] Add missing intl_*.h INTL_SEN5X and INTL_VOC definitions to allow compiling of all languages --- airrohr-firmware/intl_bg.h | 2 ++ airrohr-firmware/intl_cn.h | 2 ++ airrohr-firmware/intl_cz.h | 2 ++ airrohr-firmware/intl_de.h | 2 ++ airrohr-firmware/intl_dk.h | 2 ++ airrohr-firmware/intl_ee.h | 2 ++ airrohr-firmware/intl_en.h | 2 ++ airrohr-firmware/intl_es.h | 2 ++ airrohr-firmware/intl_fi.h | 2 ++ airrohr-firmware/intl_fr.h | 3 +-- airrohr-firmware/intl_gr.h | 2 ++ airrohr-firmware/intl_hu.h | 2 ++ airrohr-firmware/intl_it.h | 2 ++ airrohr-firmware/intl_jp.h | 2 ++ airrohr-firmware/intl_lt.h | 2 ++ airrohr-firmware/intl_lu.h | 2 ++ airrohr-firmware/intl_lv.h | 2 ++ airrohr-firmware/intl_nl.h | 2 ++ airrohr-firmware/intl_pl.h | 2 ++ airrohr-firmware/intl_pt.h | 2 ++ airrohr-firmware/intl_ro.h | 2 ++ airrohr-firmware/intl_rs.h | 2 ++ airrohr-firmware/intl_ru.h | 2 ++ airrohr-firmware/intl_se.h | 2 ++ airrohr-firmware/intl_si.h | 2 ++ airrohr-firmware/intl_sk.h | 2 ++ airrohr-firmware/intl_template.h | 2 ++ airrohr-firmware/intl_tr.h | 2 ++ airrohr-firmware/intl_ua.h | 2 ++ 29 files changed, 57 insertions(+), 2 deletions(-) diff --git a/airrohr-firmware/intl_bg.h b/airrohr-firmware/intl_bg.h index 0ed101b9..0ad6fb3b 100644 --- a/airrohr-firmware/intl_bg.h +++ b/airrohr-firmware/intl_bg.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell сензора за прахови ч const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Прахови частици"; const char INTL_TEMPERATURE[] PROGMEM = "Температура"; const char INTL_HUMIDITY[] PROGMEM = "Влажност на въздуха"; const char INTL_PRESSURE[] PROGMEM = "Атмосферно налягане"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Точка на оросяване"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_cn.h b/airrohr-firmware/intl_cn.h index a79eccd7..25cca523 100644 --- a/airrohr-firmware/intl_cn.h +++ b/airrohr-firmware/intl_cn.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera传感器下一个PM({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "颗粒物"; const char INTL_TEMPERATURE[] PROGMEM = "温度"; const char INTL_HUMIDITY[] PROGMEM = "湿度"; const char INTL_PRESSURE[] PROGMEM = "气压"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_cz.h b/airrohr-firmware/intl_cz.h index 421a58d5..d26e28e9 100644 --- a/airrohr-firmware/intl_cz.h +++ b/airrohr-firmware/intl_cz.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "prachových èástic"; const char INTL_TEMPERATURE[] PROGMEM = "teplota"; const char INTL_HUMIDITY[] PROGMEM = "rel. vlhkost"; const char INTL_PRESSURE[] PROGMEM = "tlak vzduchu"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index 15159dec..fae74d68 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Feinstaub"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte"; const char INTL_PRESSURE[] PROGMEM = "Luftdruck"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Taupunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_dk.h b/airrohr-firmware/intl_dk.h index 747e452e..817f162f 100644 --- a/airrohr-firmware/intl_dk.h +++ b/airrohr-firmware/intl_dk.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Partikelsensor"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. Fugtighed"; const char INTL_PRESSURE[] PROGMEM = "Lufttryk"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Dugpunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ee.h b/airrohr-firmware/intl_ee.h index ed4280c1..973b59e7 100644 --- a/airrohr-firmware/intl_ee.h +++ b/airrohr-firmware/intl_ee.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Järgmine PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "tahked osakesed"; const char INTL_TEMPERATURE[] PROGMEM = "temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "niiskus"; const char INTL_PRESSURE[] PROGMEM = "õhurõhk"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_en.h b/airrohr-firmware/intl_en.h index 617b828e..98eb8ec5 100644 --- a/airrohr-firmware/intl_en.h +++ b/airrohr-firmware/intl_en.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "particulate matter"; const char INTL_TEMPERATURE[] PROGMEM = "temperature"; const char INTL_HUMIDITY[] PROGMEM = "humidity"; const char INTL_PRESSURE[] PROGMEM = "air pressure"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "dew point"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_es.h b/airrohr-firmware/intl_es.h index 525824dc..5806e404 100644 --- a/airrohr-firmware/intl_es.h +++ b/airrohr-firmware/intl_es.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensor de partículas finas"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "partículas finas"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Humedad"; const char INTL_PRESSURE[] PROGMEM = "Presión atmosférica"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punto de rocío"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_fi.h b/airrohr-firmware/intl_fi.h index 6a75dd6a..f782ad6d 100644 --- a/airrohr-firmware/intl_fi.h +++ b/airrohr-firmware/intl_fi.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Seuraava PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "hiukkaset"; const char INTL_TEMPERATURE[] PROGMEM = "lämpötila"; const char INTL_HUMIDITY[] PROGMEM = "kosteus"; const char INTL_PRESSURE[] PROGMEM = "ilmanpaine"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_fr.h b/airrohr-firmware/intl_fr.h index fb835d2b..67c162be 100644 --- a/airrohr-firmware/intl_fr.h +++ b/airrohr-firmware/intl_fr.h @@ -68,9 +68,8 @@ const char INTL_STATIC_DNS[] PROGMEM = "Serveur DNS"; const char INTL_DEBUG_LEVEL[] PROGMEM = "Niveau de débogage"; const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Intervalle de mesure"; const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Durée mode routeur"; -const char INTL_POWERSAVE[] PROGMEM = ""; -const char INTL_MORE_APIS[] PROGMEM = "Autres API"; const char INTL_POWERSAVE[] PROGMEM = "Sauvegarde énergie"; +const char INTL_MORE_APIS[] PROGMEM = "Autres API"; const char INTL_SEND_TO_OWN_API[] PROGMEM = "Envoyer les données vers l'API personnelle"; const char INTL_SERVER[] PROGMEM = "Serveur"; const char INTL_PATH[] PROGMEM = "Chemin"; diff --git a/airrohr-firmware/intl_gr.h b/airrohr-firmware/intl_gr.h index 452656b4..f92100b1 100644 --- a/airrohr-firmware/intl_gr.h +++ b/airrohr-firmware/intl_gr.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Αισθητήρας Tera Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "σωματιδιακή ύλη"; const char INTL_TEMPERATURE[] PROGMEM = "θερμοκρασία"; const char INTL_HUMIDITY[] PROGMEM = "υγρασία"; const char INTL_PRESSURE[] PROGMEM = "πίεση του αέρα"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_hu.h b/airrohr-firmware/intl_hu.h index edb753f7..e01f4f11 100644 --- a/airrohr-firmware/intl_hu.h +++ b/airrohr-firmware/intl_hu.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM szenzor"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "szálló por"; const char INTL_TEMPERATURE[] PROGMEM = "hőmérséklet"; const char INTL_HUMIDITY[] PROGMEM = "relatív páratartalom"; const char INTL_PRESSURE[] PROGMEM = "légnyomás"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_it.h b/airrohr-firmware/intl_it.h index bad235ba..36c69932 100644 --- a/airrohr-firmware/intl_it.h +++ b/airrohr-firmware/intl_it.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensore polveri sottili"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "polveri sottili"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Umidità"; const char INTL_PRESSURE[] PROGMEM = "Pressione dell'aria"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punto di rugiada"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_jp.h b/airrohr-firmware/intl_jp.h index 4244f939..73231439 100644 --- a/airrohr-firmware/intl_jp.h +++ b/airrohr-firmware/intl_jp.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "粒子状物質"; const char INTL_TEMPERATURE[] PROGMEM = "温度"; const char INTL_HUMIDITY[] PROGMEM = "湿度"; const char INTL_PRESSURE[] PROGMEM = "空気圧"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lt.h b/airrohr-firmware/intl_lt.h index cb9b80c1..597f13b1 100644 --- a/airrohr-firmware/intl_lt.h +++ b/airrohr-firmware/intl_lt.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "kietosios dalelės"; const char INTL_TEMPERATURE[] PROGMEM = "temperatūra"; const char INTL_HUMIDITY[] PROGMEM = "drėgmė"; const char INTL_PRESSURE[] PROGMEM = "oro slėgis"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lu.h b/airrohr-firmware/intl_lu.h index 6bdccbc5..80bd8f8c 100644 --- a/airrohr-firmware/intl_lu.h +++ b/airrohr-firmware/intl_lu.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Reng Stëbspartikelen"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Loftfiichtegkeet"; const char INTL_PRESSURE[] PROGMEM = "Loftdrock"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lv.h b/airrohr-firmware/intl_lv.h index 5e2c6cc8..49e116a8 100644 --- a/airrohr-firmware/intl_lv.h +++ b/airrohr-firmware/intl_lv.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "cietās daļiņas"; const char INTL_TEMPERATURE[] PROGMEM = "temperatūra"; const char INTL_HUMIDITY[] PROGMEM = "mitrums"; const char INTL_PRESSURE[] PROGMEM = "gaisa spiediens"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h index 32154b28..372249f5 100644 --- a/airrohr-firmware/intl_nl.h +++ b/airrohr-firmware/intl_nl.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "fijnstof"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. luchtvochtigheid"; const char INTL_PRESSURE[] PROGMEM = "Luchtdruk"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Dauwpunt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h index 6bd69cc2..a506199b 100644 --- a/airrohr-firmware/intl_pl.h +++ b/airrohr-firmware/intl_pl.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Pył zawieszony"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Wilgotność"; const char INTL_PRESSURE[] PROGMEM = "Ciśnienie"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punkt rosy"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_pt.h b/airrohr-firmware/intl_pt.h index 4d305581..acbacbf5 100644 --- a/airrohr-firmware/intl_pt.h +++ b/airrohr-firmware/intl_pt.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensor de partículas finas"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "partículas finas"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Humidade"; const char INTL_PRESSURE[] PROGMEM = "Pressão atmosférica"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ro.h b/airrohr-firmware/intl_ro.h index 68d3a54a..7510839c 100644 --- a/airrohr-firmware/intl_ro.h +++ b/airrohr-firmware/intl_ro.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "pulberi în suspensie"; const char INTL_TEMPERATURE[] PROGMEM = "temperatură"; const char INTL_HUMIDITY[] PROGMEM = "umiditate"; const char INTL_PRESSURE[] PROGMEM = "presiunea aerului"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_rs.h b/airrohr-firmware/intl_rs.h index 42d9ea5d..ecbef560 100644 --- a/airrohr-firmware/intl_rs.h +++ b/airrohr-firmware/intl_rs.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "suspendovane čestice"; const char INTL_TEMPERATURE[] PROGMEM = "temperatura"; const char INTL_HUMIDITY[] PROGMEM = "vlažnost"; const char INTL_PRESSURE[] PROGMEM = "vazdušni pritisak"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ru.h b/airrohr-firmware/intl_ru.h index cf29b690..a92088ea 100644 --- a/airrohr-firmware/intl_ru.h +++ b/airrohr-firmware/intl_ru.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Датчик пыли"; const char INTL_TEMPERATURE[] PROGMEM = "Температура"; const char INTL_HUMIDITY[] PROGMEM = "Относительная влажность"; const char INTL_PRESSURE[] PROGMEM = "Давление воздуха"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Точка росы"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_se.h b/airrohr-firmware/intl_se.h index 44a70e66..5bfbc633 100644 --- a/airrohr-firmware/intl_se.h +++ b/airrohr-firmware/intl_se.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "partikelsensor"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. fuktighet"; const char INTL_PRESSURE[] PROGMEM = "Lufttryck"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Daggpunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_si.h b/airrohr-firmware/intl_si.h index 1a0878f3..5b0ce287 100644 --- a/airrohr-firmware/intl_si.h +++ b/airrohr-firmware/intl_si.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Senzor Tera Naslednji PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "trdni delci"; const char INTL_TEMPERATURE[] PROGMEM = "temperatura"; const char INTL_HUMIDITY[] PROGMEM = "vlažnost"; const char INTL_PRESSURE[] PROGMEM = "zračni tlak"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_sk.h b/airrohr-firmware/intl_sk.h index 4ee73b65..0cd744b5 100644 --- a/airrohr-firmware/intl_sk.h +++ b/airrohr-firmware/intl_sk.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "prachových častíc"; const char INTL_TEMPERATURE[] PROGMEM = "teplota"; const char INTL_HUMIDITY[] PROGMEM = "rel. vlhkosť"; const char INTL_PRESSURE[] PROGMEM = "tlak vzduchu"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_template.h b/airrohr-firmware/intl_template.h index f3b6ca62..e179b398 100644 --- a/airrohr-firmware/intl_template.h +++ b/airrohr-firmware/intl_template.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = ""; const char INTL_TEMPERATURE[] PROGMEM = ""; const char INTL_HUMIDITY[] PROGMEM = ""; const char INTL_PRESSURE[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_tr.h b/airrohr-firmware/intl_tr.h index cf791bd7..d6c50824 100644 --- a/airrohr-firmware/intl_tr.h +++ b/airrohr-firmware/intl_tr.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Ince Toz(Hava Kirliliği)"; const char INTL_TEMPERATURE[] PROGMEM = "sıcaklık"; const char INTL_HUMIDITY[] PROGMEM = "nem"; const char INTL_PRESSURE[] PROGMEM = "hava basıncı"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "İşbâ"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h index cb70e9ed..bec4d97b 100644 --- a/airrohr-firmware/intl_ua.h +++ b/airrohr-firmware/intl_ua.h @@ -25,6 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -112,6 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Вимірювач дрібни const char INTL_TEMPERATURE[] PROGMEM = "температура"; const char INTL_HUMIDITY[] PROGMEM = "вологість"; const char INTL_PRESSURE[] PROGMEM = "атмосферний тиск"; +const char INTL_VOC[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "точка роси"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; From 473da94bedbb72987d01582c8c1baec005104da4 Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Fri, 9 Dec 2022 23:06:43 +0100 Subject: [PATCH 05/12] Add INTL_VOC translations for nl, de, en and ua --- airrohr-firmware/intl_de.h | 2 +- airrohr-firmware/intl_en.h | 2 +- airrohr-firmware/intl_nl.h | 2 +- airrohr-firmware/intl_ua.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index fae74d68..10c88979 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -113,7 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Feinstaub"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte"; const char INTL_PRESSURE[] PROGMEM = "Luftdruck"; -const char INTL_VOC[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = "Flüchtige organische Verbindungen"; const char INTL_DEW_POINT[] PROGMEM = "Taupunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_en.h b/airrohr-firmware/intl_en.h index 98eb8ec5..383db8f4 100644 --- a/airrohr-firmware/intl_en.h +++ b/airrohr-firmware/intl_en.h @@ -113,7 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "particulate matter"; const char INTL_TEMPERATURE[] PROGMEM = "temperature"; const char INTL_HUMIDITY[] PROGMEM = "humidity"; const char INTL_PRESSURE[] PROGMEM = "air pressure"; -const char INTL_VOC[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = "Volatile organic compounds"; const char INTL_DEW_POINT[] PROGMEM = "dew point"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h index 372249f5..b9880811 100644 --- a/airrohr-firmware/intl_nl.h +++ b/airrohr-firmware/intl_nl.h @@ -113,7 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "fijnstof"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. luchtvochtigheid"; const char INTL_PRESSURE[] PROGMEM = "Luchtdruk"; -const char INTL_VOC[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = "Vluchtige organische stoffen"; const char INTL_DEW_POINT[] PROGMEM = "Dauwpunt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h index bec4d97b..bae58cc2 100644 --- a/airrohr-firmware/intl_ua.h +++ b/airrohr-firmware/intl_ua.h @@ -113,7 +113,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Вимірювач дрібни const char INTL_TEMPERATURE[] PROGMEM = "температура"; const char INTL_HUMIDITY[] PROGMEM = "вологість"; const char INTL_PRESSURE[] PROGMEM = "атмосферний тиск"; -const char INTL_VOC[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = "Леткі органічні речовини"; const char INTL_DEW_POINT[] PROGMEM = "точка роси"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; From bce7d13fde03e21b736b587fc4e58d53e451a0fc Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Sat, 10 Dec 2022 00:00:45 +0100 Subject: [PATCH 06/12] Restore filemodes --- airrohr-firmware/.gitignore | 0 airrohr-firmware/Contributing.md | 0 airrohr-firmware/DHT.cpp | 0 airrohr-firmware/DHT.h | 0 airrohr-firmware/LICENSE.md | 0 airrohr-firmware/Readme.md | 0 airrohr-firmware/Versions.md | 0 airrohr-firmware/airrohr-cfg.h | 0 airrohr-firmware/airrohr-firmware.ino | 0 airrohr-firmware/airrohr-logo-common.h | 0 airrohr-firmware/astyle.rc | 0 airrohr-firmware/bmx280_i2c.cpp | 0 airrohr-firmware/bmx280_i2c.h | 0 airrohr-firmware/ca-root.h | 0 airrohr-firmware/defines.h | 0 airrohr-firmware/dnms_i2c.cpp | 0 airrohr-firmware/dnms_i2c.h | 0 airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf | Bin airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf | Bin airrohr-firmware/ext_def.h | 0 airrohr-firmware/html-content.h | 0 airrohr-firmware/intl.h | 0 airrohr-firmware/intl_bg.h | 0 airrohr-firmware/intl_cn.h | 0 airrohr-firmware/intl_cz.h | 0 airrohr-firmware/intl_de.h | 0 airrohr-firmware/intl_dk.h | 0 airrohr-firmware/intl_ee.h | 0 airrohr-firmware/intl_en.h | 0 airrohr-firmware/intl_es.h | 0 airrohr-firmware/intl_fi.h | 0 airrohr-firmware/intl_fr.h | 0 airrohr-firmware/intl_gr.h | 0 airrohr-firmware/intl_hu.h | 0 airrohr-firmware/intl_it.h | 0 airrohr-firmware/intl_jp.h | 0 airrohr-firmware/intl_lt.h | 0 airrohr-firmware/intl_lu.h | 0 airrohr-firmware/intl_lv.h | 0 airrohr-firmware/intl_nl.h | 0 airrohr-firmware/intl_pl.h | 0 airrohr-firmware/intl_pt.h | 0 airrohr-firmware/intl_ro.h | 0 airrohr-firmware/intl_rs.h | 0 airrohr-firmware/intl_ru.h | 0 airrohr-firmware/intl_se.h | 0 airrohr-firmware/intl_si.h | 0 airrohr-firmware/intl_sk.h | 0 airrohr-firmware/intl_template.h | 0 airrohr-firmware/intl_tr.h | 0 airrohr-firmware/intl_ua.h | 0 airrohr-firmware/lib/readme.txt | 0 airrohr-firmware/oledfont.h | 0 airrohr-firmware/platformio.ini | 0 airrohr-firmware/platformio_script.py | 0 .../ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin | Bin airrohr-firmware/sps30_i2c.cpp | 0 airrohr-firmware/sps30_i2c.h | 0 airrohr-firmware/utils.cpp | 0 airrohr-firmware/utils.h | 0 60 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 airrohr-firmware/.gitignore mode change 100755 => 100644 airrohr-firmware/Contributing.md mode change 100755 => 100644 airrohr-firmware/DHT.cpp mode change 100755 => 100644 airrohr-firmware/DHT.h mode change 100755 => 100644 airrohr-firmware/LICENSE.md mode change 100755 => 100644 airrohr-firmware/Readme.md mode change 100755 => 100644 airrohr-firmware/Versions.md mode change 100755 => 100644 airrohr-firmware/airrohr-cfg.h mode change 100755 => 100644 airrohr-firmware/airrohr-firmware.ino mode change 100755 => 100644 airrohr-firmware/airrohr-logo-common.h mode change 100755 => 100644 airrohr-firmware/astyle.rc mode change 100755 => 100644 airrohr-firmware/bmx280_i2c.cpp mode change 100755 => 100644 airrohr-firmware/bmx280_i2c.h mode change 100755 => 100644 airrohr-firmware/ca-root.h mode change 100755 => 100644 airrohr-firmware/defines.h mode change 100755 => 100644 airrohr-firmware/dnms_i2c.cpp mode change 100755 => 100644 airrohr-firmware/dnms_i2c.h mode change 100755 => 100644 airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf mode change 100755 => 100644 airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf mode change 100755 => 100644 airrohr-firmware/ext_def.h mode change 100755 => 100644 airrohr-firmware/html-content.h mode change 100755 => 100644 airrohr-firmware/intl.h mode change 100755 => 100644 airrohr-firmware/intl_bg.h mode change 100755 => 100644 airrohr-firmware/intl_cn.h mode change 100755 => 100644 airrohr-firmware/intl_cz.h mode change 100755 => 100644 airrohr-firmware/intl_de.h mode change 100755 => 100644 airrohr-firmware/intl_dk.h mode change 100755 => 100644 airrohr-firmware/intl_ee.h mode change 100755 => 100644 airrohr-firmware/intl_en.h mode change 100755 => 100644 airrohr-firmware/intl_es.h mode change 100755 => 100644 airrohr-firmware/intl_fi.h mode change 100755 => 100644 airrohr-firmware/intl_fr.h mode change 100755 => 100644 airrohr-firmware/intl_gr.h mode change 100755 => 100644 airrohr-firmware/intl_hu.h mode change 100755 => 100644 airrohr-firmware/intl_it.h mode change 100755 => 100644 airrohr-firmware/intl_jp.h mode change 100755 => 100644 airrohr-firmware/intl_lt.h mode change 100755 => 100644 airrohr-firmware/intl_lu.h mode change 100755 => 100644 airrohr-firmware/intl_lv.h mode change 100755 => 100644 airrohr-firmware/intl_nl.h mode change 100755 => 100644 airrohr-firmware/intl_pl.h mode change 100755 => 100644 airrohr-firmware/intl_pt.h mode change 100755 => 100644 airrohr-firmware/intl_ro.h mode change 100755 => 100644 airrohr-firmware/intl_rs.h mode change 100755 => 100644 airrohr-firmware/intl_ru.h mode change 100755 => 100644 airrohr-firmware/intl_se.h mode change 100755 => 100644 airrohr-firmware/intl_si.h mode change 100755 => 100644 airrohr-firmware/intl_sk.h mode change 100755 => 100644 airrohr-firmware/intl_template.h mode change 100755 => 100644 airrohr-firmware/intl_tr.h mode change 100755 => 100644 airrohr-firmware/intl_ua.h mode change 100755 => 100644 airrohr-firmware/lib/readme.txt mode change 100755 => 100644 airrohr-firmware/oledfont.h mode change 100755 => 100644 airrohr-firmware/platformio.ini mode change 100755 => 100644 airrohr-firmware/platformio_script.py mode change 100755 => 100644 airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin mode change 100755 => 100644 airrohr-firmware/sps30_i2c.cpp mode change 100755 => 100644 airrohr-firmware/sps30_i2c.h mode change 100755 => 100644 airrohr-firmware/utils.cpp mode change 100755 => 100644 airrohr-firmware/utils.h diff --git a/airrohr-firmware/.gitignore b/airrohr-firmware/.gitignore old mode 100755 new mode 100644 diff --git a/airrohr-firmware/Contributing.md b/airrohr-firmware/Contributing.md old mode 100755 new mode 100644 diff --git a/airrohr-firmware/DHT.cpp b/airrohr-firmware/DHT.cpp old mode 100755 new mode 100644 diff --git a/airrohr-firmware/DHT.h b/airrohr-firmware/DHT.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/LICENSE.md b/airrohr-firmware/LICENSE.md old mode 100755 new mode 100644 diff --git a/airrohr-firmware/Readme.md b/airrohr-firmware/Readme.md old mode 100755 new mode 100644 diff --git a/airrohr-firmware/Versions.md b/airrohr-firmware/Versions.md old mode 100755 new mode 100644 diff --git a/airrohr-firmware/airrohr-cfg.h b/airrohr-firmware/airrohr-cfg.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/airrohr-firmware.ino b/airrohr-firmware/airrohr-firmware.ino old mode 100755 new mode 100644 diff --git a/airrohr-firmware/airrohr-logo-common.h b/airrohr-firmware/airrohr-logo-common.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/astyle.rc b/airrohr-firmware/astyle.rc old mode 100755 new mode 100644 diff --git a/airrohr-firmware/bmx280_i2c.cpp b/airrohr-firmware/bmx280_i2c.cpp old mode 100755 new mode 100644 diff --git a/airrohr-firmware/bmx280_i2c.h b/airrohr-firmware/bmx280_i2c.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/ca-root.h b/airrohr-firmware/ca-root.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/defines.h b/airrohr-firmware/defines.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/dnms_i2c.cpp b/airrohr-firmware/dnms_i2c.cpp old mode 100755 new mode 100644 diff --git a/airrohr-firmware/dnms_i2c.h b/airrohr-firmware/dnms_i2c.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf b/airrohr-firmware/doc/IPS-Datasheet-V1.1.8.pdf old mode 100755 new mode 100644 diff --git a/airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf b/airrohr-firmware/doc/NextPM-User-Guide_v3.4.pdf old mode 100755 new mode 100644 diff --git a/airrohr-firmware/ext_def.h b/airrohr-firmware/ext_def.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/html-content.h b/airrohr-firmware/html-content.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl.h b/airrohr-firmware/intl.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_bg.h b/airrohr-firmware/intl_bg.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_cn.h b/airrohr-firmware/intl_cn.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_cz.h b/airrohr-firmware/intl_cz.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_dk.h b/airrohr-firmware/intl_dk.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_ee.h b/airrohr-firmware/intl_ee.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_en.h b/airrohr-firmware/intl_en.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_es.h b/airrohr-firmware/intl_es.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_fi.h b/airrohr-firmware/intl_fi.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_fr.h b/airrohr-firmware/intl_fr.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_gr.h b/airrohr-firmware/intl_gr.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_hu.h b/airrohr-firmware/intl_hu.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_it.h b/airrohr-firmware/intl_it.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_jp.h b/airrohr-firmware/intl_jp.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_lt.h b/airrohr-firmware/intl_lt.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_lu.h b/airrohr-firmware/intl_lu.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_lv.h b/airrohr-firmware/intl_lv.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_pt.h b/airrohr-firmware/intl_pt.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_ro.h b/airrohr-firmware/intl_ro.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_rs.h b/airrohr-firmware/intl_rs.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_ru.h b/airrohr-firmware/intl_ru.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_se.h b/airrohr-firmware/intl_se.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_si.h b/airrohr-firmware/intl_si.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_sk.h b/airrohr-firmware/intl_sk.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_template.h b/airrohr-firmware/intl_template.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_tr.h b/airrohr-firmware/intl_tr.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/lib/readme.txt b/airrohr-firmware/lib/readme.txt old mode 100755 new mode 100644 diff --git a/airrohr-firmware/oledfont.h b/airrohr-firmware/oledfont.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/platformio.ini b/airrohr-firmware/platformio.ini old mode 100755 new mode 100644 diff --git a/airrohr-firmware/platformio_script.py b/airrohr-firmware/platformio_script.py old mode 100755 new mode 100644 diff --git a/airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin b/airrohr-firmware/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin old mode 100755 new mode 100644 diff --git a/airrohr-firmware/sps30_i2c.cpp b/airrohr-firmware/sps30_i2c.cpp old mode 100755 new mode 100644 diff --git a/airrohr-firmware/sps30_i2c.h b/airrohr-firmware/sps30_i2c.h old mode 100755 new mode 100644 diff --git a/airrohr-firmware/utils.cpp b/airrohr-firmware/utils.cpp old mode 100755 new mode 100644 diff --git a/airrohr-firmware/utils.h b/airrohr-firmware/utils.h old mode 100755 new mode 100644 From c08eab192bbc6e130c62049f58d912b4f5fbf423 Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Sat, 10 Dec 2022 00:07:35 +0100 Subject: [PATCH 07/12] Add empty INTL_NOX language def for all languages --- airrohr-firmware/intl_bg.h | 1 + airrohr-firmware/intl_cn.h | 1 + airrohr-firmware/intl_cz.h | 1 + airrohr-firmware/intl_de.h | 1 + airrohr-firmware/intl_dk.h | 1 + airrohr-firmware/intl_ee.h | 1 + airrohr-firmware/intl_es.h | 1 + airrohr-firmware/intl_fi.h | 1 + airrohr-firmware/intl_gr.h | 1 + airrohr-firmware/intl_hu.h | 1 + airrohr-firmware/intl_it.h | 1 + airrohr-firmware/intl_jp.h | 1 + airrohr-firmware/intl_lt.h | 1 + airrohr-firmware/intl_lu.h | 1 + airrohr-firmware/intl_lv.h | 1 + airrohr-firmware/intl_nl.h | 1 + airrohr-firmware/intl_pl.h | 1 + airrohr-firmware/intl_pt.h | 1 + airrohr-firmware/intl_ro.h | 1 + airrohr-firmware/intl_rs.h | 1 + airrohr-firmware/intl_ru.h | 1 + airrohr-firmware/intl_se.h | 1 + airrohr-firmware/intl_si.h | 1 + airrohr-firmware/intl_sk.h | 1 + airrohr-firmware/intl_tr.h | 1 + airrohr-firmware/intl_ua.h | 1 + 26 files changed, 26 insertions(+) diff --git a/airrohr-firmware/intl_bg.h b/airrohr-firmware/intl_bg.h index 0ad6fb3b..4caba330 100644 --- a/airrohr-firmware/intl_bg.h +++ b/airrohr-firmware/intl_bg.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Температура"; const char INTL_HUMIDITY[] PROGMEM = "Влажност на въздуха"; const char INTL_PRESSURE[] PROGMEM = "Атмосферно налягане"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Точка на оросяване"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_cn.h b/airrohr-firmware/intl_cn.h index 25cca523..be83958e 100644 --- a/airrohr-firmware/intl_cn.h +++ b/airrohr-firmware/intl_cn.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "温度"; const char INTL_HUMIDITY[] PROGMEM = "湿度"; const char INTL_PRESSURE[] PROGMEM = "气压"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_cz.h b/airrohr-firmware/intl_cz.h index d26e28e9..6cd914d4 100644 --- a/airrohr-firmware/intl_cz.h +++ b/airrohr-firmware/intl_cz.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "teplota"; const char INTL_HUMIDITY[] PROGMEM = "rel. vlhkost"; const char INTL_PRESSURE[] PROGMEM = "tlak vzduchu"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index 10c88979..7423dfe5 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte"; const char INTL_PRESSURE[] PROGMEM = "Luftdruck"; const char INTL_VOC[] PROGMEM = "Flüchtige organische Verbindungen"; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Taupunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_dk.h b/airrohr-firmware/intl_dk.h index 817f162f..44676ddd 100644 --- a/airrohr-firmware/intl_dk.h +++ b/airrohr-firmware/intl_dk.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. Fugtighed"; const char INTL_PRESSURE[] PROGMEM = "Lufttryk"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Dugpunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ee.h b/airrohr-firmware/intl_ee.h index 973b59e7..05e2c507 100644 --- a/airrohr-firmware/intl_ee.h +++ b/airrohr-firmware/intl_ee.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "niiskus"; const char INTL_PRESSURE[] PROGMEM = "õhurõhk"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_es.h b/airrohr-firmware/intl_es.h index 5806e404..d8a27126 100644 --- a/airrohr-firmware/intl_es.h +++ b/airrohr-firmware/intl_es.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Humedad"; const char INTL_PRESSURE[] PROGMEM = "Presión atmosférica"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punto de rocío"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_fi.h b/airrohr-firmware/intl_fi.h index f782ad6d..87fb7654 100644 --- a/airrohr-firmware/intl_fi.h +++ b/airrohr-firmware/intl_fi.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "lämpötila"; const char INTL_HUMIDITY[] PROGMEM = "kosteus"; const char INTL_PRESSURE[] PROGMEM = "ilmanpaine"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_gr.h b/airrohr-firmware/intl_gr.h index f92100b1..fc2fab78 100644 --- a/airrohr-firmware/intl_gr.h +++ b/airrohr-firmware/intl_gr.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "θερμοκρασία"; const char INTL_HUMIDITY[] PROGMEM = "υγρασία"; const char INTL_PRESSURE[] PROGMEM = "πίεση του αέρα"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_hu.h b/airrohr-firmware/intl_hu.h index e01f4f11..46213047 100644 --- a/airrohr-firmware/intl_hu.h +++ b/airrohr-firmware/intl_hu.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "hőmérséklet"; const char INTL_HUMIDITY[] PROGMEM = "relatív páratartalom"; const char INTL_PRESSURE[] PROGMEM = "légnyomás"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_it.h b/airrohr-firmware/intl_it.h index 36c69932..f8dcb13f 100644 --- a/airrohr-firmware/intl_it.h +++ b/airrohr-firmware/intl_it.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Umidità"; const char INTL_PRESSURE[] PROGMEM = "Pressione dell'aria"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punto di rugiada"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_jp.h b/airrohr-firmware/intl_jp.h index 73231439..b3e920c7 100644 --- a/airrohr-firmware/intl_jp.h +++ b/airrohr-firmware/intl_jp.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "温度"; const char INTL_HUMIDITY[] PROGMEM = "湿度"; const char INTL_PRESSURE[] PROGMEM = "空気圧"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lt.h b/airrohr-firmware/intl_lt.h index 597f13b1..b5235441 100644 --- a/airrohr-firmware/intl_lt.h +++ b/airrohr-firmware/intl_lt.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatūra"; const char INTL_HUMIDITY[] PROGMEM = "drėgmė"; const char INTL_PRESSURE[] PROGMEM = "oro slėgis"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lu.h b/airrohr-firmware/intl_lu.h index 80bd8f8c..c19c99b2 100644 --- a/airrohr-firmware/intl_lu.h +++ b/airrohr-firmware/intl_lu.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Loftfiichtegkeet"; const char INTL_PRESSURE[] PROGMEM = "Loftdrock"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_lv.h b/airrohr-firmware/intl_lv.h index 49e116a8..59bb58ea 100644 --- a/airrohr-firmware/intl_lv.h +++ b/airrohr-firmware/intl_lv.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatūra"; const char INTL_HUMIDITY[] PROGMEM = "mitrums"; const char INTL_PRESSURE[] PROGMEM = "gaisa spiediens"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h index b9880811..d44d8d79 100644 --- a/airrohr-firmware/intl_nl.h +++ b/airrohr-firmware/intl_nl.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. luchtvochtigheid"; const char INTL_PRESSURE[] PROGMEM = "Luchtdruk"; const char INTL_VOC[] PROGMEM = "Vluchtige organische stoffen"; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Dauwpunt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h index a506199b..bb2abd7b 100644 --- a/airrohr-firmware/intl_pl.h +++ b/airrohr-firmware/intl_pl.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Wilgotność"; const char INTL_PRESSURE[] PROGMEM = "Ciśnienie"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Punkt rosy"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_pt.h b/airrohr-firmware/intl_pt.h index acbacbf5..95c43744 100644 --- a/airrohr-firmware/intl_pt.h +++ b/airrohr-firmware/intl_pt.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Humidade"; const char INTL_PRESSURE[] PROGMEM = "Pressão atmosférica"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ro.h b/airrohr-firmware/intl_ro.h index 7510839c..9cada69b 100644 --- a/airrohr-firmware/intl_ro.h +++ b/airrohr-firmware/intl_ro.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatură"; const char INTL_HUMIDITY[] PROGMEM = "umiditate"; const char INTL_PRESSURE[] PROGMEM = "presiunea aerului"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_rs.h b/airrohr-firmware/intl_rs.h index ecbef560..2ab4c348 100644 --- a/airrohr-firmware/intl_rs.h +++ b/airrohr-firmware/intl_rs.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatura"; const char INTL_HUMIDITY[] PROGMEM = "vlažnost"; const char INTL_PRESSURE[] PROGMEM = "vazdušni pritisak"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ru.h b/airrohr-firmware/intl_ru.h index a92088ea..a225ac36 100644 --- a/airrohr-firmware/intl_ru.h +++ b/airrohr-firmware/intl_ru.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Температура"; const char INTL_HUMIDITY[] PROGMEM = "Относительная влажность"; const char INTL_PRESSURE[] PROGMEM = "Давление воздуха"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Точка росы"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_se.h b/airrohr-firmware/intl_se.h index 5bfbc633..ac8eeceb 100644 --- a/airrohr-firmware/intl_se.h +++ b/airrohr-firmware/intl_se.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. fuktighet"; const char INTL_PRESSURE[] PROGMEM = "Lufttryck"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "Daggpunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_si.h b/airrohr-firmware/intl_si.h index 5b0ce287..9c4ca15a 100644 --- a/airrohr-firmware/intl_si.h +++ b/airrohr-firmware/intl_si.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperatura"; const char INTL_HUMIDITY[] PROGMEM = "vlažnost"; const char INTL_PRESSURE[] PROGMEM = "zračni tlak"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_sk.h b/airrohr-firmware/intl_sk.h index 0cd744b5..4156a6ac 100644 --- a/airrohr-firmware/intl_sk.h +++ b/airrohr-firmware/intl_sk.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "teplota"; const char INTL_HUMIDITY[] PROGMEM = "rel. vlhkosť"; const char INTL_PRESSURE[] PROGMEM = "tlak vzduchu"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = ""; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_tr.h b/airrohr-firmware/intl_tr.h index d6c50824..138b0c63 100644 --- a/airrohr-firmware/intl_tr.h +++ b/airrohr-firmware/intl_tr.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "sıcaklık"; const char INTL_HUMIDITY[] PROGMEM = "nem"; const char INTL_PRESSURE[] PROGMEM = "hava basıncı"; const char INTL_VOC[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "İşbâ"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h index bae58cc2..81b0188c 100644 --- a/airrohr-firmware/intl_ua.h +++ b/airrohr-firmware/intl_ua.h @@ -114,6 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "температура"; const char INTL_HUMIDITY[] PROGMEM = "вологість"; const char INTL_PRESSURE[] PROGMEM = "атмосферний тиск"; const char INTL_VOC[] PROGMEM = "Леткі органічні речовини"; +const char INTL_NOX[] PROGMEM = ""; const char INTL_DEW_POINT[] PROGMEM = "точка роси"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; From 2ce41db656700b2f3170ecc97cee2f0509df7361 Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Sat, 10 Dec 2022 00:19:23 +0100 Subject: [PATCH 08/12] Add {nox} to INTL_SEN5X --- airrohr-firmware/intl_bg.h | 2 +- airrohr-firmware/intl_cn.h | 2 +- airrohr-firmware/intl_cz.h | 2 +- airrohr-firmware/intl_de.h | 2 +- airrohr-firmware/intl_dk.h | 2 +- airrohr-firmware/intl_ee.h | 2 +- airrohr-firmware/intl_es.h | 2 +- airrohr-firmware/intl_fi.h | 2 +- airrohr-firmware/intl_gr.h | 2 +- airrohr-firmware/intl_hu.h | 2 +- airrohr-firmware/intl_it.h | 2 +- airrohr-firmware/intl_jp.h | 2 +- airrohr-firmware/intl_lt.h | 2 +- airrohr-firmware/intl_lu.h | 2 +- airrohr-firmware/intl_lv.h | 2 +- airrohr-firmware/intl_nl.h | 2 +- airrohr-firmware/intl_pl.h | 2 +- airrohr-firmware/intl_pt.h | 2 +- airrohr-firmware/intl_ro.h | 2 +- airrohr-firmware/intl_rs.h | 2 +- airrohr-firmware/intl_ru.h | 2 +- airrohr-firmware/intl_se.h | 2 +- airrohr-firmware/intl_si.h | 2 +- airrohr-firmware/intl_sk.h | 2 +- airrohr-firmware/intl_tr.h | 2 +- airrohr-firmware/intl_ua.h | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/airrohr-firmware/intl_bg.h b/airrohr-firmware/intl_bg.h index 4caba330..eec81992 100644 --- a/airrohr-firmware/intl_bg.h +++ b/airrohr-firmware/intl_bg.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell сензора за прахови ч const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_cn.h b/airrohr-firmware/intl_cn.h index be83958e..698e6134 100644 --- a/airrohr-firmware/intl_cn.h +++ b/airrohr-firmware/intl_cn.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera传感器下一个PM({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_cz.h b/airrohr-firmware/intl_cz.h index 6cd914d4..ca635d6f 100644 --- a/airrohr-firmware/intl_cz.h +++ b/airrohr-firmware/intl_cz.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index 7423dfe5..3289bad2 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_dk.h b/airrohr-firmware/intl_dk.h index 44676ddd..5c12a855 100644 --- a/airrohr-firmware/intl_dk.h +++ b/airrohr-firmware/intl_dk.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_ee.h b/airrohr-firmware/intl_ee.h index 05e2c507..f0319a39 100644 --- a/airrohr-firmware/intl_ee.h +++ b/airrohr-firmware/intl_ee.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Järgmine PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_es.h b/airrohr-firmware/intl_es.h index d8a27126..8277de59 100644 --- a/airrohr-firmware/intl_es.h +++ b/airrohr-firmware/intl_es.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensor de partículas finas"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_fi.h b/airrohr-firmware/intl_fi.h index 87fb7654..0e6a3fd8 100644 --- a/airrohr-firmware/intl_fi.h +++ b/airrohr-firmware/intl_fi.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Seuraava PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_gr.h b/airrohr-firmware/intl_gr.h index fc2fab78..7c11b1a4 100644 --- a/airrohr-firmware/intl_gr.h +++ b/airrohr-firmware/intl_gr.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Αισθητήρας Tera Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_hu.h b/airrohr-firmware/intl_hu.h index 46213047..db1f26f6 100644 --- a/airrohr-firmware/intl_hu.h +++ b/airrohr-firmware/intl_hu.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM szenzor"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_it.h b/airrohr-firmware/intl_it.h index f8dcb13f..debba85a 100644 --- a/airrohr-firmware/intl_it.h +++ b/airrohr-firmware/intl_it.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensore polveri sottili"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_jp.h b/airrohr-firmware/intl_jp.h index b3e920c7..8ab6ac32 100644 --- a/airrohr-firmware/intl_jp.h +++ b/airrohr-firmware/intl_jp.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_lt.h b/airrohr-firmware/intl_lt.h index b5235441..10aff804 100644 --- a/airrohr-firmware/intl_lt.h +++ b/airrohr-firmware/intl_lt.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_lu.h b/airrohr-firmware/intl_lu.h index c19c99b2..1e82df01 100644 --- a/airrohr-firmware/intl_lu.h +++ b/airrohr-firmware/intl_lu.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_lv.h b/airrohr-firmware/intl_lv.h index 59bb58ea..4360aeca 100644 --- a/airrohr-firmware/intl_lv.h +++ b/airrohr-firmware/intl_lv.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h index d44d8d79..e936f975 100644 --- a/airrohr-firmware/intl_nl.h +++ b/airrohr-firmware/intl_nl.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h index bb2abd7b..530cbc88 100644 --- a/airrohr-firmware/intl_pl.h +++ b/airrohr-firmware/intl_pl.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_pt.h b/airrohr-firmware/intl_pt.h index 95c43744..d353d8fb 100644 --- a/airrohr-firmware/intl_pt.h +++ b/airrohr-firmware/intl_pt.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell sensor de partículas finas"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_ro.h b/airrohr-firmware/intl_ro.h index 9cada69b..7c8ffe4f 100644 --- a/airrohr-firmware/intl_ro.h +++ b/airrohr-firmware/intl_ro.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_rs.h b/airrohr-firmware/intl_rs.h index 2ab4c348..ff1c0ed2 100644 --- a/airrohr-firmware/intl_rs.h +++ b/airrohr-firmware/intl_rs.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_ru.h b/airrohr-firmware/intl_ru.h index a225ac36..6cfeb73f 100644 --- a/airrohr-firmware/intl_ru.h +++ b/airrohr-firmware/intl_ru.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_se.h b/airrohr-firmware/intl_se.h index ac8eeceb..afb8ad89 100644 --- a/airrohr-firmware/intl_se.h +++ b/airrohr-firmware/intl_se.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_si.h b/airrohr-firmware/intl_si.h index 9c4ca15a..264c548c 100644 --- a/airrohr-firmware/intl_si.h +++ b/airrohr-firmware/intl_si.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Senzor Tera Naslednji PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_sk.h b/airrohr-firmware/intl_sk.h index 4156a6ac..a3ab0d65 100644 --- a/airrohr-firmware/intl_sk.h +++ b/airrohr-firmware/intl_sk.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_tr.h b/airrohr-firmware/intl_tr.h index 138b0c63..5047885d 100644 --- a/airrohr-firmware/intl_tr.h +++ b/airrohr-firmware/intl_tr.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h index 81b0188c..e6f9872e 100644 --- a/airrohr-firmware/intl_ua.h +++ b/airrohr-firmware/intl_ua.h @@ -25,7 +25,7 @@ const char INTL_HPM[] PROGMEM = "Honeywell PM ({pm})"; const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; -const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; +const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; From c3441be49b1d7daf44c9d6749178571fe0ee425c Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Sat, 10 Dec 2022 14:33:21 +0100 Subject: [PATCH 09/12] Fix nox and voc replacements --- airrohr-firmware/utils.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airrohr-firmware/utils.cpp b/airrohr-firmware/utils.cpp index 6e14dda3..6d3dec1d 100644 --- a/airrohr-firmware/utils.cpp +++ b/airrohr-firmware/utils.cpp @@ -105,8 +105,8 @@ String add_sensor_type(const String& sensor_text) { s.replace("{h}", FPSTR(INTL_HUMIDITY)); s.replace("{p}", FPSTR(INTL_PRESSURE)); s.replace("{l_a}", FPSTR(INTL_LEQ_A)); - s.replace("{voc}", FPSTR(INTL_LEQ_A)); - s.replace("{nox}", FPSTR(INTL_LEQ_A)); + s.replace("{voc}", FPSTR(INTL_VOC)); + s.replace("{nox}", FPSTR(INTL_NOX)); return s; } @@ -752,4 +752,4 @@ bool isNumeric(const String& str) { return false; } return true; -} \ No newline at end of file +} From 5df6ae20584ee154c68585dea0800e309ab96366 Mon Sep 17 00:00:00 2001 From: Phaze-III Date: Sat, 10 Dec 2022 14:46:32 +0100 Subject: [PATCH 10/12] Add INTL_NOX translations for nl, de, en and ua --- airrohr-firmware/intl_de.h | 2 +- airrohr-firmware/intl_en.h | 2 +- airrohr-firmware/intl_nl.h | 2 +- airrohr-firmware/intl_ua.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index 3289bad2..5db2571b 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -114,7 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte"; const char INTL_PRESSURE[] PROGMEM = "Luftdruck"; const char INTL_VOC[] PROGMEM = "Flüchtige organische Verbindungen"; -const char INTL_NOX[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = "Stickstoffoxiden"; const char INTL_DEW_POINT[] PROGMEM = "Taupunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_en.h b/airrohr-firmware/intl_en.h index 3e627c8e..f009a09b 100644 --- a/airrohr-firmware/intl_en.h +++ b/airrohr-firmware/intl_en.h @@ -115,7 +115,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "temperature"; const char INTL_HUMIDITY[] PROGMEM = "humidity"; const char INTL_PRESSURE[] PROGMEM = "air pressure"; const char INTL_VOC[] PROGMEM = "Volatile organic compound"; -const char INTL_NOX[] PROGMEM = "Natrium oxydes"; +const char INTL_NOX[] PROGMEM = "Nitrogen oxides"; const char INTL_DEW_POINT[] PROGMEM = "dew point"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_nl.h b/airrohr-firmware/intl_nl.h index e936f975..e53d756e 100644 --- a/airrohr-firmware/intl_nl.h +++ b/airrohr-firmware/intl_nl.h @@ -114,7 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "Temperatuur"; const char INTL_HUMIDITY[] PROGMEM = "Rel. luchtvochtigheid"; const char INTL_PRESSURE[] PROGMEM = "Luchtdruk"; const char INTL_VOC[] PROGMEM = "Vluchtige organische stoffen"; -const char INTL_NOX[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = "Stikstofoxiden"; const char INTL_DEW_POINT[] PROGMEM = "Dauwpunt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; diff --git a/airrohr-firmware/intl_ua.h b/airrohr-firmware/intl_ua.h index e6f9872e..4c92b7a5 100644 --- a/airrohr-firmware/intl_ua.h +++ b/airrohr-firmware/intl_ua.h @@ -114,7 +114,7 @@ const char INTL_TEMPERATURE[] PROGMEM = "температура"; const char INTL_HUMIDITY[] PROGMEM = "вологість"; const char INTL_PRESSURE[] PROGMEM = "атмосферний тиск"; const char INTL_VOC[] PROGMEM = "Леткі органічні речовини"; -const char INTL_NOX[] PROGMEM = ""; +const char INTL_NOX[] PROGMEM = "Оксиди азоту"; const char INTL_DEW_POINT[] PROGMEM = "точка роси"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; From 9b151aafddee0bfde70a34517d47dd95ead2523c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Jean=20Gu=C3=A9no?= Date: Sun, 11 Dec 2022 20:45:05 +0100 Subject: [PATCH 11/12] further correction --- airrohr-firmware/intl_de.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/airrohr-firmware/intl_de.h b/airrohr-firmware/intl_de.h index 5db2571b..919ea3f1 100644 --- a/airrohr-firmware/intl_de.h +++ b/airrohr-firmware/intl_de.h @@ -26,6 +26,7 @@ const char INTL_NPM[] PROGMEM = "Tera Sensor Next PM ({pm})"; const char INTL_NPM_FULLTIME[] PROGMEM = "Next PM fulltime"; const char INTL_IPS[] PROGMEM = "Piera Systems IPS-7100 ({pm})"; const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc}, {nox})"; +//const char INTL_SEN5X[] PROGMEM = "Sensirion I2C SEN5X ({pm}, {t}, {h}, {voc})"; const char INTL_SPS30[] PROGMEM = "Sensirion SPS30 ({pm})"; const char INTL_PPD42NS[] PROGMEM = "PPD42NS ({pm})"; const char INTL_DHT22[] PROGMEM = "DHT22 ({t}, {h})"; @@ -68,7 +69,7 @@ const char INTL_STATIC_DNS[] PROGMEM = "DNS Server"; const char INTL_DEBUG_LEVEL[] PROGMEM = "Debug Level"; const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Messintervall"; const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Dauer Routermodus"; -const char INTL_POWERSAVE[] PROGMEM = "Energie sparen"; +const char INTL_POWERSAVE[] PROGMEM = "Energiesparen"; const char INTL_MORE_APIS[] PROGMEM = "Weitere APIs"; const char INTL_SEND_TO_OWN_API[] PROGMEM = "An eigene API senden"; const char INTL_SERVER[] PROGMEM = "Server"; @@ -113,8 +114,8 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Feinstaub"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatur"; const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte"; const char INTL_PRESSURE[] PROGMEM = "Luftdruck"; -const char INTL_VOC[] PROGMEM = "Flüchtige organische Verbindungen"; -const char INTL_NOX[] PROGMEM = "Stickstoffoxiden"; +const char INTL_VOC[] PROGMEM = "flüchtige organische Stoffe VOC"; +const char INTL_NOX[] PROGMEM = "Stickoxide NOx"; const char INTL_DEW_POINT[] PROGMEM = "Taupunkt"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq"; From a87b025c5f84d41c2768e66c179587d087102c90 Mon Sep 17 00:00:00 2001 From: n0c0n <34105824+n0c0n@users.noreply.github.com> Date: Fri, 3 Feb 2023 19:38:42 +0100 Subject: [PATCH 12/12] Update intl_pl.h Added polish translation for power saving, NOx and VOC --- airrohr-firmware/intl_pl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airrohr-firmware/intl_pl.h b/airrohr-firmware/intl_pl.h index 530cbc88..b39e2fd6 100644 --- a/airrohr-firmware/intl_pl.h +++ b/airrohr-firmware/intl_pl.h @@ -68,7 +68,7 @@ const char INTL_STATIC_DNS[] PROGMEM = "Statyczny DNS"; const char INTL_DEBUG_LEVEL[] PROGMEM = "Poziom debugowania"; const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Czas między pomiarami (sek.)"; const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Czas trwania w trybie routera (sek.)"; -const char INTL_POWERSAVE[] PROGMEM = ""; +const char INTL_POWERSAVE[] PROGMEM = "Oszczędzanie energii"; const char INTL_MORE_APIS[] PROGMEM = "Kolejne API"; const char INTL_SEND_TO_OWN_API[] PROGMEM = "Wysyłaj dane do własnego API"; const char INTL_SERVER[] PROGMEM = "Adres serwera"; @@ -113,8 +113,8 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Pył zawieszony"; const char INTL_TEMPERATURE[] PROGMEM = "Temperatura"; const char INTL_HUMIDITY[] PROGMEM = "Wilgotność"; const char INTL_PRESSURE[] PROGMEM = "Ciśnienie"; -const char INTL_VOC[] PROGMEM = ""; -const char INTL_NOX[] PROGMEM = ""; +const char INTL_VOC[] PROGMEM = "Lotne związki organiczne"; +const char INTL_NOX[] PROGMEM = "Tlenki azotu"; const char INTL_DEW_POINT[] PROGMEM = "Punkt rosy"; const char INTL_CO2_PPM[] PROGMEM = "ppm CO₂"; const char INTL_LEQ_A[] PROGMEM = "LAeq";