Skip to content

Commit 883197e

Browse files
committed
2 parents da64d1f + 8f8f984 commit 883197e

34 files changed

+373
-6
lines changed

airrohr-firmware/airrohr-cfg.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ enum ConfigShapeId {
4848
Config_dnms_read,
4949
Config_dnms_correction,
5050
Config_temp_correction,
51+
Config_height_above_sealevel,
5152
Config_gps_read,
5253
Config_send2dusti,
5354
Config_ssl_dusti,
@@ -68,6 +69,10 @@ enum ConfigShapeId {
6869
Config_has_lcd2004_27,
6970
Config_display_wifi_info,
7071
Config_display_device_info,
72+
Config_static_ip,
73+
Config_static_subnet,
74+
Config_static_gateway,
75+
Config_static_dns,
7176
Config_debug,
7277
Config_sending_intervall_ms,
7378
Config_time_for_wifi_config,
@@ -111,6 +116,7 @@ static constexpr char CFG_KEY_DS18B20_READ[] PROGMEM = "ds18b20_read";
111116
static constexpr char CFG_KEY_DNMS_READ[] PROGMEM = "dnms_read";
112117
static constexpr char CFG_KEY_DNMS_CORRECTION[] PROGMEM = "dnms_correction";
113118
static constexpr char CFG_KEY_TEMP_CORRECTION[] PROGMEM = "temp_correction";
119+
static constexpr char CFG_KEY_HEIGHT_ABOVE_SEALEVEL[] PROGMEM = "height_above_sealevel";
114120
static constexpr char CFG_KEY_GPS_READ[] PROGMEM = "gps_read";
115121
static constexpr char CFG_KEY_SEND2DUSTI[] PROGMEM = "send2dusti";
116122
static constexpr char CFG_KEY_SSL_DUSTI[] PROGMEM = "ssl_dusti";
@@ -131,6 +137,10 @@ static constexpr char CFG_KEY_HAS_LCD2004[] PROGMEM = "has_lcd2004";
131137
static constexpr char CFG_KEY_HAS_LCD2004_27[] PROGMEM = "has_lcd2004_27";
132138
static constexpr char CFG_KEY_DISPLAY_WIFI_INFO[] PROGMEM = "display_wifi_info";
133139
static constexpr char CFG_KEY_DISPLAY_DEVICE_INFO[] PROGMEM = "display_device_info";
140+
static constexpr char CFG_KEY_STATIC_IP[] PROGMEM = "static_ip";
141+
static constexpr char CFG_KEY_STATIC_SUBNET[] PROGMEM = "static_subnet";
142+
static constexpr char CFG_KEY_STATIC_GATEWAY[] PROGMEM = "static_gateway";
143+
static constexpr char CFG_KEY_STATIC_DNS[] PROGMEM = "static_dns";
134144
static constexpr char CFG_KEY_DEBUG[] PROGMEM = "debug";
135145
static constexpr char CFG_KEY_SENDING_INTERVALL_MS[] PROGMEM = "sending_intervall_ms";
136146
static constexpr char CFG_KEY_TIME_FOR_WIFI_CONFIG[] PROGMEM = "time_for_wifi_config";
@@ -174,6 +184,7 @@ static constexpr ConfigShapeEntry configShape[] PROGMEM = {
174184
{ Config_Type_Bool, 0, CFG_KEY_DNMS_READ, &cfg::dnms_read },
175185
{ Config_Type_String, sizeof(cfg::dnms_correction)-1, CFG_KEY_DNMS_CORRECTION, cfg::dnms_correction },
176186
{ Config_Type_String, sizeof(cfg::temp_correction)-1, CFG_KEY_TEMP_CORRECTION, cfg::temp_correction },
187+
{ Config_Type_String, sizeof(cfg::height_above_sealevel)-1, CFG_KEY_HEIGHT_ABOVE_SEALEVEL, cfg::height_above_sealevel },
177188
{ Config_Type_Bool, 0, CFG_KEY_GPS_READ, &cfg::gps_read },
178189
{ Config_Type_Bool, 0, CFG_KEY_SEND2DUSTI, &cfg::send2dusti },
179190
{ Config_Type_Bool, 0, CFG_KEY_SSL_DUSTI, &cfg::ssl_dusti },
@@ -194,6 +205,10 @@ static constexpr ConfigShapeEntry configShape[] PROGMEM = {
194205
{ Config_Type_Bool, 0, CFG_KEY_HAS_LCD2004_27, &cfg::has_lcd2004_27 },
195206
{ Config_Type_Bool, 0, CFG_KEY_DISPLAY_WIFI_INFO, &cfg::display_wifi_info },
196207
{ Config_Type_Bool, 0, CFG_KEY_DISPLAY_DEVICE_INFO, &cfg::display_device_info },
208+
{ Config_Type_String, sizeof(cfg::static_ip)-1, CFG_KEY_STATIC_IP, cfg::static_ip },
209+
{ Config_Type_String, sizeof(cfg::static_subnet)-1, CFG_KEY_STATIC_SUBNET, cfg::static_subnet },
210+
{ Config_Type_String, sizeof(cfg::static_gateway)-1, CFG_KEY_STATIC_GATEWAY, cfg::static_gateway },
211+
{ Config_Type_String, sizeof(cfg::static_dns)-1, CFG_KEY_STATIC_DNS, cfg::static_dns },
197212
{ Config_Type_UInt, 0, CFG_KEY_DEBUG, &cfg::debug },
198213
{ Config_Type_Time, 0, CFG_KEY_SENDING_INTERVALL_MS, &cfg::sending_intervall_ms },
199214
{ Config_Type_Time, 0, CFG_KEY_TIME_FOR_WIFI_CONFIG, &cfg::time_for_wifi_config },

airrohr-firmware/airrohr-cfg.h.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
Bool dnms_read
2525
String dnms_correction
2626
String temp_correction
27+
String height_above_sealevel
2728
Bool gps_read
2829
Bool send2dusti
2930
Bool ssl_dusti
@@ -44,6 +45,10 @@
4445
Bool has_lcd2004_27
4546
Bool display_wifi_info
4647
Bool display_device_info
48+
String static_ip
49+
String static_subnet
50+
String static_gateway
51+
String static_dns
4752
UInt debug
4853
Time sending_intervall_ms
4954
Time time_for_wifi_config

airrohr-firmware/airrohr-firmware.ino

Lines changed: 60 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
#include <pgmspace.h>
6161

6262
// increment on change
63-
#define SOFTWARE_VERSION_STR "NRZ-2020-134-B1"
63+
#define SOFTWARE_VERSION_STR "NRZ-2020-134-B2"
6464
String SOFTWARE_VERSION(SOFTWARE_VERSION_STR);
6565

6666
/*****************************************************************
@@ -148,6 +148,11 @@ namespace cfg {
148148
// wifi credentials
149149
char wlanssid[LEN_WLANSSID];
150150
char wlanpwd[LEN_CFG_PASSWORD];
151+
152+
char static_ip[16];
153+
char static_subnet[16];
154+
char static_gateway[16];
155+
char static_dns[16];
151156

152157
// credentials of the sensor in access point mode
153158
char fs_ssid[LEN_FS_SSID] = FS_SSID;
@@ -164,6 +169,7 @@ namespace cfg {
164169
bool sps30_read = SPS30_READ;
165170
bool bmp_read = BMP_READ;
166171
bool bmx280_read = BMX280_READ;
172+
char height_above_sealevel[8] = "0";
167173
bool sht3x_read = SHT3X_READ;
168174
bool ds18b20_read = DS18B20_READ;
169175
bool dnms_read = DNMS_READ;
@@ -205,7 +211,7 @@ namespace cfg {
205211
char url_influx[LEN_URL_INFLUX];
206212
unsigned port_influx = PORT_INFLUX;
207213
char user_influx[LEN_USER_INFLUX] = USER_INFLUX;
208-
char pwd_influx[LEN_CFG_PASSWORD] = PWD_INFLUX;
214+
char pwd_influx[LEN_PASS_INFLUX] = PWD_INFLUX;
209215
char measurement_name_influx[LEN_MEASUREMENT_NAME_INFLUX];
210216
bool ssl_influx = SSL_INFLUX;
211217

@@ -502,6 +508,11 @@ struct struct_wifiInfo {
502508
struct struct_wifiInfo *wifiInfo;
503509
uint8_t count_wifiInfo;
504510

511+
IPAddress addr_static_ip;
512+
IPAddress addr_static_subnet;
513+
IPAddress addr_static_gateway;
514+
IPAddress addr_static_dns;
515+
505516
#define msSince(timestamp_before) (act_milli - (timestamp_before))
506517

507518
const char data_first_part[] PROGMEM = "{\"software_version\": \"" SOFTWARE_VERSION_STR "\", \"sensordatavalues\":[";
@@ -803,6 +814,31 @@ static void createLoggerConfigs() {
803814
}
804815
}
805816

817+
/*****************************************************************
818+
* dew point helper function *
819+
*****************************************************************/
820+
static float dew_point(const float temperature, const float humidity) {
821+
float dew_temp;
822+
const float k2 = 17.62;
823+
const float k3 = 243.12;
824+
825+
dew_temp = k3 * ( ( ( k2 * temperature ) / ( k3 + temperature ) ) + log(humidity / 100.0f) ) / ( ( ( k2 * k3 ) / ( k3 + temperature) ) - log(humidity / 100.0f) );
826+
827+
return dew_temp;
828+
}
829+
830+
/*****************************************************************
831+
* dew point helper function *
832+
*****************************************************************/
833+
static float pressure_at_sealevel(const float temperature, const float pressure) {
834+
float pressure_at_sealevel;
835+
836+
pressure_at_sealevel = pressure * pow(((temperature + 273.15f)/ (temperature + 273.15f + (0.0065f * readCorrectionOffset(cfg::height_above_sealevel)))),-5.255f);
837+
838+
return pressure_at_sealevel;
839+
}
840+
841+
806842
/*****************************************************************
807843
* html helper functions *
808844
*****************************************************************/
@@ -1100,6 +1136,14 @@ static void webserver_config_send_body_get(String& page_content) {
11001136
add_form_checkbox(Config_display_wifi_info, FPSTR(INTL_DISPLAY_WIFI_INFO));
11011137
add_form_checkbox(Config_display_device_info, FPSTR(INTL_DISPLAY_DEVICE_INFO));
11021138

1139+
page_content = FPSTR(WEB_BR_LF_B);
1140+
page_content += F(INTL_STATIC_IP_TEXT "</b><br/>");
1141+
add_form_input(page_content, Config_static_ip, FPSTR(INTL_STATIC_IP), 15);
1142+
add_form_input(page_content, Config_static_subnet, FPSTR(INTL_STATIC_SUBNET), 15);
1143+
add_form_input(page_content, Config_static_gateway, FPSTR(INTL_STATIC_GATEWAY), 15);
1144+
add_form_input(page_content, Config_static_dns, FPSTR(INTL_STATIC_DNS), 15);
1145+
page_content += FPSTR(BR_TAG);
1146+
11031147
server.sendContent(page_content);
11041148
page_content = FPSTR(WEB_BR_LF_B);
11051149
page_content += F(INTL_FIRMWARE "</b>&nbsp;");
@@ -1147,6 +1191,7 @@ static void webserver_config_send_body_get(String& page_content) {
11471191
page_content += FPSTR(TABLE_TAG_OPEN);
11481192
add_form_input(page_content, Config_dnms_correction, FPSTR(INTL_DNMS_CORRECTION), LEN_DNMS_CORRECTION-1);
11491193
add_form_input(page_content, Config_temp_correction, FPSTR(INTL_TEMP_CORRECTION), LEN_TEMP_CORRECTION-1);
1194+
add_form_input(page_content, Config_height_above_sealevel, FPSTR(INTL_HEIGHT_ABOVE_SEALEVEL), LEN_HEIGHT_ABOVE_SEALEVEL-1);
11501195
page_content += FPSTR(TABLE_TAG_CLOSE_BR);
11511196

11521197
page_content += FPSTR(WEB_BR_LF_B);
@@ -1399,8 +1444,10 @@ static void webserver_values() {
13991444
start_html_page(page_content, FPSTR(INTL_CURRENT_DATA));
14001445
const String unit_Deg("°");
14011446
const String unit_P("hPa");
1447+
const String unit_T("°C");
14021448
const String unit_NC();
14031449
const String unit_LA(F("dB(A)"));
1450+
float dew_point_temp;
14041451

14051452
const int signal_quality = calcWiFiSignalQuality(last_signal_strength);
14061453
debug_outln_info(F("ws: values ..."));
@@ -1488,25 +1535,33 @@ static void webserver_values() {
14881535
if (cfg::htu21d_read) {
14891536
add_table_t_value(FPSTR(SENSORS_HTU21D), FPSTR(INTL_TEMPERATURE), last_value_HTU21D_T);
14901537
add_table_h_value(FPSTR(SENSORS_HTU21D), FPSTR(INTL_HUMIDITY), last_value_HTU21D_H);
1538+
dew_point_temp = dew_point(last_value_HTU21D_T, last_value_HTU21D_H);
1539+
add_table_value(FPSTR(SENSORS_HTU21D), FPSTR(INTL_DEW_POINT), isnan(dew_point_temp) ? "-" : String(dew_point_temp,1), unit_T);
14911540
page_content += FPSTR(EMPTY_ROW);
14921541
}
14931542
if (cfg::bmp_read) {
14941543
add_table_t_value(FPSTR(SENSORS_BMP180), FPSTR(INTL_TEMPERATURE), last_value_BMP_T);
14951544
add_table_value(FPSTR(SENSORS_BMP180), FPSTR(INTL_PRESSURE), check_display_value(last_value_BMP_P / 100.0f, (-1 / 100.0f), 2, 0), unit_P);
1545+
add_table_value(FPSTR(SENSORS_BMP180), FPSTR(INTL_PRESSURE_AT_SEALEVEL), last_value_BMP_P != -1.0f ? String(pressure_at_sealevel(last_value_BMP_T, last_value_BMP_P / 100.0f), 2) : "-", unit_P);
14961546
page_content += FPSTR(EMPTY_ROW);
14971547
}
14981548
if (cfg::bmx280_read) {
14991549
const char* const sensor_name = (bmx280.sensorID() == BME280_SENSOR_ID) ? SENSORS_BME280 : SENSORS_BMP280;
15001550
add_table_t_value(FPSTR(sensor_name), FPSTR(INTL_TEMPERATURE), last_value_BMX280_T);
15011551
add_table_value(FPSTR(sensor_name), FPSTR(INTL_PRESSURE), check_display_value(last_value_BMX280_P / 100.0f, (-1 / 100.0f), 2, 0), unit_P);
1552+
add_table_value(FPSTR(sensor_name), FPSTR(INTL_PRESSURE_AT_SEALEVEL), last_value_BMX280_P != -1.0f ? String(pressure_at_sealevel(last_value_BMX280_T, last_value_BMX280_P / 100.0f), 2) : "-", unit_P);
15021553
if (bmx280.sensorID() == BME280_SENSOR_ID) {
15031554
add_table_h_value(FPSTR(sensor_name), FPSTR(INTL_HUMIDITY), last_value_BME280_H);
1555+
dew_point_temp = dew_point(last_value_BMX280_T, last_value_BME280_H);
1556+
add_table_value(FPSTR(sensor_name), FPSTR(INTL_DEW_POINT), isnan(dew_point_temp) ? "-" : String(dew_point_temp,1), unit_T);
15041557
}
15051558
page_content += FPSTR(EMPTY_ROW);
15061559
}
15071560
if (cfg::sht3x_read) {
15081561
add_table_t_value(FPSTR(SENSORS_SHT3X), FPSTR(INTL_TEMPERATURE), last_value_SHT3X_T);
15091562
add_table_h_value(FPSTR(SENSORS_SHT3X), FPSTR(INTL_HUMIDITY), last_value_SHT3X_H);
1563+
dew_point_temp = dew_point(last_value_SHT3X_T, last_value_SHT3X_H);
1564+
add_table_value(FPSTR(SENSORS_SHT3X), FPSTR(INTL_DEW_POINT), isnan(dew_point_temp) ? "-" : String(dew_point_temp,1), unit_T);
15101565
page_content += FPSTR(EMPTY_ROW);
15111566
}
15121567
if (cfg::ds18b20_read) {
@@ -1647,11 +1702,9 @@ static void webserver_status() {
16471702
end_html_page(page_content);
16481703
}
16491704

1650-
16511705
/*****************************************************************
16521706
* Webserver read serial ring buffer *
16531707
*****************************************************************/
1654-
16551708
static void webserver_serial() {
16561709
String s(Debug.popLines());
16571710

@@ -2093,6 +2146,9 @@ static void connectWifi() {
20932146

20942147
#if defined(ESP8266)
20952148
WiFi.hostname(cfg::fs_ssid);
2149+
if (addr_static_ip.fromString(cfg::static_ip) && addr_static_subnet.fromString(cfg::static_subnet) && addr_static_gateway.fromString(cfg::static_gateway) && addr_static_dns.fromString(cfg::static_dns)) {
2150+
WiFi.config(addr_static_ip, addr_static_subnet, addr_static_gateway, addr_static_dns, addr_static_dns);
2151+
}
20962152
#endif
20972153

20982154
#if defined(ESP32)
@@ -2130,7 +2186,6 @@ static void connectWifi() {
21302186
}
21312187
}
21322188

2133-
21342189
static WiFiClient* getNewLoggerWiFiClient(const LoggerEntry logger) {
21352190

21362191
WiFiClient* _client;

airrohr-firmware/defines.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121

2222
#define LEN_DNMS_CORRECTION 8
2323
#define LEN_TEMP_CORRECTION 8
24+
#define LEN_HEIGHT_ABOVE_SEALEVEL 8
2425

2526
#define LEN_SENSEBOXID 30
2627

2728
#define LEN_HOST_INFLUX 100
2829
#define LEN_URL_INFLUX 100
2930
#define LEN_USER_INFLUX 65
31+
#define LEN_PASS_INFLUX 90
3032
#define LEN_MEASUREMENT_NAME_INFLUX 100
3133

3234
#define LEN_HOST_CUSTOM 100

airrohr-firmware/intl_bg.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ const char INTL_SHT3X[] PROGMEM = "SHT3X ({t}, {h})";
3333
const char INTL_DNMS[] PROGMEM = "DNMS ({l_a})";
3434
const char INTL_DNMS_CORRECTION[] PROGMEM = "корекция в dB (A)";
3535
const char INTL_TEMP_CORRECTION[] PROGMEM = "Корекция в °C";
36+
const char INTL_HEIGHT_ABOVE_SEALEVEL[] PROGMEM = "";
37+
const char INTL_PRESSURE_AT_SEALEVEL[] PROGMEM = "";
3638
const char INTL_NEO6M[] PROGMEM = "GPS (NEO 6M)";
3739
const char INTL_BASICAUTH[] PROGMEM = "Оторизация";
3840
#define INTL_REPORT_ISSUE "Подаване на сигнал за проблем"
@@ -49,6 +51,13 @@ const char INTL_LCD1602_27[] PROGMEM = "LCD 1602 (I2C: 0x27)";
4951
const char INTL_LCD1602_3F[] PROGMEM = "LCD 1602 (I2C: 0x3F)";
5052
const char INTL_LCD2004_27[] PROGMEM = "LCD 2004 (I2C: 0x27)";
5153
const char INTL_LCD2004_3F[] PROGMEM = "LCD 2004 (I2C: 0x3F)";
54+
55+
#define INTL_STATIC_IP_TEXT ""
56+
const char INTL_STATIC_IP[] PROGMEM = "";
57+
const char INTL_STATIC_SUBNET[] PROGMEM = "";
58+
const char INTL_STATIC_GATEWAY[] PROGMEM = "";
59+
const char INTL_STATIC_DNS[] PROGMEM = "";
60+
5261
const char INTL_DISPLAY_WIFI_INFO[] PROGMEM = "Показване на WiFi информация";
5362
const char INTL_DISPLAY_DEVICE_INFO[] PROGMEM = "Информация за устройството на дисплея";
5463
const char INTL_DEBUG_LEVEL[] PROGMEM = "Debug&nbsp;Level";
@@ -98,6 +107,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Прахови частици";
98107
const char INTL_TEMPERATURE[] PROGMEM = "Температура";
99108
const char INTL_HUMIDITY[] PROGMEM = "Влажност на въздуха";
100109
const char INTL_PRESSURE[] PROGMEM = "Атмосферно налягане";
110+
const char INTL_DEW_POINT[] PROGMEM = "";
101111
const char INTL_LEQ_A[] PROGMEM = "LAeq";
102112
const char INTL_LA_MIN[] PROGMEM = "LA min";
103113
const char INTL_LA_MAX[] PROGMEM = "LA max";

airrohr-firmware/intl_cn.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ const char INTL_DS18B20[] PROGMEM = "DS18B20({t})";
3434
const char INTL_DNMS[] PROGMEM = "DNMS({l_a})";
3535
const char INTL_DNMS_CORRECTION[] PROGMEM = "修正,单位:dB(A)";
3636
const char INTL_TEMP_CORRECTION[] PROGMEM = "以℃为单位进行校正";
37+
const char INTL_HEIGHT_ABOVE_SEALEVEL[] PROGMEM = "";
38+
const char INTL_PRESSURE_AT_SEALEVEL[] PROGMEM = "";
3739
const char INTL_NEO6M[] PROGMEM = "GPS(NEO 6M)";
3840
const char INTL_BASICAUTH[] PROGMEM = "认证";
3941
#define INTL_REPORT_ISSUE "报告问题"
@@ -52,6 +54,13 @@ const char INTL_LCD2004_27[] PROGMEM = "LCD 2004 (I2C: 0x27)";
5254
const char INTL_LCD2004_3F[] PROGMEM = "LCD 2004 (I2C: 0x3F)";
5355
const char INTL_DISPLAY_WIFI_INFO[] PROGMEM = "显示Wifi信息";
5456
const char INTL_DISPLAY_DEVICE_INFO[] PROGMEM = "显示设备信息";
57+
58+
#define INTL_STATIC_IP_TEXT ""
59+
const char INTL_STATIC_IP[] PROGMEM = "";
60+
const char INTL_STATIC_SUBNET[] PROGMEM = "";
61+
const char INTL_STATIC_GATEWAY[] PROGMEM = "";
62+
const char INTL_STATIC_DNS[] PROGMEM = "";
63+
5564
const char INTL_DEBUG_LEVEL[] PROGMEM = "Debug&nbsp;级别";
5665
const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "测量间隔(秒)";
5766
const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "持续时间路由器模式";
@@ -99,6 +108,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "颗粒物";
99108
const char INTL_TEMPERATURE[] PROGMEM = "温度";
100109
const char INTL_HUMIDITY[] PROGMEM = "湿度";
101110
const char INTL_PRESSURE[] PROGMEM = "气压";
111+
const char INTL_DEW_POINT[] PROGMEM = "";
102112
const char INTL_LEQ_A[] PROGMEM = "LAeq";
103113
const char INTL_LA_MIN[] PROGMEM = "LA min";
104114
const char INTL_LA_MAX[] PROGMEM = "LA最大";

airrohr-firmware/intl_cz.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ const char INTL_DS18B20[] PROGMEM = "DS18B20 ({t})";
3434
const char INTL_DNMS[] PROGMEM = "DNMS ({l_a})";
3535
const char INTL_DNMS_CORRECTION[] PROGMEM = "Korekce v dB (A)";
3636
const char INTL_TEMP_CORRECTION[] PROGMEM = "Korekce ve °C";
37+
const char INTL_HEIGHT_ABOVE_SEALEVEL[] PROGMEM = "";
38+
const char INTL_PRESSURE_AT_SEALEVEL[] PROGMEM = "";
3739
const char INTL_NEO6M[] PROGMEM = "GPS (NEO 6M)";
3840
const char INTL_BASICAUTH[] PROGMEM = "Pøihlášení (heslem)";
3941
#define INTL_REPORT_ISSUE "Nahlásit problém"
@@ -52,6 +54,13 @@ const char INTL_LCD2004_27[] PROGMEM = "LCD 2004 (I2C: 0x27)";
5254
const char INTL_LCD2004_3F[] PROGMEM = "LCD 2004 (I2C: 0x3F)";
5355
const char INTL_DISPLAY_WIFI_INFO[] PROGMEM = "Zobrazit informace o WiFi";
5456
const char INTL_DISPLAY_DEVICE_INFO[] PROGMEM = "Zobrazit informace o zařízení";
57+
58+
#define INTL_STATIC_IP_TEXT ""
59+
const char INTL_STATIC_IP[] PROGMEM = "";
60+
const char INTL_STATIC_SUBNET[] PROGMEM = "";
61+
const char INTL_STATIC_GATEWAY[] PROGMEM = "";
62+
const char INTL_STATIC_DNS[] PROGMEM = "";
63+
5564
const char INTL_DEBUG_LEVEL[] PROGMEM = "Ladìní&nbsp;Úroveò";
5665
const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Interval mìøení";
5766
const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Trvání&nbsp;Mód routeru";
@@ -99,6 +108,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "prachových èástic";
99108
const char INTL_TEMPERATURE[] PROGMEM = "teplota";
100109
const char INTL_HUMIDITY[] PROGMEM = "rel. vlhkost";
101110
const char INTL_PRESSURE[] PROGMEM = "tlak vzduchu";
111+
const char INTL_DEW_POINT[] PROGMEM = "";
102112
const char INTL_LEQ_A[] PROGMEM = "LAeq";
103113
const char INTL_LA_MIN[] PROGMEM = "LA min";
104114
const char INTL_LA_MAX[] PROGMEM = "LA max";

airrohr-firmware/intl_de.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ const char INTL_DS18B20[] PROGMEM = "DS18B20 ({t})";
3434
const char INTL_DNMS[] PROGMEM = "DNMS ({l_a})";
3535
const char INTL_DNMS_CORRECTION[] PROGMEM = "Korrekturwert&nbsp;in&nbsp;dB(A)";
3636
const char INTL_TEMP_CORRECTION[] PROGMEM = "Korrekturwert in °C";
37+
const char INTL_HEIGHT_ABOVE_SEALEVEL[] PROGMEM = "Höhe über Meeresspiegel (m)";
38+
const char INTL_PRESSURE_AT_SEALEVEL[] PROGMEM = "Luftdruck auf Meereshöhe";
3739
const char INTL_NEO6M[] PROGMEM = "GPS (NEO 6M)";
3840
const char INTL_BASICAUTH[] PROGMEM = "BasicAuth aktivieren";
3941
#define INTL_REPORT_ISSUE "Ein Problem melden"
@@ -52,6 +54,13 @@ const char INTL_LCD2004_27[] PROGMEM = "LCD 2004 (I2C: 0x27)";
5254
const char INTL_LCD2004_3F[] PROGMEM = "LCD 2004 (I2C: 0x3F)";
5355
const char INTL_DISPLAY_WIFI_INFO[] PROGMEM = "Zeige WiFi Info";
5456
const char INTL_DISPLAY_DEVICE_INFO[] PROGMEM = "Zeige Geräteinfo";
57+
58+
#define INTL_STATIC_IP_TEXT "Konfiguration statische IP Adresse (alle Felder müssen ausgefüllt sein)"
59+
const char INTL_STATIC_IP[] PROGMEM = "IP-Adresse";
60+
const char INTL_STATIC_SUBNET[] PROGMEM = "Subnet";
61+
const char INTL_STATIC_GATEWAY[] PROGMEM = "Gateway";
62+
const char INTL_STATIC_DNS[] PROGMEM = "DNS Server";
63+
5564
const char INTL_DEBUG_LEVEL[] PROGMEM = "Debug&nbsp;Level";
5665
const char INTL_MEASUREMENT_INTERVAL[] PROGMEM = "Messintervall";
5766
const char INTL_DURATION_ROUTER_MODE[] PROGMEM = "Dauer&nbsp;Routermodus";
@@ -99,6 +108,7 @@ const char INTL_PARTICULATE_MATTER[] PROGMEM = "Feinstaub";
99108
const char INTL_TEMPERATURE[] PROGMEM = "Temperatur";
100109
const char INTL_HUMIDITY[] PROGMEM = "rel. Luftfeuchte";
101110
const char INTL_PRESSURE[] PROGMEM = "Luftdruck";
111+
const char INTL_DEW_POINT[] PROGMEM = "Taupunkt";
102112
const char INTL_LEQ_A[] PROGMEM = "LAeq";
103113
const char INTL_LA_MIN[] PROGMEM = "LA min";
104114
const char INTL_LA_MAX[] PROGMEM = "LA max";

0 commit comments

Comments
 (0)